版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Ch9、Ch10 参考书MALAB与科学计算(第二版) 王沫然 编著电子工业出版社 2004Ch9 9. Matlab基础知识基础知识 1. 概述概述 1. 历史背景与主要功能历史背景与主要功能 Matlab = Matrix Laboratory ( 矩阵实验室矩阵实验室 ) 数值计算数值计算三大基本功能三大基本功能 符号运算符号运算 数据可视化(图形功能)数据可视化(图形功能) + 程序开发程序开发 + (专业专业)工具箱(工具箱(Toolbox) 数值计算型:数值计算型:Matlab、Xmath等等数学软件数学软件 数学分析型:数学分析型:Mathematica、Maple等等Matla
2、b:面向:面向 21 世纪的科学计算语言世纪的科学计算语言 在科学计算和工程领域在科学计算和工程领域 赢得了广泛用户赢得了广泛用户2. 语言特点语言特点 功能强大功能强大 语言简单语言简单 演算纸式的计算工具 扩充能力强扩充能力强 程序可移植性好程序可移植性好 开放性的源程序(M文件) 编程易编程易 效率高效率高 基本运算单位:矩阵;运算符、库函数极丰富 具有功能强劲的工具箱具有功能强劲的工具箱(参见 P8 表1.3 ) 几十个工具箱,涉及信号处理、自动控制、图象处理、金融系统、最优化方法、小波分析等许多学科 3. 集成环境的组成集成环境的组成 五个部分:(1) Matlab 语言语言 适合开
3、发大小型程序(2) Matlab 工作环境工作环境 变量查看器、路径浏览器、程序编辑器 & 附带的大量M文件(3) 图形系统图形系统 二、三维图形绘制,图象处理,动画制作(4) Matlab数学函数库数学函数库 基本函数、复杂算法的函数(5) Matlab API (Application Program Interface) Matlab 与 FORTRAN 、 C、 Java的接口4. Matlab的典型应用的典型应用 数学计算 算法开发 建模与仿真 数据分析与可视化 科学与工程绘图 应用开发(包括图形界面): 软件开发周期以周计5. 工作方式(操作基本步骤) 启动Matlab 命
4、令窗口: 命令 (逐行解释执行逐行解释执行) 指令(命令) 系统提供 库函数的调用 命令 命令式文件 文件名即“命令” 用户编写 函数式文件 函数调用为“命令” 命令行提示符命令窗口命令当前路径当前路径可同时可同时打开多打开多个窗口个窗口命令窗口命令窗口命令命令历史历史窗口窗口当前当前路径路径窗口窗口工作空间工作空间窗口窗口v最有用的帮助命令最有用的帮助命令 help + 函数名或 help + 函数类名如: help inv ( 矩阵求逆 ) help matfun ( 矩阵函数类 )2. 基本的数值计算功能基本的数值计算功能一、数字及其运算一、数字及其运算基本运算单元基本运算单元矩阵矩阵
5、1、变量的定义及代换、变量的定义及代换(1)直接输入 如: 258369 ans = 95202 (2)设定变量 如: x = 258369 x = 95202 缺省变量缺省变量 例例: 水粘度水粘度 计算计算 t = 0, 20, 40, 60, 80 度时的水粘度度时的水粘度 201btat 000221. 003368. 010785. 130ba% 后为注释,不被执行后为注释,不被执行不加分号,则显示结果不加分号,则显示结果冒号表达式冒号表达式. / () 为数组右除为数组右除t . 2 为向量求幂为向量求幂2. 几个基本的算术运算几个基本的算术运算(1) 四则运算四则运算 * * (
6、2) 乘方、开方乘方、开方: 函数函数 sqrt 如如: 1233 ans = 1860867 sqrt ( ans ) ans = 1.3641e+003 3. 数字的输入输出格式数字的输入输出格式(1)输入格式输入格式 与与 C 相同。如:相同。如: 6 83 0.2006 1.4756e6 2.34E21(2)输出格式输出格式 例例: sqrt ( 2 ) 的几种显示格式的几种显示格式 Short 1.4142 Long 1.41421356237310 Short e 1.4142e+000 Long e 1.414213562373095e+000 可由可由 format 命令控制(
7、缺省为命令控制(缺省为Short ),格式如:),格式如: format Long只影响屏幕显示。只影响屏幕显示。存储、计算总是以双精度形式存储、计算总是以双精度形式4. 常驻变量(常量)常驻变量(常量) 无需定义的专用(固定)变量。如: Pi 圆周率 i 或 j 虚数单位 inf 无穷大 1/0 NaN 不定值 0/0 例例: sin ( pi / 3 )ans = 0.86602540378444 j2ans = 1.00000000000000 + 0.00000000000000 i 二、向量及其运算二、向量及其运算1、向量的生成的生成 (1)直接输入 行向量: a = a1,a2 a
8、3,an 列向量: b = b1 ; b2 b3 ; ; bn (2)利用冒号表达式 a = a0:step:an (3)线性等分向量 linspace(x1,x2,n)逗号或空格逗号或空格分号或回车分号或回车2. 向量的基本运算向量的基本运算 (1)加(减)与数加(减)加(减)与数加(减) 例: a = 1,2,3,4; a + a ans = 2.0000 4.0000 6.0000 8.0000 a 1 ans = 0.0000 1.0000 2.0000 3.0000 a 每个元素减 1(2)数乘)数乘 例: a = 1,2,3,4; a3 ans = 3.0000 6.0000 9.
9、0000 12.0000 (3)点积、叉积)点积、叉积 点积:dot (a , b) 或 sum (a .*b) 叉积:cross (a , b) a、b 为3维向量 a 每个元素乘以3三、矩阵及其运算三、矩阵及其运算 存储方式:按列1、矩阵的生成、矩阵的生成 (1)直接输入小矩阵)直接输入小矩阵 例: a = 1,2,3;4,5,6;7,8,9 a = 1 2 3 4 5 6 7 8 9同行用“,”或空格分隔;行与行用“;”或回车分隔;矩阵大小可不预先定义;元素可为表达式(2)创建)创建M文件输入大矩阵文件输入大矩阵 命令式文件 ( 此处即是 ) M文件 ( . m ) 函数式文件例:编辑一
10、文件 example.m 如下 % example.m exam = 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 在命令窗口: example; size ( exam ) ans = 4 5 注释注释文件名文件名矩阵大小函数矩阵大小函数由已有的由已有的数据文件数据文件给出给出2、矩阵的基本数学运算、矩阵的基本数学运算(1)矩阵的四则运算)矩阵的四则运算 格式与数字的运算相同格式与数字的运算相同 矩阵加、减矩阵加、减: + 例:例: a = 1,2;2,3 ; b = 1,1;2,2 ; c = a + b c = 2 3 4 5a、b同阶同阶 矩阵乘法矩阵
11、乘法 A*B 有公共相邻维 矩阵除法矩阵除法 左除: 右除:/ A B A / B例:解 Ax = b x = Ab相应数学运算:A-1B相应数学运算:AB-1 (2) 转置转置 A = 1 39 10 A = 1 39 10(3)幂运算)幂运算 如:如:A3 A3 ,即,即(A*A*)A。非各元素。非各元素3次方。次方。 (4) 矩阵与常数间运算矩阵与常数间运算 常数与矩阵各元素之间进行运算。如:常数与矩阵各元素之间进行运算。如: A+1 2*A A / 3 ( 常数通常只能做除数)常数通常只能做除数)(5)矩阵的逆运算)矩阵的逆运算 inv ( A ) (6) 行列式行列式 det ( A
12、 ) (7) 指数运算指数运算 最常用: expm ( A ) eA(8)对数运算)对数运算 logm ( A ) (9) 开方运算开方运算 sqrtm ( A )等同于 funm ( A , exp )等同于 funm ( A , log )等同于 funm ( A , sqrt )3、矩阵的基本函数运算、矩阵的基本函数运算(1)特征值函数)特征值函数 eig 用法: d = eig (A) X , Y = eig (A) (2)条件数函数)条件数函数 Cond (A) Condest (A) Cond (A , p)特征值组成的列向量特征向量组成的矩阵对角阵,对角元为特征值2-范数条件数1
13、-范数条件数p-范数条件数(3)范数函数)范数函数 norm (A) 2-范数 norm (A , p) p-范数,p = 1,2,inf,fro normest (A) 2-范数估计值(4)秩函数)秩函数 rank (A)(5)迹函数)迹函数 trace (A)(6)通用函数形式)通用函数形式 funm (A , 函数名)如: funm (A , sqrt)同 sqrtm (A)区别于 sqrt (A)(作用到各元素上)P53 表2.6 基本函数表 课后练习课后练习 熟悉Matlab基本操作: 系统的启动、退出,进/出命令窗口、变量浏览器、路径浏览器、程序编辑器。 下下 次次 见见4、矩阵分
14、解函数、矩阵分解函数(1)LU分解分解 L , U = lu (A) A = L*U L , U , P = lu (A) P*A = L*U(2)Cholesky分解分解 R = Chol (A) A = R * R置换阵单位下三角阵置换阵与单位下三角阵的乘积上三角阵5、特殊矩阵的生成、特殊矩阵的生成(1)空阵)空阵 不包含任何元素,但非不包含任何元素,但非“不存在不存在” 利用空阵缩维的例子: a = 1 2 3 4 5 6 ; a( : , 1, 3 ) = a = 2 5a ( 1 , : ) a 的第1行a ( : , 2 ) a 的第2列a ( : , : ) aa ( : ) a
15、所有元素按列排成 的列向量 (2)常用工具阵常用工具阵全零阵全零阵 zeros(N) NN zeros(M,N) MN zeros(size(A) 与A相同大小单位阵单位阵 eye(N) eye(M,N) eye(size(A) 全一阵全一阵 ones(N) ones(M,N) ones(size(A)随机阵随机阵 rand(N) rand(M,N) rand(size(A) rand 生成随机数6、矩阵的一些特殊操作、矩阵的一些特殊操作(1)矩阵的抽取)矩阵的抽取 对角元素抽取对角元素抽取 diag a = diag(A,k) k = 0 diag(A),主对角线 k 0 , 上方第k条对角
16、线 k v = 1 2 6 20 ; a1= -v ( 2 : 4 ); eye ( 2 ), zeros ( 2, 1 ) a1= -2 -6 -20 1 0 0 0 1 0 a2= -v ( 2 : 4 ); a2 ( 2:3, 1:2 ) = eye ( 2 ) a2 = -2 -6 -20 1 0 0 0 1 0四、矩阵的四、矩阵的1、基本数组运算、基本数组运算 + - - (高版本已无 .+ + .- - ) .* ./ . . ( 不同于 * / ) 如: A .*B 不同于 A*B A .3 不同于 A3 A ./ B 不同于 A / B A .B 不同于 A B 数组与常数运算
17、: 3 .*A 同 3*A A ./ 3 同 A /3 3 . A 同 3 A 3 ./A 和 A . 3合法 ( 3/A 和 A 3 不 允许 )针对每个元素进行运算2、数组函数运算、数组函数运算 函数名函数名 ( A ) 如如: sqrt ( A ) ( 不同于不同于sqrtm ( A ) ) exp ( A ) ( 不同于不同于expm ( A ) )3、数组逻辑运算、数组逻辑运算 (1) 基本逻辑关系运算基本逻辑关系运算 运算符运算符: = = = 函数函数: eq ne lt gt le ge 如如: a=b eq( a, b ) P53 表2.6 基本函数表 逻辑与 或 非 运算符
18、运算符: & | 函数函数: and or not 如如 a&b and( a, b ) (2) 逻辑关系函数运算逻辑关系函数运算 P66 表2.19 逻辑关系函数表 如: any all五、多项式及其运算五、多项式及其运算1、多项式的创建、多项式的创建 表达约定: P(x) = a0 xn + a1xn-1 +an-1x+an 用行向量 ( 或列向量 )表示 P = a0 , a1 , , an-1 , an (1)直接输入法直接输入法 例: 输入 x3 - 5x2 + 6x 33 p= 1, -5, 6, -33 ; poly2sym ( p ) ans= x3-5*x2+
19、6*x-33(2) 特征多项式的生成特征多项式的生成 poly(A)(3) 由根创建多项式由根创建多项式 poly(u) u=r1,r2,rn poly(u)表示: (x- r1 ) (x- r2 ) (x- rn ) 例: u=-5, -3+4i, -3-4i ; p= poly(u) p= 1 11 55 125 A为矩阵为矩阵u为向量为向量列向量也可列向量也可x3 +11x2 + 55x +1252、多项式运算、多项式运算(1) 求值求值 polyval ( p, x ) p 行(或列)向量行(或列)向量 x 矩阵矩阵polyvalm ( p, x )数组运算数组运算矩阵运算矩阵运算例:
20、 p= 1, 11, 55, 125 ; b= 1, 1; 1, 1 ; polyval ( p, b ) ans= 192 192 192 192 polyvalm ( p, b ) ans= 206 81 81 206x3 +11x2 + 55x +12513 +11*12 + 55 *1 +125b3 +11*b2 + 55 *b +125+125*eye(2)eye(2)b=1 1 1 1数组运算数组运算矩阵运算矩阵运算(2) 求根求根 roots(p) 得到多项式 p 的根组成的列向量p为向量为向量(3) 乘除法乘除法 乘: conv(p1, p2) p1式 * p2式 除: dec
21、onv(p1, p2) p1式 / p2式(4) 多项式微分多项式微分 polyder ( p ) 多项式 p 的导数p1 、p2为向量为向量p为向量为向量(5) 多项式最小二乘拟多项式最小二乘拟合合 已知 ( xi , yi ) ( i = 1, , m) polyfit(x, y, n)x= x1 , x2 , , xm y= y1 , y2 , , ym 多项式次数多项式次数例: 用三次多项式在 0, 5 上拟合 ex x = 0: 0.1: 5; y = exp ( x ); p = polyfit ( x, y, 3 ); s = polyval (p, x ); plot ( x,
22、 y, b*, x, s, “r- ) legend ( 原曲线, 拟合曲线 ) axis ( 0, 5, 0, 52 )作图函数作图函数蓝色蓝色红色红色图形标签图形标签设置坐标轴刻度范围设置坐标轴刻度范围实线实线3. 基本的绘图功能基本的绘图功能 (数据可视化数据可视化)一、图形窗口一、图形窗口 执行一绘图命令后,自动将图形画在图形窗口(简称图窗)(独立于命令窗口)。 图形窗口创建和控制命令figure figure 生成新的图窗 figure (H) 使H (Figure No.H) 成为当前图窗; 若不存在,则创建之 坐标轴坐标轴坐标轴坐标轴H为正整数为正整数子图形绘制和控制函数subp
23、lot subplot ( m, n, p ) 将图窗分割成 mn 个子窗口, 并指定第p个为当前图窗如: subplot ( 2, 3, 4 ) 165324当当前前二、二维图形绘制二、二维图形绘制1、plot 线形绘图函数 (1) plot (x, y) x为横坐标(向量或矩阵); y为纵坐标(向量或矩阵) (2) plot ( y ) y为纵坐标, x=1, 2, 3, (3) plot ( x, y, s ) s 格式字符串:线型、颜色、点标等 (表4.1) 如: b+ ( 蓝色, +号作点标 ) (4) plot ( x1, y1, s1, x2, y2, s2 ) 在一个图窗中绘制
24、多个图形例: t = 0: pi /100: 2*pi; y1= cos ( t ); figure(1); plot(t, y1); y2= cos( t - 0.25 ); y3= sin( t - 0.5 ); figure(2) plot (t, y1, -, t, y2, -, t, y3,x )加不加分号效果相同加不加分号效果相同2、绘制二维图形的步骤二维图形的步骤(1) 准备数据 如: t = 0: pi /100: 2*pi; y1= cos ( t );(2) 选定绘图窗口或子窗口 如: figure (1) 或 subplot ( 2, 3, 4 )(3) 调用绘图命令 如
25、: plot (t, y1, -, t, y2, -, t, y3,x )(4) 加上必要的修饰 如: legend ( 原曲线, 拟合曲线 ) axis ( 0, 5, 0, 52 )(1)和和(3)必不可必不可少少!3、图形的控制与标注处理、图形的控制与标注处理(1) 坐标轴控制坐标轴控制 axis ( xmin, xmax, ymin, ymax ) 三维: axis ( xmin, xmax, ymin, ymax, zmin, zmax )(2) 网格线控制网格线控制 (三维也适用) grid on 加上 grid off 清除 grid 切换(3) 图形保留图形保留 实现一窗多次绘
26、图 (三维也适用) hold on 保留当前图形 hold off 返回默认方式 (新图覆盖旧图) hold 切换(4) 图形、坐标轴的名称标注图形、坐标轴的名称标注图形图形 最简单用法: title ( 名称) 标注在图形顶部坐标轴坐标轴 最简单用法: xlabel ( 名称) 标注在 x轴附近 ylabel ( 名称) 标注在 y轴附近(5) 图形的文字标注图形的文字标注 文字注解文字注解 text (x, y, 文字 ) 加至坐标处(x, y ) 三维: text (x, y, z, 文字 ) 图例标注图例标注 legend ( 标注标注1, 标注标注2 ) 如前: legend ( 原
27、曲线, 拟合曲线 )一个或一组点一个或一组点习题一习题一1、对乘、除、幂运算及函数运算分别举例、对乘、除、幂运算及函数运算分别举例说明矩阵运算和数组运算的区别。说明矩阵运算和数组运算的区别。2、将图形窗口分成上下两个子窗口。、将图形窗口分成上下两个子窗口。 上窗绘制上窗绘制 y = sin ( x ) 和和 y = cos ( x ), x 0, 2*pi 的图形的图形,下窗绘制下窗绘制 y = exp ( x ) 和和 y = sqrt ( x ), x 0, 2 的图形,并加上必要的标注。的图形,并加上必要的标注。下下 次次 见见三、三维图形绘制三、三维图形绘制 步骤同二维图形绘制步骤同二
28、维图形绘制 常用绘图函数:常用绘图函数:plot3 mesh surf1、 plot3函数 三维线图 plot3(x, y, z )plot3(X, Y, Z )plot3(x, y, z, s )plot3(x1, y1, z1, s1, x2, y2, z2, s2) x, y, z为向量为向量s为格式字符串为格式字符串X, Y, Z为同阶矩阵为同阶矩阵例:P107 例4.9 x=0: pi/50: 10*pi; y=sin ( x ); z=cos ( x ); plot3 ( x, y, z ) 螺旋线 x = t y = sin ( t ) z = cos ( t )2、mesh函数
29、函数 - 网图网图 mesh ( X, Y, Z, C )mesh ( X, Y, Z) C = Zmesh ( x, y, Z)和mesh ( x, y, Z, C ) length(x)=n, length(y)=m, m, n=size(Z)mesh (Z)和mesh (Z, C ) x =1:n , y = 1: mX, Y, Z, C为矩阵绘制由X, Y, Z, C指定的曲面;C决定颜色x, y为向量例:单位矩阵的网图 a = eye ( 20 ); mesh ( a )3、surf 函数函数 - 着色图着色图调用格式同调用格式同 mesh例: P111例4.15 X, Y = me
30、shgrid ( - -4: 0.5: 4 ); Z = sqrt ( X.2+Y.2 ); surf ( Z )生成网格点生成网格点 特殊的三维图形函数特殊的三维图形函数如如: 饼图饼图 pie3 柱面图柱面图 cylinder 球面图球面图 sphere4. 程序设计程序设计一、一、Matlab的命令执行方式的命令执行方式 1、直接执行、直接执行 - 命令行方式命令行方式 命令 如: a = 1: 6 a = 1 2 3 4 5 6 2、程序执行、程序执行 - M文件方式文件方式 (1)命令式文件)命令式文件 由一组命令构成由一组命令构成 / .m / 文本文件文本文件 执行方式执行方式:
31、 文件名文件名 ( 不必输后缀不必输后缀 .m ) 在在M-edit窗口窗口 菜单菜单 Debug / Run 例: P170 例5.1% logotu.mload logo % 加载文件logo.mat (保存变量的文件)surf(L, R), colormap(M)n = size ( L, 1) % L的第一维axis off %关闭轴显示axis ( 1, n, 1, n, -0.2, 0.35 )view (-37.5, 60 ) %水平、竖直角title ( Life is too short to spend writing Do loops );文件文件 logotu.m 须放
32、在搜索路径中须放在搜索路径中 logotu n = 43 并生成下图并生成下图(2) 函数式文件函数式文件 定义函数 / .m / 文本文件 以 function语句开始 (最后最后无无end ) 调用格式: 输出参数1, 输出参数2=函数名(输入参数列表) 命令式文件命令式文件 M文件文件 函数式文件式文件 构成:无、有构成:无、有function语句比较比较 执行方式:文件名即命令、有参数传递执行方式:文件名即命令、有参数传递 变量作用范围:全局、局部变量变量作用范围:全局、局部变量 例:阶乘函数%fun.mfunction f = fun ( x ) % x !f = 1;for i =
33、 1: x f = f * i ;end调用: a = fun ( 3 ) a = 6 必须相同必须相同!二、建立自己的函数库二、建立自己的函数库 ( 工具箱工具箱 )1、建立特定的目录;2、将自己的 M 文件放在该目录下;3、将该目录加到搜索路径上。三、流程控制语句1、循环语句、循环语句 for - end 循环循环 for i = m: s: n 语句体 % 如前例 end while - end 循环循环 while 表达式 语句体 end例: 求 1 + 2 + + 100s = 0 ;i =1 ;while i = 100 s = s + i ; i = i + 1 ;ends另一简
34、捷方法另一简捷方法:a = 1: 100 ;S = sum ( a )2、选择语句、选择语句 if 语句语句 if 表达式 语句体 else 语句体 end if 表达式 语句体 elseif 表达式 语句体 else 语句体 end 无空格无空格可多组可多组例: P175 例5.5function f = pdbsline ( x )if x 0 f = 0 ;elseif x 1 f = x ;elseif x 2 f = 2 x ;else f = 0 ;end 0 x 0f (x) = x 0 x 1 2 x 1 x 2 0 x 23、分支语句switch 表达式 case 表达式 语句体 ca
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度环保产业员工安全责任合同汇编3篇
- 空调内外机清洗合同协议书2025年
- 2024年度特色旅游纪念品印刷委托合同3篇
- 2024年度质押借款合同纠纷证据保全起诉状3篇
- 2024年抵押房屋权属抵押合同3篇
- 国际货物买卖合同的商订与履行2025年
- 2025货款担保合同
- 文档海上货物运输保险合同(2025年)
- 2024年建设工程合同的标的和属性
- 货物运输合同完整范文2025年
- 天津市河西区 2020-2021学年度第一学期九年级期末质量调查物理试卷(PDF打印版+含答案)
- ERAS在胃肠外科围手术期中的应用和进展陈开波
- 医疗预防保健机构聘用证明
- 三亮三创三比三评会议记录
- 盾构始发施工技术要点PPT(44页)
- 甲烷(沼气)的理化性质及危险特性表
- 促销费用管理办法15
- 剑桥英语 中级班 听力脚本剑桥二
- 职工配偶未就业承诺书
- 质量认证基础知识(共218页).ppt
- GB 13296-2013 锅炉、热交换器用不锈钢无缝钢管(高清版)
评论
0/150
提交评论