?? myeuler.m
字號:
function [outx,outy]=MyEuler(fun,x0,xt,y0,PointNum)
%MyEuler 用前向差分的歐拉方法解微分方程
%fun 表示f(x,y)
%x0,xt表示自變量的初值和終值
%y0表示函數在x0處的值,其可以為向量形式
%PointNum表示自變量在[x0,xt]上取的點數
if nargin<5 | PointNum<=0 %如果函數僅輸入4個參數值,則PointNum默認值為100
PointNum=100;
end
if nargin<4 %y0默認值為0
y0=0;
end
h=(xt-x0)/PointNum;%計算步長h
x=x0+[0:PointNum]'*h;%自變量數組
y(1,:) = y0(:)';%將輸入存為行向量,輸入為列向量形式
for k = 1:PointNum
f=feval(fun,x(k),y(k,:));%計算f(x,y)在每個迭代點的值
f=f(:)';
y(k + 1,:) =y(k,:) +h*f; %對于所取的點x迭代計算y值
end
outy=y;
outx=x;
%plot(x,y)%畫出方程解的函數圖
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -