如何用matlab计算微分方程的初值问题
如何用matlab计算微分方程的初值问题求解析解和数值解要求不用matlab的内部函数用欧拉法欧拉改进法梯形叠代法高手们给出程序软件实习要用谢谢方程如下y'=-2*x*y...
如何用matlab计算微分方程的初值问题
求解析解和数值解
要求不用matlab的内部函数
用欧拉法 欧拉改进法 梯形叠代法
高手们给出程序
软件实习要用
谢谢
方程如下
y'=-2*x*y
y(0)=1 展开
求解析解和数值解
要求不用matlab的内部函数
用欧拉法 欧拉改进法 梯形叠代法
高手们给出程序
软件实习要用
谢谢
方程如下
y'=-2*x*y
y(0)=1 展开
2个回答
展开全部
我只有欧拉法可以吗。我有前欧拉法和后欧拉法。你要哪个呢?
先给你前欧拉法
function [tF,yF] = ForwardEuler(f,a,b,h,y0)
N = fix((b - a)/h);
t=a %set initial values
y=y0
tF = zeros(N+1,1); % initialize tF and yF with zero arrays
yF = zeros(N+1,length(y));
tF(1) = t; % store initial values in arrays tF, yF
yF(1,:) = y.'; % Note: y values are stored as ROW of array yF
for i=1:N
y = y + h*feval(f,t,y); % evaluate slope= feval(f,t,y);
t = t + h;
tF(i+1,:) = t; % store new values in arrays tF, yF
yF(i+1,:) = y.'; % Note: y values are stored as ROW of array yF
end
运行之后调入你的函数就ok了。【a,b】是范围,h是步长,y0是初值
先给你前欧拉法
function [tF,yF] = ForwardEuler(f,a,b,h,y0)
N = fix((b - a)/h);
t=a %set initial values
y=y0
tF = zeros(N+1,1); % initialize tF and yF with zero arrays
yF = zeros(N+1,length(y));
tF(1) = t; % store initial values in arrays tF, yF
yF(1,:) = y.'; % Note: y values are stored as ROW of array yF
for i=1:N
y = y + h*feval(f,t,y); % evaluate slope= feval(f,t,y);
t = t + h;
tF(i+1,:) = t; % store new values in arrays tF, yF
yF(i+1,:) = y.'; % Note: y values are stored as ROW of array yF
end
运行之后调入你的函数就ok了。【a,b】是范围,h是步长,y0是初值
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询