第四节matlab 数值计算.ppt

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四节matlab 数值计算

§4.5 矩阵运算 det(A) A的行列式 eig(A) A的特征值 norm(A,1) A的1范数 norm(A) A的2范数 norm(A,inf) A的无穷范数 norm(A,‘fro’) A的F范数 rank(A) A的秩 inv(A) A的逆矩阵 trace(A) A的迹:矩阵对角线元素之和 线性方程组的解法 它可以表示为 ,其中 线性方程组 利用左除运算符left division operation x=A\B 若方程是xC=d形式,就用“右除”,即x=d/C。 采用逆阵法x=inv(A)*B 但该法只适用于当A非奇异、维数较低且条件 较好时,使用范围有限。 上述方程组的解为: 例:分别采用逆阵法和左除法求解。 已知 ,求 ,使 解1:逆阵法 A=[1 0 1; 2 1 0; -3 2 -5]; b=[1 2 -1]’; X=inv(A)*b 解2:直接法 tic X=A\b toc 所以,左除法速度快,而且精度高。 Elapsed time is 36.672815 seconds. Elapsed time is 3.346355 seconds. §4.6 数据计算 求函数极值 一元函数在区间(x1,x2)中的极小值 求多元函数的极小值,指令fminsearch 求极大值:求-f(x)的极小值 图形法:指令[xx,yy]=ginput(1) 画出函数图形,观察其极值点,并在极值点附近进行局部放大,在指令窗运行ginput指令,鼠标变为十字型,对准极值点点击即可得到其数组。 [x,fval,exitflag,output]=fminbnd(fun,x1,x2,options) 例如:求函数 [0,3]之间的极大值。 程序如下: f=‘exp(-x).*sin(x)’; %字符串类型 fx=strcat(‘-’,f); %字符串连接符号 xmin=fminbnd(fx,0,3) %极小值 x=xmin; ymin=eval(f) %字符串演算指令 结果:极大值为(0.7854,0.3224) 代数方程的解:即f(x)=0的解 求零点fzero 解非线性方程组:指令fsolve fzero是根据函数是否穿越横轴来决定零点的。 因此它无法确定函数曲线仅触及横轴而不穿越的 那些零点。如:(x-1)2sinx中x=1的零点; [t,Y]=ode45(odefun,tspan,y0) 采用四阶龙格-库塔法数值积分法 解常数微分方程的解:指令ode45 例如:求方程组 在(0.5,0.5)附近的数值解。 解:1)建立函数文件 myfun.m function q=myfun(p) x=p(1);y=p(2); q(1)=x-0.6*sin(x)-0.3*cos(y); q(2)=y-0.6*cos(x)+0.3*sin(y); 2)在给定的初值下,调用fsolve函数 x=fsolve(myfun,[0.5,0.5]) q=myfun(x) §4.7 数值微积分 在MATLAB数值计算中,由于数值精度有 限,故不能表示无穷小量,也不能准确描 述一个数的邻域。所以: 不要企图借助数值计算求取极限 求微积分最好采用“符号计算” 利用数值计算求积分只能得到近似值 基本思想:将整个积分区间[a,b]分成n个子区间[xi,xi+1],i=1,2,…,n,其中x1=a,xn+1=b。这样求定积分问题就分解为求和问题。 数值积分 Sx=sum(X) 沿列方向求和 St=trapz(x,y) 采用梯形法沿列方向求函数y关于 自变量x的积分 例:求积分 。 程序如下: x=0:pi/100:pi; y=sin(x); s=trapz(x,y); %通用格式,用于“非等间隔采样” 或s=pi/100*trapz(y) %表示由x,y所绘出的折线下的面积 利用符号计算方法 syms x s=int(sin(x),x,0,pi) 显示结果为s=-2 显示结果s=-1.9998 S1=quad(fun,a,b,tol) 采用递推自适应Simpson法计算一重积分 S1=quadl(fun,a,b,t

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档