鉴于柯西问题
y '= (y-1) ^ 2 (y-2) (ya) 和 y(1) = y0;
其中 a = 0、a = 1 或 a = 2:
编写一个程序,在不同的情况下得出问题的解决方案。它必须符合以下步骤: a) 程序将输入变量。
b) 将视口划分为三个子图,位于两个...中(第一个和第二个中的两个)。如果第一个子图选择 a = 0,则使用命令,如果 a = 1,则选择第二个,如果 a = 2,则选择第三个。
c) 创建一个坐标轴固定大小 [1, 10] x [-1, 3]。使用命令 ode45 并绘制红色固定点。放置轴名称和标题图,指示我们的情况(a = 0,a = 1 或 a = 2)。
这是我的决议:
function exercise6(a)
disp('partB')
f=inline('(y-1)^2*(y-2)(y-a)','y','a');
if a==0
subplot(2,2,1)
hold on
end
if a==1
subplot(2,2,2)
hold on
end
if a==2
subplot(2,2,3)
hold on
end
disp('partC')
%f=inline('(y-1)^2*(y-2)(y-a)','y','a');
linspace(-1,3,50)
axis([-1,3,1,10])
[t,y]=ode45(inline('(y-1)^2*(y-2)(y-a)','y','a'),'0');
[t2,y2]=ode45(inline('(y-1)^2*(y-2)(y-a)','y','a'),'1');
[t3,y3]=ode45(inline('(y-1)^2*(y-2)(y-a)','y','a'),'2');
plot(t,y,'r')
plot(t2,y2,'r')
plot(t3,y3,'r')
if a ~= 0,1,2
disp('must take values 0,1,2')
和错误:
使用 inline/feval 时出错(第 25 行)内联函数的输入过多。
odearguments 错误(第 38 行) [def_tspan,def_y0,def_options] = feval(ode,[],[],'init',extras{:});
ode45 错误(第 114 行)[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ...
Ejercicio6 中的错误(第 23 行)[t,y]=ode45(inline('(y-1)^2*(y-2)(ya)','y','a'),'0');
请问有什么解决办法吗?
谢谢 :)