MATLAB第2章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2016年1月14日8时19分
MATLAB原理与工程应用
46
本章难点
矩阵的输入与提取 冒号运算符 点运算 向量化编程 函数的编写与调用
2016年1月14日8时19分
MATLAB原理与工程应用
47
39
【例2-17】前面的要求,m, 10000
•无需修改程序
2016年1月14日8时19分
MATLAB原理与工程应用
40
【例2-18】
•若只给出一个输入参数,则会自动生成一个方阵 •在函数中给出合适的帮助信息
•检测输入和返回变量的个数
edit myhilb
2016年1月14日8时19分
MATLAB原理与工程应用
29
【例2-14】求 >> tic, s=0; for i=1:100000, s=s+1/2^i+1/3^i; end
toc
2016年1月14日8时19分
MATLAB原理与工程应用
30
转移结构
2016年1月14日8时19分
MATLAB原理与工程应用
31
2016年1月14日8时19分
MATLAB原理与工程应用
直接赋值语句
【例2-2】表示矩阵
2016年1月14日8时19分
MATLAB原理与工程应用
7
函数调用语句
冒号表达式
2016年1月14日8时19分
MATLAB原理与工程应用
8
【例2-3】 用不同的步距生成 (0,p) 间向量
2016年1月14日8时19分
MATLAB原理与工程应用
9
Linspace(a,b,n) 【例2-4】 0到pi的50个等间距点 T=linspace(0,pi,50) 相当于
8 x1 x2 6 x3 7.5 3x1 5 x2 7 x3 4 4 x1 9 x2 2 x3 12
8 3 4 1 5 9 6 x1 7.5 x 4 7 2 2 x3 12
– eps, i, j, pi, Inf, NaN
– lastwarn, lasterr
2016年1月14日8时19分
MATLAB原理与工程应用
3
数值型数据结构
双精度数值变量 – IEEE标准,64位 (8字节),11指数位,53数 值位和一个符号位 – – double() 函数的转换 其他数据类型 – uint8,常用于图像表示和处理,8位 – int8(), int16(), int32(),uint16(), uint32()
MATLAB求解 A=[8 1 6;3 5 7;4 9 2]; B=[7.5 4 12]’; x=A\B
2016年1月14日8时19分 MATLAB原理与工程应用 17
矩阵翻转 – 左右翻转 – 上下翻转 – 旋转 90o 矩阵乘方 – A 为方阵,求 – MATLAB 实现:
2016年1月14日8时19分
2016年1月14日8时19分
MATLAB原理与工程应用
27
2.3 MATLAB 语言流程控制
循环结构 – for 结构
– while 结构
2016年1月14日8时19分
MATLAB原理与工程应用
28
【例2-12】用循环求解
【例2-13】用循环求解 求最小的 m
2016年1月14日8时19分
MATLAB原理与工程应用
MATLAB原理与工程应用
2
2.1 MATLAB 语言基础
MATLAB 语言的变量名规则 – 由一个字母引导,后面可以为其他字符 – 区分大小写 Abc ABc – 有效 MYvar12, MY_Var12 和 MyVar12_ – 错误的变量名 12MyVar, _MyVar12 MATLAB 的保留常量
subs(P,’s’,5)
2016年1月14日8时19分 MATLAB原理与工程应用 23
【例2-7】
求其 Taylor 幂级数展开 syms a b c d t; f= cos(a*t+b)+sin(c*t)*sin(d*t); f1=taylor(f) pretty(f1)
结果
பைடு நூலகம்
2016年1月14日8时19分
MATLAB原理与工程应用
24
基本数论运算
2016年1月14日8时19分
MATLAB原理与工程应用
25
【例2-8】 对下面的数据进行取整运算 -0.2765,0.5772,1.4597,2.1091,1.191,-1.6187
2016年1月14日8时19分
MATLAB原理与工程应用
26
【例2-10】1856120,1483720,最大公约数、 最小公倍数,质因数分解 m=1856120; n=1483720 g=gce(m,n); l=lcm(m,n); [g,l] %prod验证 【例2-11】1-1000间质数
字符串型数据:用单引号括起来 多维数组:是矩阵的直接扩展,多个下标 单元数组:将不同类型数据集成到一个变量名 下面,用{ }表示(细胞型) 结构体:A.b, 引用也用 A.b,不是A->b 类与对象:可以定义重载函数
2016年1月14日8时19分
MATLAB原理与工程应用
6
MATLAB 的基本语句结构
41
2016年1月14日8时19分
MATLAB原理与工程应用
42
2016年1月14日8时19分
MATLAB原理与工程应用
43
2.4.2 可变输入输出个数
【例2-21】 可以计算两个多项式的积 用 varargin 实现任意多个多项式的积
2016年1月14日8时19分
MATLAB原理与工程应用
44
0:pi/49:pi
2016年1月14日8时19分
MATLAB原理与工程应用
10
子矩阵提取
基本语句格式 【例2-5】子矩阵提取 – 提取 A 矩阵全部奇数行,所有列
– 提取 A 矩阵 3,2,1 行、2,3,4 列构成子矩阵 – 将 A 矩阵左右翻转
2016年1月14日8时19分
MATLAB原理与工程应用
32
【例2-15】用循环求解 求最大的 m
2016年1月14日8时19分
MATLAB原理与工程应用
33
2.3.3 开关结构
2016年1月14日8时19分
MATLAB原理与工程应用
34
2016年1月14日8时19分
MATLAB原理与工程应用
35
和 C 语言的区别
当开关表达式的值等于某表达式,执行该语句 后结束该结构,不用 break 同时满足若干个条件之一,则用单元结构 otherwise 语句,不是 default 程序的执行结果和各个case顺序无关 case 语句中条件不能重复,否则列在后面的 条件将不能执行
2016年1月14日8时19分
MATLAB原理与工程应用
13
矩阵的代数运算
矩阵转置 – 数学表示
– MATLAB 求解 B=A’
2016年1月14日8时19分
MATLAB原理与工程应用
14
矩阵加减法
– 注意其一为标量的情形 矩阵乘法 – 数学表示
– MATLAB 表示 – 注意相容性
2016年1月14日8时19分 MATLAB原理与工程应用 15
各种允许的比较关系 >, >=, <, <=, ==,~=, find(), all(), any() 实例
2016年1月14日8时19分
MATLAB原理与工程应用
21
解析结果的化简与变换
其他常用化简函数
【例2-6】
2016年1月14日8时19分
MATLAB原理与工程应用
22
变量替换
syms x subs(P,’s’,x)
2016年1月14日8时19分 MATLAB原理与工程应用 4
符号型变量数据类型
符号型,sym(A), 常用于公式推导 – 变量声明
– 采用变精度函数求值 【例2-1】求出 p 的 300 位有效数字
2016年1月14日8时19分
MATLAB原理与工程应用
5
MATLAB 支持的其他数据结构
第 2 章 程序设计基础
现代设计与分析研究所 王 雷
2016年1月14日8时19分 MATLAB原理与工程应用 1
本章主要内容
2.1 MATLAB 语言基础 2.2 MATLAB 基本数学运算 2.3 MATLAB 语言流程控制 2.4 MATLAB 函数的编写
2016年1月14日8时19分
2016年1月14日8时19分
MATLAB原理与工程应用
36
2.3.4 试探结构
全新结构
2016年1月14日8时19分
MATLAB原理与工程应用
37
2.4 MATLAB 函数的编写
函数是 MATLAB 编程的主流方法 除了函数外,还可以采用 M-script 文件 M-script 适合于小规模 【例2-16】若最大值不为 10000,需修改程序
2.4.3 inline 函数和匿名函数
inline 函数,可以免去文件
MATLAB 7.0
2016年1月14日8时19分
MATLAB原理与工程应用
45
【例2-19】inline函数
f=inline(‘x.^3’,’x’); t=-1:0.05:1; y=f(t);
plot(t,y)
f=inline('sin(sqrt(x.^2.+y.^2))','x','y'); t=-1.5*pi:0.2:1.5*pi; [x,y]=meshgrid(t); z=f(x,y);mesh(x,y,z)
11
例子 – exstring.m – xibao.m – jiegou.m 字符串数据类型 单元数组(细胞) 结构型数据
2016年1月14日8时19分
MATLAB原理与工程应用
12
2.2 基本数学运算
2.2.1 代数运算 2.2.2 逻辑运算 2.2.3 比较运算 2.2.4 解析结果的化简与变换 2.2.5 基本数论运算
对 m 和 10000 值的设置,不适合于M-script
2016年1月14日8时19分
MATLAB原理与工程应用
38
2.4.1 MATLAB 语言的函数的基本结构
• nargin, nargout, varargin, varargout
2016年1月14日8时19分
MATLAB原理与工程应用
矩阵除法 – 矩阵左除:AX = B,求 X – – MATLAB 求解:X=A\B – A不是方阵,求最小二乘解 – 矩阵右除:XA = B,求 X – – MATLAB求解:X=B/A – A不是方阵,求最小二乘解
2016年1月14日8时19分
MATLAB原理与工程应用
16
矩阵除法
求解方程组
MATLAB原理与工程应用
18
点运算 – 矩阵对应元素的直接运算
– 例如
2016年1月14日8时19分
MATLAB原理与工程应用
19
矩阵的逻辑运算
逻辑运算(相应元素间的运算) – 与运算 – 或运算 – 非运算 – 异或运算
2016年1月14日8时19分
MATLAB原理与工程应用
20
矩阵的比较运算