matlab2.ppt_第1页
matlab2.ppt_第2页
matlab2.ppt_第3页
matlab2.ppt_第4页
matlab2.ppt_第5页
已阅读5页,还剩80页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Matlab数学实验与建模,安阳工学院数理学院 苏婷 Tel基本要求:,作业(手写和上机)一次不交扣2分 旷课一次扣2分 作业有创新最多加5分,没有上限 学好这门课的唯一途径多上机练习 编程能力与在计算机上投入的时间成正比,本章目标,了解MATLAB的基本知识 熟悉MATLAB的上机环境 掌握利用MATLAB进行基本运算的方法 初步具备将一般数学问题转化成对应的计算机模型并进行处理的能力,主要内容,1.1 MATLAB概述 1.2 基本运算功能 1.3 基本运算类型 1.4 matlab的矩阵和数组及其运算 1.5矩阵函数 1.6符号运算 1.7字符串、元胞和结构,1

2、.1 MATLAB概述,科学研究和工程实践中的计算问题 简单问题:计算器或直接手工推导 复杂问题:计算机编程 计算机编程 高级编程语言 Microsoft: Visual C+、Visual Basic Borland: Delphi、C+Builder Sun: Java 科学计算软件工具 MathWorks: MATLAB,科研和工程技术人员的首选 MATLAB,MATLAB具有用法简单、灵活、结构性强、延展性好等优点,逐渐成为科技计算、视图交互系统和程序中的首选语言工具。 功能强大的数值运算功能 强大的图形处理能力 高级但简单的程序环境 丰富的工具箱与模块集 易于扩充,1.1.2matl

3、ab 界面,1.2 基本运算功能,MATLAB的基本运算可分为三类: 算术运算 关系运算 逻辑运算,1.2.1 算术运算,Matlab 操作注意事项,Matlab操作注意事项,使用变量来进行更复杂的问题求解, a=15+20-50+3*9 a = 12 b=30 b = 30 c=a*b c = 360 d=a3-b*c d = -9072,逗号或分号的区别,x=2, y=3 %逗号隔开,屏幕有回显 x = 2 y = 3 m=2; n=3;%分号隔开,无回显 m %在提示符后直接输入变量名可查看变量的值 m = 2,基本算术运算符,例1-1 求解算术表达式的值, (12+2*(7-4)/33

4、 ans = 0.6667,format命令,1.2.2 关系运算,关系运算的结果类型为逻辑量 (0, 1), x=2; x3 ans = 0 x=2 ans = 1,1.2.3 逻辑运算,逻辑运算符用于将关系表达式或逻辑量连接起来,构成较复杂的逻辑表达式。逻辑表达式的值也是逻辑量。,1.3 基本数据类型,MATLAB数据类型 数值 逻辑 字符串 元胞 结构 类,1.3.1 数值类型,分类方法一: 双精度型 (系统默认类型) 单精度型 带符号整数 无符号整数 分类方法二 标量 数组 矩阵 分类方法三 实数 复数 z1=1+2i z1 = 1.0000 + 2.0000i z2=3+4j z2

5、= 3.0000 + 4.0000i,1.3.2 字符串类型,字符串:包含在一对单引号中的字符集合 s=hello, MATLAB%定义字符串变量s s = hello, MATLAB,1.3.3 变量和表达式,变量的命名方式: 变量名由字母、数字和下划线组成; 变量名中的英文字母大小写是有区别的; 变量名的最大长度是有规定的 不同版本的系统规定不同:19个字符、31或63个字符等 可调用namelengthmax函数得到系统规定长度,MATLAB系统的特殊变量和常数,变量的使用,clear%删除工作区中所有定义过的变量 whos%查看当前工作区内变量信息,无显示表示没有定义的变量 xy=1;

6、 yx=2; %对变量赋值 xy%查看变量xy的当前数值 xy = 1 whos Name Size Bytes Class xy 1x1 8 double array yx 1x1 8 double array Grand total is 2 elements using 16 bytes clear xy yx%删除变量xy及yx whos xy%这时变量xy已经不存在了 ? Undefined function or variable xy.,1.4 数学函数,使用函数须注意以下几点,函数一定要出现在等式的右边 函数对其自变量的个数和格式都有一定的要求 函数允许嵌套,例1-3 计算下式

7、的结果,其中a=5.67, b=7.811,a=5.67; b=7.811; exp(a+b)/log10(a+b) ans = 6.3351e+005,Matlab标点的常用功能,Matlab标点的常用功能,指令窗的常用控制指令,MATLAB实施指令行编辑的常用操作键,扩展阅读,1.5 MATLAB背景 1.5.1 MATLAB历史 1.5.2 MATLAB组成 1.5.3 MATLAB特点 1.5.4其他几种相关的数学软件 1.6工具箱,上机指导,1.7 MATLAB的安装和使用 1.7.1安装MATLAB系统 1.7.2使用MATLAB系统 1.8 MATLAB帮助功能,应用举例,计算星

8、球之间的万有引力。 G = 6.67E-11;% 引力恒量 sun=1.987E30;% 太阳质量1.9871030千克 earth = 5.975E24;% 地球质量5.9751024千克 d1=1.495E11;% 太阳和地球的距离1.4951011米 g1 = G*sun*earth/d12% 太阳和地球的引力 g1 = 3.5431e+022 moon=7.348E22;% 月亮质量7.3481022千克 d2=3.844E5;% 月亮和地球两者间距3.844105米 g2 = G*moon*earth/d22% 月亮和地球的引力 g2 = 1.9818e+026,应用举例,设三个复数

9、a34i,b12i, ,计算x=ab/c a=3+4i; b=1+2i; c=2*exp(i*pi/6); x=a*b/c x = 0.3349 + 5.5801i,应用举例,已知三角形的三边长分别为3、4、5,求其面积。 a=3; b=4; c=5;% 三角形的三个边长 s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c) area = 6,应用举例,计算下式的结果,其中x= 45 x=pi/180*(45);%将角度单位由度转换为函数要求的弧度值 z=(sin(x)+sqrt(35)/72(1/5) z = 2.8158,1.4 matlab的矩阵与数组及其

10、运算,例:输入矩阵A、B的值,1.4.1.2 矩阵下标与子矩阵提取,A(m, n)提取第m行,第n列元素 A(:, n)提取第n列元素 A(m, :)提取第m行元素 A(m1:m2, n1:n2)提取第m1行到第m2行和第n1列到 第n2列的所有元素 A(m:end, n) 提取从第m行到最末行和第n列的子块 A(:)得到一个长列矢量,该矢量的元素按矩阵的列进行排列,例: 修改矩阵A中元素的数值,A=1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16; A(1,1)=0;A(2,2)=A(1,2)+A(2,1);A(4,4)=cos(0); 则矩阵变为: A =

11、 0 2 3 4 5 7 7 8 9 10 11 12 13 14 15 1,1.4.1.3 矩阵的算术运算,1矩阵的加减运算:(加)、(减) 2矩阵乘法:*(乘) 3矩阵除法:/ (右除)、 (左除) 4矩阵的乘方:(乘方) 5矩阵转置: (转置运算符),1.4.1.4 矩阵的关系运算,关系运算符: (大于) =(大于或等于)、=(等于)、=(不等于)。 关系运算符的运算法则: 关系运算将对两个矩阵的对应元素进行比较。,1.4.1.5 矩阵的逻辑运算,必须是两个同维矩阵或其中一个矩阵为标量才能进行 MATLAB提供了一些逻辑函数,1.4.1.6 矩阵函数,1求矩阵的行列式的值, X=1 2

12、3 0; 5 6 0 8; 9 0 11 12; 0 14 15 16; det(X) ans = -5464,2求矩阵的秩, X=1, 2, 3; 2, 3 -5; 4 7 1; rank(X) ans = 2,3求逆矩阵, X=1 2 3 0; 5 6 0 8; 9 0 11 12; 0 14 15 16; Y=inv(X) Y = 0.2299 0.0908 0.0351 -0.0717 0.1940 0.0798 -0.0659 0.0095 0.1274 -0.0835 0.0322 0.0176 -0.2892 0.0084 0.0275 0.0377 Y*X%矩阵与其逆阵相乘结果

13、是单位矩阵 ans = 1.0000 0 0 0 0 1.0000 0 0 0 0 1.0000 0 0 0 0 1.0000 X*Y%矩阵的逆阵是唯一的 ans = 1.0000 0 0 0 0 1.0000 0 0 0 0 1.0000 0 0 0 0 1.0000,4求特征值和特征向量, X=-2 1 1;0 2 0;-4 1 3; V D=eig(X) V= -0.7071 -0.2425 0.3015 0 0 0.9045 -0.7071 -0.9701 0.3015 D= -1 0 0 0 2 0 0 0 2,5矩阵分解, A=2 -1 3;1 2 1;2 4 3; L, U=lu

14、(A) %三角分解 L = 1.0000 0 0 0.5000 0.5000 1.0000 1.0000 1.0000 0 U = 2.0000 -1.0000 3.0000 0 5.0000 0 0 0 -0.5000,6求解线性方程组,1.4.2 数组,数组是矢量运算的基础 行向量 列向量,1.4.2 数组的构造,1逐个输入 a=1 3 9 10 15 16%采用空格和逗号分隔构成行向量 b=1; 3; 9; 10; 15; 16 %采用分号隔开构成列向量 2利用冒号表达式“:”生成向量 x=1:2:9%初值=1,终值=9,步长=2 z=1:5%初值=1,终值=5,默认步长=1 3利用函数

15、生成向量 x=linspace(1, 9, 5)%初值=1,终值=9,元素数目=5,1.4.2.2 向量的运算,1点积:dot函数 2叉积:cross函数 例 a = 1 2 3; b = 4 5 6; c = dot(a, b) d = cross(a, b) c = 32 d = -3 6 -3,1.4.3 数组,数组运算方式是一种元素对元素的运算 除了加、减法的与矩阵相同以外,乘、除、幂的数组运算符都是通过在标准的运算符前面加一个圆点来生成。,数组运算, x=1 2 3; 4 5 6; 7 8 9; y=9 8 7; 6 5 4; 3 2 1; x+y%数组和矩阵的加法规则相同 ans

16、= 10 10 10 10 10 10 10 10 10 x.*y%数组乘法:对应元素相乘 ans = 9 16 21 24 25 24 21 16 9 x*y%矩阵乘法:按照线性代数理论进行 ans = 30 24 18 84 69 54 138 114 90,多维数组维间处理的函数,1reshape 2size 3ndims 4cat 5permute 6ipermute 7shiftdim 8squeeze,1.4.4 多项式,多项式是形如 P(x) = a0 xn+a1xn-1+an-1x+an的式子。 在MATLAB中,多项式用行向量表示: P= a0 a1 an-1 an,1.4.

17、4 多项式的生成与表达,例:已知向量A=1 34 80 0 0,用此向量构造一多项式并显示结果。 (x-1)(x+34)(x+80)(x-0)(x-0) PA=poly(A) PAX=poly2str(PA,X) X5 + 113 X4 + 2606 X3 - 2720 X2,1.4.4 多项式的运算,1. 多项式的算术运算 参加加减运算的多项式应该具有相同的阶次。 多项式乘法采用conv函数,除法由deconv函数完成。 2. 求根 求多项式的根采用roots函数。 3. 求值 函数polyval可以将某个特定数值代入多项式 函数polyvalm可以求出当多项式中的未知数为方阵时的值。 4.

18、 求导 使用polyder函数对多项式求导。,扩展阅读,1.4.5 特殊矩阵 1.4.6 稀疏矩阵,上机指导,1.4.7工作空间与内存变量 1.4.7.1变量的查看 1.4.7.2变量的文件保存与获取,应用举例,应用举例,例 将表达式(x-4)(x+5)(x2-6x+9)展开为多项式形式,并求其对应的一元n次方程的根。 p=conv(1 -4,conv(1 5,1 -6 9) px=poly2str(p,x) x=roots(p),1.6 符号计算,1 数值运算与符号运算 2 符号变量和符号表达式 3 符号表示式的运算 4 微积分 5 方程求解,1.6 数值运算与符号运算,数值运算在运算前必须

19、先对变量赋值,再参加运算。 符号运算不需要对变量赋值就可运算,运算结果以标准的符号形式表达。,1.6.2 符号变量和符号表达式,符号变量和符号表达式在使用前必须说明 sym函数 f1=sym(ax2+bx+c) %创建符号变量f1和一个符号表达式 syms函数 clear syms a b c x whos Name Size Bytes Class a 1x1 126 sym object b 1x1 126 sym object c 1x1 126 sym object x 1x1 126 sym object,1.6.3 符号表示式的运算,1.6.3.1算术运算 clear f1 = s

20、ym(1/(a-b) ); f2 = sym(2*a/(a+b) ); f3 = sym( (a+1)*(b-1)* (a-b) ); f1+f2%符号和 ans = 1/(a-b)+2*a/(a+b) f1*f3 %符号积 ans = (a+1)*(b-1) f1/f3 %符号商 ans = 1/(a-b)2/(a+1)/(b-1),1.6.3.2 函数运算,1合并、化简、展开等函数 collect函数:将表达式中相同幂次的项合并; factor函数:将表达式因式分解; simplify函数:利用代数中的函数规则对表达式进行化简; numden函数:将表示式从有理数形式转变成分子与分母形式。

21、 2反函数 finverse(f,v) 对指定自变量为v的函数f(v)求反函数 3复合函数 compose(f,g) 求f=f(x)和g=g(y)的复合函数f(g(y) compose(f,g,z) 求 f=f(x)和g=g(y)的复合函数f(g(z) 4表达式替换函数 subs(s)用赋值语句中给定值替换表达式中所有同名变量 subs (s, old, new) 用符号或数值变量new替换s中的符号变量old,例,clear f1 =sym(exp(x)+x)*(x+2); f2 = sym(a3-1); f3 = sym(1/a4+2/a3+3/a2+4/a+5); f4 = sym(si

22、n(x)2+cos(x)2); collect(f1) ans = x2+(exp(x)+2)*x+2*exp(x) expand(f1) ans = exp(x)*x+2*exp(x)+x2+2*x factor(f2) ans = (a-1)*(a2+a+1) m,n=numden(f3)%m为分子,n为分母 m = 1+2*a+3*a2+4*a3+5*a4 n = a4 simplify(f4) ans = 1,例,clear syms x y finverse(1/tan(x) %求反函数,自变量为x ans = atan(1/x) f = x2+y; finverse(f,y) %求

23、反函数,自变量为y ans = -x2+y clear syms x y z t u; f = 1/(1 + x2); g = sin(y); h = xt; p = exp(-y/u); compose(f,g) %求f = f(x) 和 g = g(y)的复合函数f(g(y) ans = 1/(1+sin(y)2),例,clear syms a b subs(a+b,a,4) %用4替代a+b中的a ans = 4+b subs(cos(a)+sin(b),a,b,sym(alpha),2) %多重替换 ans = cos(alpha)+sin(2) f=sym(x2+3*x+2) f = x2+3*x+2 subs(f, x, 2)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论