收藏 分销(赏)

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

上传人:精*** 文档编号:2231002 上传时间:2024-05-23 格式:DOC 页数:9 大小:136.01KB 下载积分:6 金币
下载 相关 举报
第一讲Matlab基本数值计算.doc_第1页
第1页 / 共9页
第一讲Matlab基本数值计算.doc_第2页
第2页 / 共9页


点击查看更多>>
资源描述
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是由直线所围成的区域。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服