求助:两道基本的Matlab题

来源:百度知道 编辑:UC知道 时间:2024/06/05 19:33:16
一、求解初值问题{y'=(y-3x/y)3/2 (0<x<1) y(0)=1

二、 :
(1)利用改进欧拉法求解常微分方程初值问题的数值解,并利用最小二乘法拟合上述数值解的近似曲线方程;(2)建议使用matlab实现x该实验;(3)问题,程序,计算结果及分析。

能写多少是多少
重谢

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fun=inline('(y-3*x/y)*1.5','x','y')
[x,y]=ode45(fun,[0,1],1);
plot(x,y,'-b'),hold on;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%结果:
%fun =

% Inline function:
% fun(x,y) = (y-3*x/y)*1.5

%画出的图就是求出的函数在(0,1)上的图像。
%x,y向量中存的数就是对应于每个x的y值

%二、
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fun=inline('(y-3*x/y)*1.5','x','y');
x0=0;
y0=1;
x=x0;
y=y0;
h=0.01;
for i=1:100
yp=y0+h*fun(x0,y0);
x0=x0+h;
yc=y0+h*fun(x0,yp);
y0=(yp+yc)/2;
x=[x,x0];
y=[y,y0];
end

plot(x,y,'r')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%程序没问题,我都执行过了,你把所有的文字拷到matlab里执行下
%两个方法得到的图(红线和蓝线)重合的

%要怎么重谢啊?^_^,给我追加分吧