M的ATLAB基础.ppt

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

* 在MATLAB中不必描述矩阵的维数和类型,而由输入的格式和内容来决定。输入小矩阵最简单的方法:把矩阵的元素直接排列到方括号中。每行内的元素间用空格(space)或逗号(,)分开,行与行的内容间用分号(;)隔开。 * A(1:k,j)表示矩阵A的第j列的前k个元素。 A(:,j)表示矩阵A的第j列的所有元素。 * 把空的[ ]称为空矩阵,即矩阵大小为0×0。可以通过把矩阵的行或列赋值为空矩阵来删除某行或某列。 * 按照运算符的优先级可把算术运算符分为五级,在每一级里运算符有同样的优先级,在运算时自左向右结合; 使用+、-运算符,并满足以下两个条件之一: (1)类型相同,即行数相等,且列数相等。 (2)其中一个为标量,则矩阵中每一个元素都和标量做加减运算。 使用*运算符,必须满足维数条件。 除法运算其意义相当于矩阵的求逆运算。还定义了矩阵的左除及右除。 矩阵的左除: “\” A\B 即由Gauss消去法求线性方程AX=B的解X=A-1B 矩阵的右除: “/” B\A是方程XA=B的解X=BA-1 * * 例7-10 设有初值问题,试求其数值解,并与精确解相比较(精确解为y(t)=)。 (1) 建立函数文件funt.m。 function yp=funt(t,y) yp=(y^2-t-2)/4/(t+1); (2) 求解微分方程。 t0=0;tf=10; y0=2; [t,y]=ode23(funt,[t0,tf],y0); %求数值解 y1=sqrt(t+1)+1; %求精确解 t y y1 y为数值解,y1为精确值,显然两者近似。 课堂练习 当系数取a=9,b=27,c= - 2.36667,利用ODE45求在[0,50]处该常微分方程组的数值解,并画出其三维图像。 function dy = erigid(t,y) dy = zeros(3,1); % a column vector dy(1) = 9*(y(2)-y(1);) dy(2) = 27*y(1)-y(2)-y(1) * y(3); dy(3) = -2.36667 * y(3)+y(1) * y(2); [T,Y] = ode45(@erigid,[0 50],[0.1 0.1 0.1]); plot3(Y(:,1),Y(:,2),Y(:,3)) grid on 7.4 函数极值 MATLAB提供了基于单纯形算法求解函数极值的函数fmin和fmins,它们分别用于单变量函数和多变量函数的最小值,其调用格式为: x=fmin(fname,x1,x2) x=fmins(fname,x0) 这两个函数的调用格式相似。其中fmin函数用于求单变量函数的最小值点。fname是被最小化的目标函数名,x1和x2限定自变量的取值范围。fmins函数用于求多变量函数的最小值点,x0是求解的初始值向量。 MATLAB没有专门提供求函数最大值的函数,但只要注意到-f(x)在区间(a,b)上的最小值就是f(x)在(a,b)的最大值,所以fmin(f,x1,x2)返回函数f(x)在区间(x1,x2)上的最大值。 例7-13 求f(x)=x3-2x-5在[0,5]内的最小值点。 (1) 建立函数文件mymin.m。 function fx=mymin(x) fx=x.^3-2*x-5; (2) 调用fmin函数求最小值点。 x=fmin(mymin,0,5) x= 0.8165 6.2 数据插值 6.2.1 一维数据插值 在MATLAB中,实现这些插值的函数是interp1,其调用格式为: Y1=interp1(X,Y,X1,method) 函数根据X,Y的值,计算函数在X1处的值。X,Y是两个等长的已知向量,分别描述采样点和样本值,X1是一个向量或标量,描述欲插值的点,Y1是一个与X1等长的插值结果。method是插值方法,允许的取值有‘linear’、‘nearest’、‘cubic’、‘spline’。 注意:X1的取值范围不能超出X的给定范围,否则,会给出“NaN”错误。 例6-10 用不同的插值方法计算 若x=[0 2 4 6 8 10] Y=[0 4 16 36 64 100] 求x=[1 3 5 7 9]处的Y值。 MATLAB中有一个专门的3次样条插值函数Y1=spline(X,Y,X1),其功能及使用方法与函数Y1=interp1(X,Y,X1,‘spline’)完全相同。 例6-13

文档评论(0)

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

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

1亿VIP精品文档

相关文档