




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章 Matlab基础,化工计算教程,1.1 Matlab简介,Matlab原意为“矩阵实验室”,是一种交互式的以矩阵为基础的系统计算平台,它用于科学和工程的计算和可视化,其优点在于快速地开发计算方法以及快速的应用,而不在于计算速度。 目的:节省用在编程上的时间,把主要精力放在算法本身及其应用上。,一、Matlab的特点,强大的数值计算和工程运算功能 如求解线性方程组Ax=b,A为方阵,matlab中直接x=b/A即可得结果。 高级图形和可视化数据处理能力 基于向量,数组和矩阵的高级程序设计语言, 语言简单,编程容易,边解释边执行,语法与C语言类似。 支持科学和工程计算标准的开放式可扩充结构 matlab函数大多为ASCII形式,可以直接看原代码,也可以编辑、修改,甚至增加自己的工具箱。 极多的工具箱 目前有40多个:信号处理,神经网络,系统识别,概率统计,最优化等等。,二、变量,(1)变量的命名:变量的名字必须以字母开头(不超过19个字符),之后可以是字母、数字或下划线;变量名区分字母的大小写;变量中不能包含有标点符号。 (2)一些特殊的变量 ans:用于结果的缺省变量名 i、j:虚数单位 pi:圆周率 eps:计算机的最小数(相对精度) inf:无穷大 realmin:最小正实数 realmax:最大正实数 nan:不定量(not a number) (3)变量操作 在命令窗口中,同时存储着输入的命令和创建的所有变量值,它们可以在任何需要的时候被调用。如要察看变量a的值,只需要在命令窗口中输入变量的名称即可:a,1.2 数值计算功能,数字计算功能 向量运算功能 矩阵运算功能 数组逻辑运算功能 多项式运算功能,如果结果为整数,则显示没有小数;如果结果不是整数,则输出形式有: format (short):短格式(5位定点数)99.1253 format long:长格式(15位定点数 ) 99.12345678900000 format short e:短格式e方式 9.9123e+001 format long e:长格式e方式 9.912345678900000e+001 format bank:2位十进制 99.12 format hex:十六进制格式,一、简单的数学运算,1、常用的数学运算符 ,*(乘 ), ( 左除),/ (右除),(幂) 在运算式中,MATLAB通常不需要考虑空格;多条命令可以放在一行中,它们之间需要用分号隔开;逗号告诉MATLAB显示结果,而分号则禁止结果显示。 2、常用数学函数abs,sin,cos,tan,asin,acos,atan,sqrt,exp, imag,real,sign, log,log10,conj(共扼复数)等,二、向量运算功能,1向量 向量是matlab中的一个基本单位,向量的每一个元 素的运算包括 1)向量的创建; 2)向量的加减运算; 3)向量的乘除运算,向量的创建,输入向量最直接的方法就是在命令窗口中输入,格式上需要向量元素用“ ”括起来,元素之间可以用空格、逗号或分号分隔。值得注意的是用空格和逗号分隔生成行向量,用分号分隔生成列向量。 在matlab的命令窗口键入以下字符 a = 1 2 3 4 5 6 9 8 7 a = 1 2 3 4 5 6 9 8 7 希望得到元素从0到20,步距为2的一个向量,只需键入以下命令即可 t = 0:2:20 t = 0 2 4 6 8 10 12 14 16 18 20,可以不要,向量的创建,线性等分向量的生成 y=linspace(x1,x2) 生成(1*100)维的行向量,使得y(1)=x1,y(100)=x2 y=linspace(x1,x2,n) 生成(1*n)维的行向量,使得y(1)=x1,y(n)=x2 对数等分向量的生成 y=logspace(x1,x2) 生成(1*50)维的对数等分向量,使得y(1)=10x1,y(50)=10x2 y=logspace(x1,x2,n) 生成(1*n)维的对数等分向量,使得y(1)=10x1,y(n)=10x2 例:a2=logspace(0,5,6) a2= 1 10 100 1000 10000 100000,向量的加减运算,设a,b为同维向量,则c=a+b 或c=a-b得到两个向量相加减的结果。 向量与常数的相加减为每个元素加减这个常数。例如: b = a + 2 得到 b = 3 4 5 6 7 8 11 10 9 c = a + b c = 4 6 8 10 12 14 20 18 16,向量的乘除运算,a. 向量的乘法运算 点乘运算的运算符为 .*, 其意义为两个向量的对应元素进行乘法运算,例如 a=1 2, b=3 4 则c=a.*b=3 8 . 为向量的乘方运算,例如 c=a.2=1 4 b. 向量的除法运算,向量点积、叉积和混合积,点积:两个向量在其中一个向量方向上的投影的乘积 a=1,2,3; b=3,4,5; dot(a,b) ans= (相当于sum(a.*b) 26 叉积:过两相交向量的交点且垂直于两向量所在平面的 向量 c=cross(a,b) c= -2 4 -2 混合积: dot(a,cross(b,c) ans=24,三、矩阵运算功能,矩阵的生成 矩阵的基本数学运算 矩阵的基本函数运算 矩阵分解函数 特殊矩阵的生成 矩阵的一些特殊操作,矩阵的生成,输入矩阵时每一行元素有分号或者回车键分隔。例如: B = 1 2 3 4;5 6 7 8;9 10 11 12 B = 1 2 3 4 5 6 7 8 9 10 11 12 c=sin(pi/3),cos(pi/4); log(9),tanh(6) c= 0.8660 0.7071 2.1972 1.0000,矩阵下标,MATLAB通过确认矩阵下标,可以对矩阵进行插入子块,提取子块和重排子块的操作。 A(m,n):提取第m行,第n列元素 A(:,n):提取第n列元素 A(m,:):提取第m行元素 A(m1:m2,n1:n2):提取第m1行到第m2行和第n1列到 第n2列的所有元素(提取子块)。 A(:):得到一个长列矢量,该矢量的元素按矩阵的列进行排列。 矩阵扩展:如果在原矩阵中一个不存在的地址位置上设定一个数(赋值),则该矩阵会自动扩展行列数,并在该位置上添加这个数,而且在其他没有指定的位置补零。 消除子块:如果将矩阵的子块赋值为空矩阵 ,则相当于消除了相应的矩阵子块。,矩阵的基本数学运算,B= 1 2 3 4 5 6 7 8 9 10 11 12,(1)矩阵转置运算: C = B C = 1 5 9 2 6 10 3 7 11 4 8 12,(2)矩阵乘法: D = B * C D = 30 70 110 70 174 278 110 278 446,要求B的列数等于C的行数,矩阵点乘、加减法,当两矩阵维数相同时,运算符加减法和.*的结果是两矩阵的对应元素相运算。 E = 1 2;3 4; F = 2 3;4 5; G = E .* F G = 2 6 12 20,矩阵与常数间的运算,常数与矩阵的运算即是同此矩阵各元素之间进行运算 数除是指矩阵每个元素都除以此常数,因此常数只能作为除数。,矩阵的除法(左除“|”和右除“/”),右除要作矩阵的逆然后再作矩阵的乘法,通常速度较快 左除不需要计算逆,直接进行除运算,可以避免被除矩 阵奇异造成大的误差 解方程组:ax=b, 其中a是(n*m)的矩阵 n=m且非奇异时,恰定方程 nm时,超定方程(拟合) nm时,欠定方程(最优解) x=ab 或 x=b/a 都可以直接解上述方程,求得x 但一般左除结果准确而且稳定 注意:ab运算等效于求a*x=b的解;而a/b等效于求x*b=a的,矩阵的乘方,矩阵为方阵时,可以进行矩阵的乘方运算,运算符为,与矩阵分解有关 E = 1 2;3 4; E3 ans = 37 54 81 118 若仅是元素进行乘方运算,可用运算符. E.3 ans = 1 8 27 64,矩阵的逆 矩阵逆利用函数inv计算,此时,要求矩阵 方阵且可逆。 X = inv(E) X = -2.0000 1.0000 1.5000 -0.5000 矩阵元素的赋值与运算 Matlab允许用户对矩阵的单个元素进行赋值和操作,Matlab此时命令方式为 X(i,j)=变量名 矩阵的行列式运算: a1=det(a),求矩阵A的特征向量V及特征值D,满足A*V=V*D。其中D的对角线元素为特征值,V的列为对应的特征向量。如果D=eig(A)则只返回特征值。 a = 1 2 3 4 x,y=eig(a) x = -0.8246 -0.4160 0.5658 -0.9094 y = -0.3723 0 0 5.3723 可以验证:A*V=V*D, x,y=eigs(a) x = -0.4160 -0.8246 -0.9094 0.5658 y = 5.3723 0 0 -0.3723,矩阵的特征值及特征多项式(eig或eigs ),迭代法求解,奇异值函数(svd或svds),求矩阵A的奇异值及分解矩阵,满足U*S*V=A,其中U、V矩 为正交矩阵(U*U=I),S矩阵为对角矩阵,它的对角元素即A矩阵的奇异值。 例:a = 9 8 6 8 可以验证: u*u=I v*v=I u*s*v=a,u,s,v=svd(a) u = 0.7705 -0.6375 0.6375 0.7705 s = 15.5765 0 0 1.5408 v = 0.6907 -0.7231 0.7231 0.6907,条件数函数,cond: 计算矩阵条件数的值 condest: 计算矩阵一范数的条件数的值 rcond: 计算矩阵条件数的倒数值 h=hilb(9); cond(h) ans = 4.9315e+011 特征值的条件数:condeig, condest(h) ans = 1.0997e+012 rcond(h) ans = 9.0938e-013,矩阵分解函数,lu分解(三角分解) L,U=lu(A) 将A做对角线分解,使得A=L*U,其中L为下三角矩阵,U为上三角矩阵。 chol分解(chollesky分解) L=chol(a) 如果A是对称正定矩阵,则存在一个实的非奇异下三角矩阵L,使得ALLT,当限定L的对角元素为正时,这种分解是唯一的,称为chollesky分解。,QR分解 Q,R=qr(A) 将矩阵A做正交化分解,使得Q*R=A,其中Q为正交矩阵(其范数为1,指令norm(Q)=1),R为对角化的上三角矩阵。,特殊矩阵的生成,一些常用的特殊矩阵 单位矩阵:eye(m,n); eye(m) 零矩阵:zeros(m,n); zeros(m) 一矩阵:ones(m,n); ones(m) 对角矩阵:对角元素向量 V=a1,a2,an A=diag(V) 随机矩阵:rand(m,n)产生一个m*n的均匀分布的随机矩阵, randn(m,n)产生一个m*n的正态随机阵,四、数组逻辑运算功能,基本逻辑关系运算 在关系比较中,若比较双方为同维数组。其元素值由0和1组成,当比较双方对应位置上的元素值满足比较关系时,对应值为1,否则为0。 当比较双方中一方为常数,另一方为数组时,则结果数组与原数组同维,且其值为已知数组和常数的比较结果。 “与”:当运算双方的对应元素均为非零时结果为1,否则为0。 “或”:当运算双方的对应元素有一非零时结果为1,否则为0。 “非”:当运算数组的对应位置的值为零时结果为1,否则为0。 在算术运算、比较运算和逻辑与、非、或运算中,他们的优先级关系为:算术运算比较运算逻辑与、或、非运算,逻辑关系函数运算,五、多项式运算功能,多项式的表示方法 多项式的运算,多项式的表示方法,多项式的表达约定: 对于多项式 : 用以下行向量表示 这样就把多项式问题转化成为向量问题,系数向量的直接输入法, a=1 2 3 4; b=a; poly2sym(a) ans = x3+2*x2+3*x+4 poly2sym(b) ans = x3+2*x2+3*x+4,特征多项式,由特征多项式生成的多项式的首项系数一定是1 n阶矩阵一般产生n阶多项式, a=1 2 3;2 3 4;3 4 5; p1=poly(a) p1 = 1.0000 -9.0000 -6.0000 -0.0000 poly2sym(p1) ans = x3-9*x2-6*x-8399472/25353012,由根创建多项式,同样用poly函数,其实由矩阵直接创建也是把矩阵的特征值作为多项式形成的方程的根, root=-5 -3+4i -3-4i; p=poly(root) p = 1 11 55 125 poly2sym(p) ans = x3+11*x2+55*x+125,求多项式的值,输入变量值代入多项式计算时以数组为单元,此时的计算函数为polyval. 输入变量值代入多项式计算时以矩阵为单元,进行矩阵式运算,此时的计算函数为polyvalm., p=1 11 55 155; b=1 1;1 1; polyval(p,b) ans = 222 222 222 222 polyvalm(p,b) ans = 236 81 81 236,z = polyval(1 0 0 0 1,2) z = 17,求多项式的根,直接调用求根函数roots,求解所有根 通过建立多项式的伴随矩阵再求其特征值得解, p=2 -5 6 -1 9; roots(p) ans = 1.6024 + 1.2709i 1.6024 - 1.2709i -0.3524 + 0.9755i -0.3524 - 0.9755i, compan(p) ans = 2.5000 -3.0000 0.5000 -4.5000 1.0000 0 0 0 0 1.0000 0 0 0 0 1.0000 0 eig(ans) ans = 1.6024 + 1.2709i 1.6024 - 1.2709i -0.3524 + 0.9755i -0.3524 - 0.9755i,多项式拟合,多项式拟合又称为曲线拟合,其目
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年机械安全操作规范考试题库及答案-紧急救援操作试题
- 河北省承德市中医确有专长和出师考核(中医医师资格考试)历届真题及答案(2025年)
- 2025年新版升降机司机试题及答案
- 乔迁活动应急预案
- 2025年高二物理上学期研究性学习开题报告评估
- 2025年高二物理上学期图像信息题专练(振动图像与波动图像)
- 2025年气候变化对农业经济的影响及对策
- 2025年气候变化对农业产量影响的预测模型
- 2025年高二物理上学期光的干涉条纹间距分析题
- 2025年气候变化的适应策略与减缓措施
- 资阳产业投资集团有限公司第三轮一般员工市场化招聘笔试参考题库附答案解析
- 2025年淮南市大通区和寿县经开区公开招聘社区“两委”后备干部30名笔试备考题库及答案解析
- 《文献检索与科技论文写作入门》课件(共八章)
- 2025云南红河红家众服经营管理有限公司社会招聘工作人员8人笔试参考题库附带答案详解
- 牛羊布氏杆菌课件
- 共享实验室合作协议书
- 客服人员安全操作培训课件
- 城管协管员面试题目及答案
- DL-T 794-2024 火力发电厂锅炉化学清洗导则
- 地质项目合同管理办法
- 天津市受问责干部管理办法
评论
0/150
提交评论