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('解曲线','解点','粗略解')