用matlab求y=f(x),y''=y^2的数值解,待解方程为:y=f(x),y''=y^2,即y的二阶导等于y的平方边界条件:y(0)=1,y'(100)=0用matlab函数ode45求解function dy=test(x,y)dy=zeros(2,1);dy(1)=y(2);dy(2)=[y(1)]^1;end[X,Y]=ode45('test',[0 100

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/19 22:48:03
用matlab求y=f(x),y''=y^2的数值解,待解方程为:y=f(x),y''=y^2,即y的二阶导等于y的平方边界条件:y(0)=1,y'(100)=0用matlab函数ode45求解function dy=test(x,y)dy=zeros(2,1);dy(1)=y(2);dy(2)=[y(1)]^1;end[X,Y]=ode45('test',[0 100
x]odǿJTՖLk]$!P"e1v*hnEjKuӠ***ine~_qc?cV.KwrX'Iљg/cT?<%yߜn{Knwc8CӚ}) o흅4dc45jݿUS8:⒡غidTG5ƪ}G[4-!h|Fu0L0Oh Fɰ$2:+/t(_3 tWWhD$:IsI\#8qB0EdU tdMsZ0:>q;Zmոֺ@qZ㝗fϼFRx' Əș!+sEU>hR` ԃݟO޼5$^e!(wÀCxbЪ/Áld<̺t/ͻA{?^&5:ne֚|,NݖD5l@AcVN\(Ѹ ٪[;.Zeаo3t93OĮȮ^85t2䜬Eߦ 2]p.9%aFB %")FOqUxM2`!DQV"Iidia%0 _+eӎ+\&n#Uhr}As0 Oh$Ǣү))?:vmyZ9/(eɲ Oy"c-*Dɶ+7HR͖JɴM++KUNIW%t}_k{9"-! 42("sPYQXV֦TF&dzƫjSU)N)h,0l.iZި{+劬0Mq*rOɒDMEH/c.ܑ

用matlab求y=f(x),y''=y^2的数值解,待解方程为:y=f(x),y''=y^2,即y的二阶导等于y的平方边界条件:y(0)=1,y'(100)=0用matlab函数ode45求解function dy=test(x,y)dy=zeros(2,1);dy(1)=y(2);dy(2)=[y(1)]^1;end[X,Y]=ode45('test',[0 100
用matlab求y=f(x),y''=y^2的数值解,
待解方程为:y=f(x),y''=y^2,即y的二阶导等于y的平方
边界条件:y(0)=1,y'(100)=0
用matlab函数ode45求解
function dy=test(x,y)
dy=zeros(2,1);
dy(1)=y(2);
dy(2)=[y(1)]^1;
end
[X,Y]=ode45('test',[0 100],[1 ]); 这个地方就不会写了
看教程这个‘?’地方应该是填y'(0)的值,由于不知道y'(0)的值,只知道y'(100)=0

用matlab求y=f(x),y''=y^2的数值解,待解方程为:y=f(x),y''=y^2,即y的二阶导等于y的平方边界条件:y(0)=1,y'(100)=0用matlab函数ode45求解function dy=test(x,y)dy=zeros(2,1);dy(1)=y(2);dy(2)=[y(1)]^1;end[X,Y]=ode45('test',[0 100
分析
这是个边值问题(BVP),不是初值问题.求解边值问题不能用ode系列函数,需要用专门的求解器.下面给你参考代码,涉及到的函数主要有bvpinit、bvp4c、deval,请自行参阅相关函数的说明.
 
参考代码
dydx = inline('[y(2); y(1)^2]', 'x', 'y');
bc = inline('[ya(1)-1; yb(2)]', 'ya', 'yb');
sol = bvpinit(linspace(0,100,50),[0 0]);
sol = bvp4c(dydx, bc, sol);
x = linspace(0,100);
y = deval(sol,x);

subplot 211
plot(x,y(1,:));
xlabel('Time (s)'); ylabel('y');
subplot 212
plot(x,y(2,:));
xlabel('Time (s)'); ylabel('y''');
 
结果