第一讲Matlab基本数值计算.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第一 Matlab 基本 数值 计算
- 资源描述:
-
2012年数学建模培训材料——Matlab软件的使用 第一讲 Matlab 基本数值计算 一、矩阵 在Matlab中,一个矩阵可以使数学意义上的矩阵,也可以是标量或者向量。对于一个标量(一个数)可以将之作为的矩阵,而向量(一行或一列)则可以认为是或者的矩阵。另外,一个矩阵在Matlab中被认为是空矩阵,用“[]”表示。 1、矩阵的创建 矩阵的创建可以有以下几种形式 ⑴直接输入 >> A=[1 2 3;4 3 7;2 4 1] 注意:每行间的元素用逗号或空格分开,行与行之间用分号或回车分开,矩阵标示是一对中括号[ ]。 也可以采用数组编辑器(Array Editor)像在Excel电子表格中据那样输入数据。 ⑵通过语句和函数产生 常用的特殊矩阵:zeros:全零矩阵,ones:全1矩阵,eye:单位矩阵,rand:随机矩阵,diag:对角阵等。 例:>> A=ones(3,4) >> E=eye(3) >> D=diag([3 5 2]) ⑶对矩阵进行裁剪或拼接 ⑷从外部文件装入数据 外部数据文件可以是以保存的Matlab工作空间,也可以是文本(.txt)文件,或者是电子表格创建的文件(.xls). 例:已知一个文本格式的数据文件E:\Mathmodel\data1.txt >> load e:\Mathmodel\data1.txt 得到一个变量名与文件名相同的矩阵(data1)。注意:文件的扩展名不能省略。 例:已知一个Excel文件的路径为E:\Mathmodel\data2.xls a. 缺省操作: >> NUMBER=xlsread('E:\Mathmodel\data2.xls') >>[NUMBER,TXT]=xlsread('E:\Mathmodel\data2.xls') 默认操作是从第一个工作表(sheet1)中提取数据。 b. 从指定的工作表(而不是第一个)中提取数据: >> NUMBER=xlsread('E:\Mathmodel\data2.xls','S2') 或者 >> NUMBER=xlsread('E:\Mathmodel\data2.xls',2) c.从指定的工作表中读取指定区域的数据: >> NUMBER=xlsread('E:\Mathmodel\data2.xls',2,'g3:i8') 2、Matlab的矩阵运算 ⑴基本运算 矩阵的加(+)、减(-)、乘(*)、乘方(^)运算法则与代数中的定义完全一致。例如: >> A=[1 2;3 4];B=[3 1;4 8]; >> A+B,A-B,A*B 矩阵的转置(A.'),矩阵的共轭转置(A')。 矩阵的除法:左除A\B,类似于求,右除B/A,类似于。 例:分别解矩阵方程和。 ⑵矩阵分析 rank(A) 求矩阵A的秩 det(A) 返回方阵A的行列式 inv(A) 返回A的逆矩阵 null(A) 返回A的零空间的基,即的基础解系 norm(A) 返回矩阵A的2-范数,即 [V,D]=eig(A) 返回方阵A的特征值和特征向量,其中D为特征值构成的对角阵,每个特征值对应的V的列为属于该特征值的一个特征向量。如果只有一个输出,则得到特征值构成的列向量 例:求线性方程组的通解 >> A=[1 -1 1 -1;-1 1 1 -1;2 -2 -1 1];b=[1 1 -1]'; >> x0=A\b >> null(A,'r') 或用初等行变换的方法: >> rref([A b]) 二、数组 代数中的数组是指有顺序的一列数,或称向量,在Matlab中除了行向量和列向量外,实际上矩阵也是数组的一种表现形式,相当于将矩阵的列按顺序接成一个列向量。因此二维数组的元素有两种定位方式:二维下标(subscripts)和一位索引(index) 例如:>> A=[1 2 3 ;4 5 6;7 8 9],>> A(1,3),>> A(7) 思考:1.这两者之间的转换公式?利用Matlab帮助学习sub2ind和ind2sub的用法。2.观察命令>> A=A(:)的结果。 生成等差数组的两个非常有用的指令: a:s:b 生成首项为a,步长(公差)为s,末项不超过b的等差数列,当步长为1时可以省略。 linspace(a,b,n) 生成首项是a,末项是b,项数为n 的等差数列。 数组的运算:a+b a-b a.*b a./b a.\b a.^b 要求数组a 和 b 有相同的维数。 a 和b 之一也可以是一个标量,例如a 是标量,则先将其扩充为与b 同维数,全部元素都为a 的数组,再参与相应的运算。 举例 >> a=[1 3 5 7;2 4 6 8;9 11 13 15];b=[3 2 1 1;2 3 2 1;3 4 2 1]; 观察a+b,a-b,a.*b,a./b,a.\b,a.^b,2+a,2.^a,a.^2 三、多项式 1、多项式的创建 Matlab中,多项式(Polynomial)是由一个向量表示,它的系数是按降序排列的。多项式在Matlab中表示为p=[a0,a1,…an],是一个n+1维数组。如果多项式中缺某幂次项,则应认为该幂次项的系数为0. Poly(A),如果A为方阵,则创建矩阵A的特征多项式,若A是数组A=[a0,a1,…an],则创建(x-a0)(x-a1)…(x-an)生成的多项式的系数向量。例如 >> A=[1 2;3 4]; p=poly(A) >> A=[1 2 3 4]; p=poly(A) poly2str(P,’x’) 把多项式数组转换成字符串。例如poly2str(A,'x') 2、多项式的运算 ⑴多项式的加减法 >> a=[1 3 5 7];b=[2 4 6 8]; >> c=a+b >> poly2str(a,'x') >> poly2str(b,'x') >> poly2str(c,'x') >> d=[1 3 4 6 -5] %d表示一个4次多项式 >> e=[0 c]+d %次数不同的多项式相加减,要在低次数组前面补零。 ⑵多项式求根 roots(p) ⑶多项式的乘法和除法 p=conv(a,b) %生成多项式a 和 b 的乘积 [q,r]=deconv(a,b) %多项式a 除以b,商为q,余式为r 例 >> a=[1 3 5];b=[2 4 6]; p=conv(a,b) >> a=[1 2 3 1];b=[2 1]; [q,r]=deconv(a,b) 验证: conv(q,b)+r ⑷特征多项式 poly(A) 思考:如何求矩阵A的特征值? ⑸多项式求值 polyval y=polyval(p,x) %求多项式p 在x 处的值,即y=p(x),x可以是向量。 例 画出多项式的图形 >> p=[4 -2 0 7]; >> x=-1:0.1:1;y=polyval(p,x); >> plot(x,y) ⑹多项式求导 polyder(p) p=polyder(a) %返回多项式a 的导数 p=polyder(a,b) %返回多项式的乘积 a*b 的导数 [q,d]=polyder(a,b) %返回多项式的商a/b的导数,表示为q/d 四、数值微积分 1、diff 数值差分或符号微分 diff(A) %对向量或矩阵A的差分 diff(A,n) %对向量或矩阵A的n阶差分 例 >> A=[2 3 6 1 0 6],diff(A),diff(A,2) >> A=[1 4 ;3 7; 2 0], diff(A) %按A的各列作差分 diff(fun) %对符号函数fun 求导 diff(fun,‘u’,n) %返回符号函数fun对变量u 的n 阶导数。 2、梯形积分法 z=trapz(x,y) %x,y要求是同维向量,当被积函数表达式未知时比较有用 例 求积分 >> x=-1:0.1:1;y=exp(-x.^2); >> trapz(x,y) 3、高精度数值积分 z=quad(fun,a,b) 或 z=quadl(fun,a,b) %函数fun在区间[a,b]上的定积分 例 >> quadl('exp(-x.^2)',-1,1) 4、二重积分 Matlab提供了一个计算矩形区域上二重积分的函数dblquad z=dblquad(fun,a,b,c,d) %求二元函数fun(x,y)在上的二重积分 例如 计算,其中 >> fun=inline('x.*exp(x.^2+y.^2)','x','y'); %inline函数 >> dblquad(fun,0,2,-2,2) 对于一般的不是矩形区域的二重积分,可以通过换元积分法将其化为矩形区域,或者可以参考自编程序 dblquad2.m 例 计算 先化为二次积分 >> fun=inline('1+x+y.^2','x','y'); %被积函数 >> c=inline('-sqrt(2*x-x^2)');d=inline('sqrt(2*x-x^2)'); %内积分上下限 >> dblquad2(fun,0,2,c,d) 上机练习 1、执行下列指令,观察其运行结果,理解其意义 ⑴ [1 2;3 4]+10-2i; ⑵ [1 2;3 4].*[0.1 0.2;0.3 0.4]; ⑶ [1 2;3 4].\[20 10;9 2]; ⑷ [1 2;3 4].^2。 2、设有分块矩阵,其中E,R,O,S分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证。 3、设a=(1,2,3),b=(2 ,4,3),分别计算a./b,a.\b,a/b,a\b,分析结果的意义。 4、求矩阵方程的通解 5、求矩阵的行列式、逆矩阵、特征值和特征向量 6、求下列向量组的秩和它的一个最大无关组,并将其余向量用该最大无关组线性表示。 7、设有两个多项式,计算,,,。 8、求多项式的所有根,并计算分别在处的函数值。 9、求下列积分的数值解 ⑴;⑵;⑶ 10、求函数表示的曲面在区域上的面积。 11、用函数dblquad2计算二重积分的近似值: ,其中D是由直线所围成的区域。展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




第一讲Matlab基本数值计算.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/2231002.html