Matlab 語言編程基礎(矩陣的建立及使用方法、矩陣運算基礎、線性方程求解、選擇、循環{求和、迭代}、函數的定義及使用方法) (40分)編程
曲線的繪製(掌握一元函數圖形的繪製方法,以及參數曲線的繪製方法; 掌握plot, ezplot,plot3,ezplot3等函數的用法;掌握基本的圖形標註命令) (15分左右)函數
曲面的繪製(掌握二元函數圖形的繪製方法,以及參數曲面的繪製方法;掌握 mesh,ezmesh等函數的用法)(15分左右)spa
非線性方程(組)求解 (掌握用fzero求非線性方程的根,以及用 fsolve求解非線性方程組的方法)(10分)ip
數值積分和符號積分(掌握trapz,quadl,dblquad, integral2, integral3等函數的用法) (10分左右)數學
常微分方程(組)求解 (掌握利用ode45求解常微分方程和常微分方程組的方法) (10分)域名
1) 經常使用的數值積分方法it
2) Matlab中數值微分和積分的函數:diff基礎
3) 數值導數變量
方向導數gradient循環
例:» clear;x=[1 1.1 1.2 1.3];y=x.^3;
» dy=diff(y)./diff(x)
» dy=gradient(y,x)
» 3*x.^2
利用梯形法求積分
例題:
n 微分方程:含有未知函數及其某些階導數以及自變量自己的方程稱爲微分方程
n 常微分方程:未知函數是一元函數
n 偏微分方程:含有偏導數的微分方程,其解爲多元函數u(t,x,y,z)。
n 微分方程組:聯繫一些未知函數x(t), y(t), z(t), … 的一組微分方程。
n 微分方程的階:微分方程中出現的未知函數的導數的最高階數
n (2)常係數線性微分方程的特徵根法
n 線性方程: y(n) + a1 (t) y(n-1) + …
n + an-1 (t) y’ + an (t) y = b(t)
n 常係數方程: 若ai (t) (i =1, …,n) 與t無關。
n 齊次方程: 若b(t)=0。
n y(n) + a1 y(n-1) + … + an-1 y’ + an y = 0
n 線性常係數齊次微分方程的解可用特徵根法求得.
n ln+a1 ln-1+ … +an-1 l+an=0
n 非齊次方程的解爲一個特解和相應的齊次方程通解的疊加。
n 變係數方程可嘗試常數變易法。
n 例6.1 求x’’+ 0.2 x’+3.92x = 0的通解
n 解 特徵方程爲l2 + 0.2l +3.92=0
n » roots([1 0.2 3.92]
n 求得共軛復根 a ±bi=-0.1±1.9774i,
ode45函數
例6.2 解微分方程 y’ -y+2t/y=0, y(0)=1(初值向量1), 0<t<4 (自變量的初值0,4)
將方程整理爲標準形式y’ = y-2t/y。
程序:
odefun= @(t,y)y-2*t/y ;
>> [t,y]=ode45(odefun,[0,4],1); [t,y]
>> plot(t,y,'o')
>> ode45(odefun,0:1:4,1);%(輸出結點列向量)
>> [t,y]=ode45(odefun,0:1:4,1);[t,y]
例二
【0 30】自定義x的範圍,【1;0.5】初值解的值
例三(高階)
Y0是初值解
例6.5求解邊值問題
解首先改寫爲標準形式。
令y(1)= z, y(2)= z’, 則方程爲
y’(1)=y(2), y’(2) = -y(2)sin(y(1))
邊界條件爲
ya(1)=0, yb(1)+2=0
程序:eg6_5.m
%根據z初始值預估:z=-1,z’=0
clear;close;
sinit=bvpinit(0:4,[-1;0])
%[-1;0]是常數猜想值z=-1, z’=0
bcfun=@(ya,yb)[ya(1);yb(1)+2];
sol=bvp5c(odefun,bcfun,sinit) %注意sol的域名
t=linspace(0,4,101);
y=deval(sol,t);
plot(t,y(1,:),sol.x,sol.y(1,:),'o',sinit.x,sinit.y(1,:),'s')
legend('解曲線','解點','粗略解')