第 2章 matlab语言程序设计基础

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2013-10-21 高等应用数学问题的 MATLAB 求解 liyw0816@
25
矩阵的代数运算

矩阵表示

矩阵转置

数学表示

MATLAB 求解
高等应用数学问题的 MATLAB 求解 liyw0816@
26
2013-10-21

矩阵加减法

注意其一为标量的情形 数学表示
2013-10-21
从 format long 和 format long e 中自动 选择最佳记述方式 近似有理数表示
高等应用数学问题的 MATLAB 求解 liyw0816@
3.14159265358979 355/113
15
format hex
format + format bank
format long format long e
format short e 5位科学记数形式表示
3.1416e+00
3.14159265358979e+00
format short g 从 format short 和 format short e 中自动 3.1416 选择最佳记述方式 format long g format rat
含义 计算结果的缺省变量 名 机器零阀值 无穷大,如1/0 虚单元i=j= √ -1 预定义 变量 含义
预定义变 量 ans eps Inf或inf i或j
NaN或 不是一个数(Not a Number), nan 如0/0,∞/∞ nargin 函数输入宗量数目 nargout 函数输入宗量数目 realmax 最大正实数

myvar201

变量名中不得包含空格、标点,但可包含下连 符。

my_var_201(对) my,var 201(错)
高等应用数学问题的 MATLAB 求解 liyw0816@
6
2013-10-21
(三)MATLAB默认的预定义变量

每当MATLAB启动时,预定义变量(Predefined variable)就 被产生。

2013-10-21
高等应用数学问题的 MATLAB 求解 liyw0816@
31
矩阵的比较运算


各种允许的比较关系 >, >=, <, <=, ==,~=, find(), all(), any() 实例
2013-10-21
高等应用数学问题的 MATLAB 求解 liyw0816@
第2章
MATLAB 语言程序设计基础 薛定宇、陈阳泉著《高等应用数学 问题的MATLAB求解》,清华大学 出版社,2004
2013-10-21
高等应用数学问题的 MATLAB 求解 liyw0816@
1
本章主要内容

MATLAB 程序设计语言基础 基本数学运算 MATLAB语言流程控制 MATLAB 函数的编写
2013-10-21 高等应用数学问题的 MATLAB 求解 liyw0816@
16
数值型数据结构

双精度数值变量
IEEE标准,64位 (8字节),11指数位,53数值位 和一个符号位 值域范围 double() 函数的转换


其他数值型数据类型
uint8,常用于图像表示和处理,8位 int8(), int16(), int32(),uint16(), uint32()
pi

圆周率∏
realmin
最小正实数
建议:尽可能不对预定义变量名重新赋值,以免产生混淆。
高等应用数学问题的 MATLAB 求解 liyw0816@
7
2013-10-21
flops:浮点运算数 Lastwarn:最新的警告信息
Lasterr:最新的错误信息
2013-10-21
高等应用数学问题的 MATLAB 求解 liyw0816@
32
解析结果的化简与变换

其他常用化简函数
【例2-6】
2013-10-21
高等应用数学问题的 MATLAB 求解 liyw0816@
33

变量替换

转换成 LaTeX 表示
2013-10-21
高等应用数学问题的 MATLAB 求解 liyw0816@
34
【例2-7】
23
子矩阵提取

基本语句格式 【例2-5】子矩阵提取

提取 A 矩阵全部奇数行,所有列
提取 A 矩阵 3,2,1 行、2,3,4 列构成子矩阵 将 A 矩阵左右翻转
高等应用数学问题的 MATLAB 求解 liyw0816@

பைடு நூலகம்
2013-10-21
24
2.2 基本数学运算
2.2.1 代数运算 2.2.2 逻辑运算 2.2.3 比较运算 2.2.4 解析结果的化简与变换 2.2.5 基本数论运算
29
2013-10-21

点运算

矩阵对应元素的直接运算

例如
2013-10-21
高等应用数学问题的 MATLAB 求解 liyw0816@
30
矩阵的逻辑运算

逻辑变量:
当前版本有逻辑变量 对 double 变量来说,非 0 表示逻辑 1


逻辑运算(相应元素间的运算)
与运算 或运算 非运算 异或运算
高等应用数学问题的 MATLAB 求解 liyw0816@
19

2013-10-21
MATLAB 的基本语句结构

直接赋值语句
【例2-2】表示矩阵
2013-10-21
高等应用数学问题的 MATLAB 求解 liyw0816@
20
【例2-3】 试输入复数矩阵
需要避免的语句

2013-10-21
高等应用数学问题的 MATLAB 求解 liyw0816@
12
2.1.2数据类型
数值计算结果的显示格式 数值型数据 符号型数据 其他数据结构

2013-10-21
高等应用数学问题的 MATLAB 求解 liyw0816@
13
数值显示格式
高等应用数学问题的 MATLAB 求解 liyw0816@
10
2013-10-21
(五)复数和复数矩阵


MATLAB把复数作为一个整体处理,虚数单位 用自定义变量i或j表示。 复数z=a+bi=reiθ直角坐标表示和极坐标表示之间 转换的MATLAB指令如下:
real(z) imag(z) abs(z) angle(z) z的实部a=rcosθ z的虚部b=rsinθ z的模r=√(a2+b2) z的相角θ=arctg(b/a)
9
MATLAB书写表达式的规则:

表达式由变量名、运算符和函数名组成。 表达式将按与常规相同的优先级自左至右 执行运算。 优先级的规定是:指数运算级别最高,乘 除运算次之,加减运算级别最低。 括号可以改变运算的次序。 书写表达式时,赋值符“=”和运算符两侧 允许有空格,以增加可读性。
8
(四 )运算符和表达式

经典教科书上的算术运算符在MATLAB中 的表达方式。
加 减 乘 除 幂
数学表达式 MATLAB运算符 a+b + a-b a×b a÷b ab × /或\ ^
MATLAB表达式 a+b a-b
a×b a/b或b\a a^b
2013-10-21
高等应用数学问题的 MATLAB 求解 liyw0816@
2013-10-21
高等应用数学问题的 MATLAB 求解 liyw0816@
2
2.1 MATLAB 程序设计语言基础



2.1.1常量、变量和表达式 2.1.2数据类型 2.1.3MATLAB的基本语句结构 2.1.4冒号表达式和子矩阵提取
2013-10-21
高等应用数学问题的 MATLAB 求解 liyw0816@
求其 Taylor 幂级数展开
2013-10-21

矩阵乘法

MATLAB 表示 注意相容性

2013-10-21 高等应用数学问题的 MATLAB 求解 liyw0816@
27

矩阵除法
矩阵左除:AX = B,求 X MATLAB 求解:X=A\B 最小二乘解

矩阵右除:XA = B,求 X MATLAB求解:X=B/A 最小二乘解
3
2.1.1常量、变量和表达式



(一)数值的记述 (二)变量命名规则 (三) MATLAB默认的预定义变量 (四)运算符和表达式 (五)复数和复数矩阵
2013-10-21
高等应用数学问题的 MATLAB 求解 liyw0816@
4
(一 )数值的记述

采用习惯的十进制表示,可带小数点或负 号。以下记述都合法。 3 -99 0.001 9.456 1.3e-3 4.5e33

MATLAB的矩阵元素允许是复数、复变量和由 它们组成的表达式。
高等应用数学问题的 MATLAB 求解 liyw0816@
11
2013-10-21

经典教科书的直角坐标表示法

z1=3+4i

采用运算符构成的直角坐标表示法和极 坐标表示法
z2=1+2*i z3=2*exp(i*pi/6) z=z1*z2/z3


任何MATLAB的语句的执行结果都可以在 屏幕上显示,同时赋值给指定的变量,没 有指定变量时,赋值给一个特殊的变量ans, 数据的显示格式由format命令控制。 format只是影响结果的显示,不影响其计算 与存储;MATLAB总是以双字长浮点数 (双精度)来执行所有的运算。
2013-10-21
2013-10-21
18
MATLAB 支持的其他数据结构



基本数值变量类型:双精度复数矩阵 字符串型数据:用单引号括起来 多维数组:是矩阵的直接扩展,多个下标 单元数组:将不同类型数据集成到一个变 量名下面,用{}表示 结构体:A.b, 引用也用 A.b,不是A->b 类与对象:可以定义重载函数
十六进制表示
40092fb54442d18
显示大矩阵用。正数、负数、 + 零分别用+、-、空格表示 3.14 (金融)元、角、分表示
format compact
format loose
显示变量之间没有空行
在显示变量之间有空行
[说明]1、format short 显示格式是缺省默认的显示格式 2、表中实现的所有格式设置仅在MATLAB的当前执行过 程中有效
高等应用数学问题的 MATLAB 求解 liyw0816@
14
指 令 format format short


举 例 说 明 314.159被显示为 314.1590 3141.59被显示为 3.1416e+003 3.14159265358979
通常保证小数点后四位有效数字,最多 不超过7位;对于大于1000的实数,用5 位有效数字的科学记数形式表示 15位数字表示 15位科学记数形式表示

2013-10-21 高等应用数学问题的 MATLAB 求解 liyw0816@
28

矩阵翻转
左右翻转 上下翻转 旋转 90o 如何旋转180o?


矩阵乘方


A 为方阵,求 MATLAB 实现:
高等应用数学问题的 MATLAB 求解 liyw0816@
2013-10-21
高等应用数学问题的 MATLAB 求解 liyw0816@
5
(二 )变量命名规则

变量名、函数名是对字母大小写敏感的。


Myvar myvar MyVar My Var Sin SIN sin

变量名的第一个字符必须是英文字母,最多可 包含31个字符(英文、数字和下连符)。

2013-10-21
高等应用数学问题的 MATLAB 求解 liyw0816@
17
符号型变量数据类型

符号型,sym(A), 常用于公式推导

变量声明

采用变精度函数求值
【例2-1】求出 p 的 300 位有效数字
高等应用数学问题的 MATLAB 求解 liyw0816@
2013-10-21
高等应用数学问题的 MATLAB 求解 liyw0816@
21

函数调用语句

冒号表达式
2013-10-21
高等应用数学问题的 MATLAB 求解 liyw0816@
22
【例2-4】 用不同的步距生成 (0,p) 间向量
2013-10-21
高等应用数学问题的 MATLAB 求解 liyw0816@
相关文档
最新文档