
如何用matlab计算微分原方程
1个回答
2015-03-09 · 知道合伙人互联网行家
关注

展开全部
我只有欧拉法可以吗。我有前欧拉法和后欧拉法。你要哪个呢?
先给你前欧拉法
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是初值

2021-11-22 广告
假设条件在短路的实际计算中, 为了能在准确范围内迅速地计算短路电流, 通常采取以下简化假设。(1)不考虑发电机的摇摆现象。(2)不考虑磁路饱和,认为短路回路各元件的电抗为常数。(3)不考虑线路对地电容, 变压器的磁支路和高压电网中的电阻, ...
点击进入详情页
本回答由北京埃德思远电气技术咨询有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询