1条回答 默认 最新
- joel_1993 2021-10-22 10:30关注
你好,代码供参考:
function eulerMain %主函数 odefun = @(t,y) [y^2+t];% 构建微分方程 y0 = [1]; % 设置初值y(0)=1 tspan = [0, 0.8];% 微分方程求解时间跨度 [t,y] = euler(odefun, tspan, y0);%利用欧拉法求odefun plot(t,y)%画图 xlabel('t') ylabel('y') end function [t, y] = euler(odefun, tspan, y0) % odefun ode函数 % tspan: 求解时间范围 % x0:初值 t = tspan(:); if(numel(tspan)==2) t = linspace(tspan(1), tspan(2), 1001)'; end dy0 = odefun(t(1), y0); y = zeros(numel(t), numel(dy0)); y(1,:) = y0(:); for i = 2:1:numel(t) y(i,:) = y(i-1,:) + odefun(t(i-1),y(i-1,:))'*(t(i)-t(i-1));%向前欧拉积分 end end
欧拉法效果
有帮助望采纳哟谢谢啦
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 我这个代码哪里有问题 acm 平台上显示错误 90%,我自己运行好像没什么问题
- ¥50 C#编程中使用printDocument类实现文字排版打印问题
- ¥15 找会编程的帅哥美女 可以用MATLAB里面的simulink编程,用Keil5编也可以。
- ¥15 已知隐函数其中一个变量τ的具体值,求另一个变量
- ¥15 r语言Hurst指数
- ¥15 Acrn IVSHMEM doorbell问题
- ¥15 yolov5中的val测试集训练时数量变小问题
- ¥15 MPLS/VPN实验中MPLS的配置问题
- ¥15 materialstudio氢键计算问题
- ¥15 echarts图表制作