Matlab - 求解微分方程

时间:2014-09-29 22:46:28

标签: matlab ode

我正试图解决这个等式:

y''+ 3yy'',y(0)= 0; Y(2)= 1

我尝试过使用bvp4c,我知道我必须把它变成DE系统,但我真的被卡住了,任何帮助都会受到赞赏,谢谢:)

我试过这个,但实际上只是猜测

function sss=sos()
solinit=bvpinit(linspace(0,2,10),[1,0,0]);
answ=bvp4c(@twoode,@bcfun,solinit)
x=linspace(0,2);
y=deval(answ,x);
plot(x,y(1,:));
end

function dydx=twoode(x,y)
dydx=[y(3),3*y(1)+y(2)];
end

function res=bcfun(ya,yb)
res=[ya(1),yb(1)+2];
end

1 个答案:

答案 0 :(得分:0)

开头(如果原始等式为y'' + 3 * y * y' = 0)

function sss = sos()
solinit = bvpinit(linspace(0, 2, 10), [1, 0]);
answ = bvp4c(@twoode, @bcfun, solinit);
x = linspace(0, 2);
y = deval(answ, x);
plot(x, y(1, :));
end

function dydx = twoode(x, y)
dydx = [y(2); -3 * y(1) * y(2)];
end

function res = bcfun(ya, yb)
res = [ya(1); yb(1) - 1];
end

Graph