Рассмотреть возможность
x_1 = @(A,t,C_prey)C_prey*exp(t*A)
а также
x_2 = @(B,t,C_prey,C_predator)C_prey*exp(t*(-B*C_predator))
Для начала:
fplot(x_1([0.01 0.05 0.08],t,1),[0,0.1])
а также
fplot(x_2([0.01 0.05 0.08],t,1,1),[0,0.1])
Но когда я пытаюсь построить их вместе
fplot(x_1([0.01 0.05 0.08],t,1),x_2([0.01 0.05 0.08],t,1,1))
Мне подсказывает MATLAB с Error updating ParameterizedFunctionLine.
Не похоже, что мой синтаксис неправильный, поскольку документация MATLAB дала пример построения двух функций с помощью fplot довольно простым способом.
Что здесь не так?





Планируете ли вы построить 2 функции в общем виде или 1 функцию в параметрической форме? В первом случае, как сказал @SardarUsama, вам нужно исправить синтаксис, используя hold on. Такой как:
x_1 = @(A,t,C_prey)C_prey*exp(t*A);
x_2 = @(B,t,C_prey,C_predator)C_prey*exp(t*(-B*C_predator));
fplot(@(t)x_1([0.01 0.05 0.08],t,1), [0,0.1]);
hold on;
fplot(@(t)x_2([0.01 0.05 0.08],t,1,1), [0,0.1]);
grid on; hold off;
Здесь для каждого значения в A(or B):[0.01 0.05 0.08] вы получите 2 кривые (x_1 и x_2). Однако, если вы хотите построить только одну функцию в параметрической форме, вам нужно построить одну кривую для каждого значения A. Такой как:
A = [0.01 0.05 0.08];
figure; grid on; hold on;
for i=1:length(A)
fplot(@(t)x_1(A(i),t,1),@(t)x_2(A(i),t,1,1), [0,0.1]);
end
Это неверное утверждение.
fplot(x_1([0.01 0.05 0.08],t,1),[0,0.1])Почему бы вам не использовать просто использоватьhold on, как в документация. И не удаляйте свои вопросы только для того, чтобы задать их снова.