日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

matlab:欧拉方法求解微分方程

發布時間:2024/5/8 102 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab:欧拉方法求解微分方程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

參考書籍:常用數值算法及其matlab實現,作者:夏省祥
%第10章 常微分方程初值問題的數值解法
%歐拉方法,例10.1

%書籍:常用數值算法及其matlab實現 %第10章 常微分方程初值問題的數值解法 %歐拉方法 function E = eulerdif(fun, a, b, y0, h) %fun:微分方程的右表達式 %a, b 為區間 %y0 為初值 M = floor(b-a)/h ; %離散點的個數M+1 T =zeros(1, M+1); Y =zeros(1, M+1); %行向量 T = a:h:b; Y(1) = y0; for i = 1:MY(i+1) = Y(i) +h *feval(fun, T(i), Y(i)); end E = [T' Y']; %E是M+1行,2列% function E = eulerdif(fun, a, b, y0, h) % %fun:微分方程的右表達式 % %a, b 為區間 % %y0 為初值 % M = floor(b-a)/h ; %離散點的個數M+1 % T =zeros( M+1,1); Y =zeros( M+1,1); %列向量 % T = a:h:b; % Y(1) = y0; % for i = 1:M % Y(i+1) = Y(i) +h *feval(fun, T(i), Y(i)); % end % E = [T Y]; %E是M+1行,2列

%書籍:常用數值算法及其matlab實現 %第10章 常微分方程初值問題的數值解法 %歐拉方法,例10.1 %function E = eulerdif(fun, a, b, y0, h) clear all;clc;close all; %fun =@(x,y)-3*x*y; fun = inline('-3*x*y'); a = 0; b =2; y0 = 1; h = 0.1 E = eulerdif(fun, a, b, y0, h); plot(E(:,1),E(:,2) ,'r*-'); hold on;exa10_1 = dsolve('Dy = -3*x*y', 'y(0) = 1', 'x'); %求出解析解 ezplot(exa10_1, [0 2]); %畫出解析解的圖像 legend('數值解','解析解' )

運行結果如下:

?

總結

以上是生活随笔為你收集整理的matlab:欧拉方法求解微分方程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。