• qiansliyong
    了解作者
  • matlab
    开发工具
  • 1KB
    文件大小
  • zip
    文件格式
  • 1
    收藏次数
  • 10 积分
    下载积分
  • 1
    下载次数
  • 2021-04-12 23:03
    上传日期
分别采用欧拉法、改进欧拉法和隐式梯形法解一阶非线性微分方程dx/dt=ax。
微分方程求解.zip
  • main.m
    366B
  • forw_euler.m
    251B
  • Trapezoid.m
    517B
  • Improved_euler.m
    310B
内容介绍
function [t,result3]=Trapezoid(x0, ts, te, N) x=zeros(1,N); dt = (te-ts)/N; t = ts:dt:te-dt; %% 隐式梯形法 x(1) = x0; for i=2:N xi=x(i-1)+x(i-1)*(-20)*dt; done = 0; while ~done x(i)=x(i-1)+(x(i-1)+xi)*(-20)*dt/2; done = (abs(x(i) - xi) < 1e-6 ); xi = x(i); end end result3=x; %plot(t,result3,'-*'); %xlabel('t'); %ylabel('x'); %legend('隐式梯形法'); %% another way %lambda = 20; %y0=1; %tspan = [0 1]; ode23(@(t,y) -lambda*y, tspan, y0); plot(t,y(:,1));
评论
    相关推荐