matlab与数值分析课件:MATLAB介绍(2)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3. 数组乘方(.^) — 元素对元素的幂
例: a=[1 2 3];b=[4 5 6]; z=a.^2 z=
1.00 4.00 z=a.^b z=
1.00 32.00
9.00 729.00
关系操作和逻辑操作
关系操作符: <、<=、>、>=、 = =(等于)、 ~=(不等于) 关系运算规则: 两个变量都是标量,则结果为真(1)或假(0)。 两个变量都是数组,则必须大小相同,结果也
如:signal processing toolbox 信号处理工具箱
线性系统求解:(Ax=b)
例:用一个简单命令求解线性系统
3x1+ x2 - x3 = 3.6 x1+2x2+4x3 = 2.1 -x1+4x2+5x3 = -1.4
线性系统求解:(Ax=b)
输入指令: A=[3 1 -1;1 2 4;-1 4 5];b=[3.6;2.1;-1.4]; x=A\b
[q,r]= dconv(c,a) 其中:
c=conv(a,q)+r
➢ 例: a=[1 3 2 1]; c=[4 15 26 47 51 29 10]; [q,r]=deconv(c,a)
3. 多项式的加减 对多项式所对应的向量利用数组加减 运算规则执行加减运算。
注:多项式所对应的向量如果大小不相等 ,必须用0补齐。
b=[2 4 6;1 3 5;7 9 10];
a.*b
ans =
2
8
18
4
15 30
49
72 90
a=[1 2 3;4 5 6;7 8 9]; b=[2 4 6;1 3 5;7 9 10];
a*b ans =
25 55
37
46
85 109
85 133 172
a./b=b.\a a.\b=b./a
用分号分隔
矩阵元素:
矩阵元素可以是任何matlab表达式 , 可以是实数 ,也可以是复数,复 数可用特殊函数I,j 输入 a=[1 2 3;4 5 6] x=[2 pi/2;sqrt(3) 3+5i]
注意:只要是赋过值的变量,不管是否 在屏幕上显示过,都存储在工作空间中, 以后可随时显示或调用。变量名尽可能 不要重复,否则会覆盖
Spline
样条分析工具箱
Statistics
统计分析工具箱
…
MATLAB的部分通用命令
clear : 删除内存中的变量。 clc: 删除工作窗口的内容。 clf: 删除图形窗口的内容。
Matlab联机帮助命令
• help 功能提供matlab大部分主题的在线
帮助信息 help 显示help 主题一览表 help plotxyz 显示有关三维做图指令帮助 信息
是同样大小的数组,数组的元素为0或1。
关系操作
一个数组和一个标量,则把数组的每个元 素分别与标量比较,结果为与数组大小相 同的数组,数组的元素为0或1。
<、<= 和 >、>=,仅对参加比较变量的实 部进行比较,
= = 和 ~= ,则同时对实部和虚部进行 比较。
逻辑操作
逻辑操作符: &(与)、|(或)、~(非)和xor(异或)。
a=[1,2,3;4,5,6;7,8,9];a^2 ans =30 36 42
66 81 96 102 126 150
4. 矩阵的其它运算
inv —— 矩阵求逆 det —— 行列式的值 eig —— 矩阵的特征值 diag —— 对角矩阵
’ —— 矩阵转置 sqrt —— 矩阵开方
• 不同的是whos在给出驻留变量 的同时,还给出他们的维数及性 质
Matlab的演示功能 •demo 在线演示
MATLAB的数值运算
数据类型 数据运算:双精度型(Double)
支持的数据类型: 数值型、字符型、单元型和结构型
复数的表示:
i,j表示虚数单位 z=a+b*i 或 z=a+b*j
—— 给出a,b对应元素间的商.
a./b=b.\a — 都是a的元素被b的对应元
素除
a.\b=b./a — 都是b的元素被a的对应元
素除
例: a=[1 2 3];b=[4 5 6]; c1=a.\b; c2=b./a
c1 = 4.0000 2.5000 2.0000
c2 = 4.0000 2.5000 2.0000
通过根创建多项式poly 其调用格式如下:
P=poly(A) 如A为向量,则P是多项式的系数行向量, 该多项式的根A。
注意: 如A为n×n的矩阵,则P是一个长度为n+1
的行向量,它是A的特征多项式的系数;
➢ 例:
A=[6 -8 6;1 0 0;0 2 0]; p=poly(A), roots(p), D=eig(A)
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
1
2
3
4
5
6
常用专业性工具箱:
Control System
最基本的控制工具箱
Signal Processing
信号处理工具箱
Image Processing
图像处理工具箱
Communication
通讯工具箱
Higher-Order Spectral Analysis 高阶谱分析
第二章 矩阵运算及应用
1. 矩阵加、减(+,-)运算
规则: 相加、减的两矩阵必须有相同的行和
列两矩阵对应元素相加减。 允许参与运算的两矩阵之一是标量。
标量与矩阵的所有元素分别进行加减 操作。
2. 矩阵乘()运算
规则: A矩阵的列数必须等于B矩阵的行数 标量可与任何矩阵相乘。 a=[1 2 3;4 5 6;7 8 0];b=[1;2;3];c=a*b c =14
有的变量存到filename.mat文件中。 save filename a b ——将工作空间中
a和b变量存到filename.mat文件中。
load —— load filename —— load filename a b ——
即可恢复保 存过的所有 变量
mat文件是标准的二进制文件, 还可以ASCII码形式保存。
得到结果: x=
1.4818 -0.4606 0.3848
例、用简短命令计算并绘制在0x6范围内的 sin(2x)、sinx2、sin2x。
x=linspace(0,6) y1=sin(2*x),y2=sin(x.^2),y3=(sin(x)).^2; plot(x,y1,x, y2,x, y3)
一种演算纸式的科学工程计算语言
MATLAB
MATLAB的两个主要部分
1.核心部分:几百个核心内部函数。 2.大量可选的工具箱。
MATLAB的基本组成
MATLAB主程序 MATLAB语言、工作环境、句柄图形、数学
函数库和应用程序接口 MATLAB的功能性工具箱
如: Simulink:动态系统仿真 MATLAB的学科性工具箱
虽然help可以随时提供帮助,但必须知道 准确的函数名称。当不能确定函数名称
时,help就无能为力了。
• Lookfor函数— 它可提供通过一般的关
键词,搜索出一组与之相关的命令
lookfor fourier 寻找含有傅立叶变换的相 关指令
变量查询函数who与whos
• 作用都是列出在matlab工作空间 中已经驻留的变量名清单
a=[1 3 2 1]; b=[4 3 9 10];
c=conv(a,b)
2. 多项式的除法dconv 多项式的除法的运算实质就是多项式系数的解
卷积运算。向量a对向量c进行解卷积得到的商向 量q和余向量r,满足:
k c(k)-r(k)= a(i)q(k+1-i)
i=1 在Matlab,完成此功能的命令是dconv:
32 23
矩阵除的运算在线性代数中没有,有矩阵逆的运算, 在matlab中有两种矩阵除运算。
矩阵左除:A\B 定义为:X=A\B AX=B
矩阵右除:B/A 定义为:X=B/A
XA=B
(B/A)’=(A’\B’)
3. 矩阵乘方
a ^ p —— a 自乘p次幂
方阵 整数
当p为正整数时,表示方阵自乘p次; 当p为负整数时,表示方阵自乘p次后的逆; 当p为零时,为方阵同维的单位阵。
的一个元素; 字符串中的字符以ASCII码形式存储并
区分大小
字符串数组的建立。
例: a=‘This is a test.’ A=‘中国 成都’ B=‘China ‘’中國‘’’
字符串数组的建立 有效字符串连成长字符串 多行字符串数组的直接创建 利用字符串操作函数创建字符串数组 利用转换函数建立字符串数组 字符串数组的元素标识
数组运算
数组运算指元素对元素的算术运 算,与通常意义上的由符号表示的 线性代数矩阵运算不同 1. 数组加减(.+,.-) a.+b
对应元素相加减(与矩阵加 a.- b 减等效)
2. 数组乘除(,./,.\) ab —— a,b两数组必须有相同的行
和列两数组相应元素相乘。
a=[1 2 3;4 5 6;7 8 9];
多项式的表示和创建
在Matlab中,任意的多项式都是用一个 行向量表示,将多项式的系数按降幂排 列存放在行向量中。多项式p(x)=a0xn+a1 xn-1+…+an-1x+an对应的行向量为:
P=[a0 a1 … an]。
1. 直接创建多项式 ➢ 例:
p(x)=2x4+5x3-8x+3[2 5 0 -8 3]
2.用matlab函数创建矩阵
空阵 [ ] — matlab允许输入空阵,当一 项操作无结果时,返回空阵。
rand —— 随机矩阵 eye —— 单位矩阵 zeros ——全部元素都为0的矩阵 ones ——全部元素都为1的矩阵
向量的生成:
利用冒号生成向量 x=i:j 如果I<J,生成以1为增量的向量 如果I>J,生成X空向量 x=i:j:k j是递增步长
a b a & b a | b ~a xor(a,
b)
00 0
0
1
0
01 0
1
1
1
10 0
1
0
1
11 1
1
0
0
运算符优先级
'(矩阵转置)、^(矩阵幂)和.'(数组转置)、.^(数组 幂)
~(逻辑非) *(乘)、/(左除)、\(右除)和.*(点乘)、./(点左
除)、.\(点右除) +、-(加减) : (冒号) <、<=、>、>=、~= &(逻辑与)
a2ans303642668196102126150inv矩阵求逆det行列式的值eig矩阵的特征值diag对角矩阵sqrt矩阵开方矩阵的其它运算数组运算指元素对元素的算术运算与通常意义上的由符号表示的线性代数矩阵运算不同ab两数组必须有相同的行和列两数组相应元素相乘
MATLAB工具软件
科学家和工程技术人员需要的研究工具
多项式的基本运算
1. 多项式的乘法c积运算。 卷积的定义为
K
c(k)= a(i)b(k+1-i) i=1
在Matlab,完成此功能的命令是conv:
C= conv(a,b)。 ➢ 例:
求a=x3+3x2+2x1+1和b=4x3+3x2+9x1+10的乘积 。
矩阵的标识和引用
矩阵的子矩阵通过向量、标量的标识来 引用和赋值。 1.向量标识 A(u, v) 2. “0~1”向量标识 A(L)
例:
找出4阶魔方阵中大于10的元素。
A= 16 2 5 11 97 4 14
3 13 10 8 6 12 15 1
字符串数组
规则:
所有字符串都用单引号括起来; 字符串中的每个字符都是字符串变量中
符号的作用:
“ ,” 逗号的作用
逗号可作为指令间的分隔符, matlab允许多条语句在同一行出 现。
数据的保存与获取
把matlab工作空间中一些有用的数据 长久保存下来的方法是生成mat数据 文件。 save —— 将工作空间中所有的变量 存到matlab.mat文件中。
默认文件名
save filename——将工作空间中所
当b是一个数字时,可以表示为 z=a+bi 或 z=a+bj
MATLAB的矩阵和数组运算
matlab 具有出色的矩阵运算能力, 占据世界上数值计算软件的重要 地位
矩阵的创建:
1. 创建矩阵的方法
直接输入法 规则:
矩阵元素必须用[ ]括住 矩阵元素必须用逗号或空格分隔 在[ ]内矩阵的行与行之间必须
求根:
roots 调用方式: roots(A)
注意:
求根的精度问题: 例:y=(x-1)6 =x6-x5+15x4-20x3+15x2-6x+1
a=[1 -6 15 -20 15 -6 1] a= 1 -6 15 -20 15 -6 1 >> roots(a) ans =
1.0042 + 0.0025i 1.0042 - 0.0025i 1.0000 + 0.0049i 1.0000 - 0.0049i 0.9958 + 0.0024i 0.9958 - 0.0024i
➢ 例: 求a=x3+3x2+2x1+1和b=4x3+3x2+9x1+10的和 与差。