考虑
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以相当直接的方式绘制两个函数的示例。
这里有什么问题?
答案 0 :(得分:1)
您是计划以一般形式绘制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