MATLAB简介及矩阵(第二次课)
《Matlab》教学大纲

《Matlab》教学大纲一、课程基本信息课程编号:中文名称:Matlab英文名称:Matlab课程类别:专业选修课适用专业:电子信息科学与技术预修课程(编号):高等数学、C语言程序设计课程简介:Matlab是一个可视化的计算程序,被广泛地应用在科学运算领域里。
它具有功能强大、使用简单等特点,内容包括:数值计算、符号运算、数据拟合、图形图像处理、程序设计方法、系统模拟和仿真分析等功能。
本课程的目的是使学生能够运用Matlab进行一般的工程计算,掌握Matlab的基本技术,为将来从事工程技术方面的产品开发、科学研究、工程计算和管理打下一定的基础。
二、课程性质和教学目的1.本课程是电子专业的一门重要技术基础课,是一门面向应用的专业选修课程。
2.本课程的基本任务是使学生了解Matlab特点、熟悉Matlab环境、掌握Matlab的基本使用方法。
掌握Matlab中变量和函数的有关概念、以及矩阵和多项式的构造方法;掌握数组运算和矩阵运算,并能够使用常用的函数进行简单问题的求解;掌握符号变量和符号表达式的定义,并能用符号运算解决一般的微积分和方程求解问题;掌握Matlab程序设计的基本控制转移语句,学会使用简单M文件的编程;掌握二维平面图形和三维立体图形的绘制方法,进行数据可视化处理;理解用户图形界面程序的构造,掌握编程方法。
3.通过本课程的学习,使学生能够运用Matlab进行一般的工程计算,掌握Matlab的基本技术(基本计算、矩阵处理、符号运算和图形显示技术等),为将来从事工程技术方面的产品开发、科学研究、工程计算和管理打下一定的基础。
三、推荐教材和参考书目推荐教材:王沫然编,《Matlab与科学计算》(第2版),北京:电子工业出版社,2003参考书目:1.苏晓生编著,《掌握Matlab 6.0及其工程应用》,北京:北京科学出版社,20022.M a g r a b,E d w a r d B.著,高会生等译,《M a t l a b原理与工程应用》,北京:电子工业出版社,2002 3.精锐创作组编著,《M a t l a b6.0科学运算完整解决方案》,北京:人民邮电出版社,2001四、教学内容与课时分配1.学时与学分:学时52学时(讲授26学时,上机26学时),周学时4学时,2.5学分。
第2章MATLAB矩阵及其运算

·30·
第 2 章 MATLAB 矩阵及其运算
的求解方法时,因不完善的设计导致的内存溢出。在此,主要针对第二种情况进行分析并 给出相应的解决方案。
1.变量名区分大小写 变量名的定义必须符合以下条件: 必须以字母开头。 由字母、数字、下划线组成。 最长为 31 个字符。 一些用户不可以清除的变量,如 ans、eps、pi、Inf、NaN 等。 【例 2-1】 变量定义举例如下:
A a king
在 MATLAB 中的变量不需要事先定义,在遇见新的变量名时,MATLAB 会自动建立 并且为其分配存储空间。如果遇见已经出现的变量,会重新为其分配空间。
a = complex(2,9) b = real(a) c = imag(a)
MATLAB 运行结果如下:
a= 2.0000 + 9.0000i
b= 2
c= 9
3.除了可以把数值直接赋给变量,还可以将表达式、矩阵赋给变量
对于矩阵的讲解,会在后面详细讲解。 【例 2-4】 变量的赋值举例如下:
a=[1 4 7] B=abs(6+13i) C=[]
(4)不同数据结构的内存。 在 MATLAB 中,8 位、16 位、32 位、64 位的有符号整型或无符号整型分别占用 1、2、4、8 字节空间,单精度、双精度浮点数分别占用 4、8 字节空间。 在 MATLAB 中,复数的存储比较特殊。复数的实部和虚部在内存中是分开存放的, 当在程序中修改复数的实部或虚部时,会在修改数据的同时复制复数的实部和虚部。 在 MATLAB 中,当数组的元素绝大部分为 0 时,MATLAB 一般默认采用稀疏矩 阵进行存储以节省空间。
a=[1,2,3,4,5,6,7,8,9,10]
2024版matlab教程(全)资料ppt课件

进行通信系统的建模、仿真和分析。
谢谢聆听
B
C
变量与赋值
在MATLAB中,变量不需要事先声明,可以 直接赋值。变量名以字母开头,可以包含字 母、数字和下划线。
常用函数
MATLAB提供了丰富的内置函数,如sin、 cos、tan等三角函数,以及abs、sqrt等数 学函数。用户可以通过help命令查看函数的
D
使用方法。
02 矩阵运算与数组操作
错误处理
阐述try-catch错误处理机制的语法、 执行流程及应用实例。
04
函数定义与调用
函数概述
阐述函数的概念、作用及分类,包括内置函数和 自定义函数。
函数调用
深入剖析函数的调用方法,包括直接调用、间接 调用及参数传递等技巧。
ABCD
函数定义
详细讲解自定义函数的定义方法,包括函数名、 输入参数、输出参数及函数体等要素。
拟合方法
利用已知数据点构造近似函数,如最小二乘法、多项 式拟合、非线性拟合等。
插值与拟合的比较
插值函数经过所有数据点,而拟合函数则追求整体上 的近似。
数值积分与微分
01
数值积分方法
利用数值技术计算定积分的近似 值,如矩形法、梯形法、辛普森 法等。
02
数值微分方法
通过数值技术求解函数的导数或 微分,如差分法、中心差分法、 五点差分法等。
02
01
矩阵运算
加法与减法
对应元素相加或相减,要求矩阵 大小相同
乘法
使用`*`或`mtimes`函数进行矩阵 乘法,要求内维数相同
点乘与点除
使用`.*`、`./`进行对应元素相乘或 相除,要求矩阵大小相同
特征值与特征向量
matlab第二次课 ( 1 )

2.1 信号的表示与运算
矩阵的创建与修改
•
用load函数装载矩阵
如 load sn.txt load a.mat
sn.txt a.mat为已建立的2个文件
2.1 信号的表示与运算
矩阵的创建与修改
直接修改
可用键找到所要修改的矩阵,用键移 动到要修改的矩阵元素上即可修改。 指令修改 可以用A(,)= 来修改。
plot的调用格式
2.2 matlab 绘图之二维绘图
S的标准设定值 字母 y m c r g b w k 颜色 黄色 粉红 亮蓝 大红 绿色 蓝色 白色 黑色 标点 · ○ × + - : -· (--) 线型 点线 圈线 ×线 +字线 实线 星形线 虚线 点划线
2.2 matlab 绘图之二维绘图 plot的特点
信号自变量t的常用2种生成方法 t=linspace(t1,t2,N);
在区间[t1,t2]s上均匀产生N个时间样点值。
t= t1:1/fs:t2
在区间[t1,t2]s上以采样率f信号的生成 例: 生成在[0,10]s上长度为30的单位阶跃信号, 并作图表示。 t=linspace(0,10,30); y=ones(1,30); Stem(t,y)
信号的生成
1
0.5
0
生成周期三角波
-0.5
sawtooth(T):对时间向量T产生周期三角波
sawtooth(T,WIDTH):WIDTH为(0,1)的偏离系数
0 0.05
-1
0.1
0.15
0.2
在(0,1.5)上生成频率 为50HZ的三角波信号,
1
0.5
采样率为10KHZ.
0
t=0:0.0001:1.5;
第2章 MATLAB的基础知识

a=[1 2 1;2 2 1;2 1 2]; b=[1;2;3]; a/b %矩阵右除
运行程序,得到结果:
??? Error using ==> mrdivide Matrix dimensions must agree.
重新输入语句
a\b
%矩阵左除 ans = 1.0000 -0.3333 0.6667
运行程序,得到结果:
c= 0 0 1 1 1 0
说明 对于复数运算,“= =”与“~ =”运算,既比较实部, 又比较虚部。而其他运算仅比较实部。关系运算同样也可用于 常量与矩阵的比较,在这种情况下,该常量与矩阵的每一个元 素进行比较,其结果是一个与矩阵同维数的0、1矩阵。
逻辑操作符
逻辑操作符 说 明 相对应函数
-0.1667 0 0
(3)矩阵特征值运算
矩阵条件数cond( ) 矩阵的秩rank() 矩阵特征值eig ( )
矩阵范数norm( ) 矩阵的迹trace ( ) 矩阵奇异值svd ( )
例2-7 分别计算矩阵a的有关特征参数。输入以下 MATLAB语句
a=[1 2 3;4 5 6;7 8 0] [cond(a),norm(a),rank(a)]
2.MATLAB工作环境
图形窗口“Figure”
M文件窗口
3.MATLAB的M文件
所谓M文件,就是用户把要实现的命令写在一个 以.m为扩展名的文件中
M文件有两种格式(统称为M文件) 函数式M文件 程序式M文件 程序式M文件用于把很多需要在命令窗口输入的命 令放在一起,就是命令的简单叠加 函数式M文件用于把重复的程序段封装成函数供用 户调用。
&
|
逻辑与
逻辑或
and(a,b)
第2章 MATLAB矩阵及其运算第二次

x为标量。 A^3=A*A*A
2.点运算(重要)
在MATLAB中,有一种特殊的运算,其运算
符是在有关算术运算符前面加点,叫点运算。
点运算符有.*、./、.\和.^。 点运算运算规则:两矩阵对应元素进行相关运算, 要求两矩阵的维参数相同。 A=[2,2;2,2];
B=[2,2;1,1];
A.*B;A./B;B.\A; A.^B;
例2-9 建立矩阵A,然后找出大于4的元素的位置。
(1) 建立矩阵A。 A=[4,-65,-54,0,6;56,0,67,-45,0];
(2) 找出大于4的元素的位置。
k=find(A>4) %找元素序号 A(k)
2.4 矩阵分析
2.4.1 对角阵与三角阵 1.对角阵 只有对角线上有非0元素的矩阵称为对角矩阵,
revch=ch(end:-1:1) k=find(ch>=‘a’ &ch<=‘z’ ); ch(k)=ch(k)-(‘a’ -‘A’ ); 应的大写字母? char(ch)
运算。 运算规则:A和B矩阵内的相应位置(下标相同) 的元素相加减。注意:A和B矩阵的维数相同。 (如果A与B的维数不相同,则MATLAB将给出错
误信息,提示用户两个矩阵的维数不匹配。)
标量可以和矩阵进行加减运算,标量与矩阵内 每一元素相加减。A+b=b+A
(2) 矩阵乘法 两个矩阵A和B,矩阵相乘A*B。 运算规则:线性代数?
例2-13 建立一个字符串向量,然后对该向量做如下
处理: (1) 取第1~5个字符组成的子字符串。
(2) 将字符串倒过来重新排列。
(3) 将字符串中的小写字母变成相应的大写字母, 其余字符不变。 (4) 统计字符串中小写字母的个数。
MATLAB-简介-2--MATLAB输入及输出格式与矩阵运算函数

A=
11
B=
11
111
111
>> C=[1 2; 3 4; 5 6]; >> D=ones(size(C));
>> A=eye(2), B=eye(2,3) % 单位矩阵 A= 10 01 B= 100 010
>> C=[1 2; 3 4; 5 6]; >> D=eye(size(C));
A-3 MATLAB基本功能 我们下面给出一些MATLAB的常用的功能,这
只是MATLAB及其众多TOOLBOX中的极 少极少部分。用户可以参阅有关MATLAB 的手册,或直接在MATLAB系统中用HELP 命令查阅其它功能。
MATLAB的主要线性代数运算 如表A-1所示为常用的矩阵和线性代数运算函
X= 9.2500 4.2500 2.7500
In the second case left- division is performed straight away with the command
A = rand(1000,1000); % Creates a random % matrix A b = rand(1000,1); % Creates a random % vector b det(A) % Calculates the determinant of A tic, % Starts the time-watch x = inv(A)*b; % Solves the system toc % Stops the watch tic, y = A\b; toc % Solves and times the system % with left division
MATLAB基础教程 第2章 数组、矩阵及其运算

写出MATLAB表达式。 解:根据MATLAB的书写规则,以上MATLAB表达式为: (1)y=1/(a*log(1-x-1)+C1) (2)f=2*log(t)*exp(t)*sqrt(pi) (3)z=sin(abs(x)+abs(y))/sqrt(cos(abs(x+y))) (4)F=z/(z-exp(T*log(8)))
命令:X(3:-1:1)
命令:X(find(X>0.5)) 命令:X([1 2 3 4 4 3 2 1])
第二章 数组、矩阵及其运算
2.1 数组(矩阵)的创建和寻访
2. 二维数组的创建和寻访
例2-3 综合练习。将教材P.31~P.44的实例按顺序在MATLAB的 command窗口中练习一遍,观察并体会其输出结果。 (注意变量的大小写要和教材上的严格一致。)
A./B
B.\A
A的元素被B的对应元素相除
(与上相同)
第二章 数组、矩阵及其运算
2.3 数组、矩阵的其他运算
1. 乘方开方运算
数组的乘方运算与power函数 格式:c=a.^k或c=power(a,k) 例如: >> g=[1 2 3;4 5 6] >>g.^2 矩阵的乘方运算与mpower函数 格式:C=A^P或C=mpower(A,P) 注意:A必须为方阵
第二章 数组、矩阵及其运算
2.2 数组、矩阵的运算
3. 矩阵的加法、减法
运算规则是:若A和B矩阵的维数相同,则可以执行矩阵的加减运算, A和B矩阵的相应元素相加减。如果维数不相同,则MATLAB将给出
出错信息。
第二章 数组、矩阵及其运算
2.2 数组、矩阵的运算
3. 矩阵的乘法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3、修改矩阵 、 ①合并
用一些小矩阵建造大矩阵 >> A=[1 2 3;4 5 6;7 8 9] A= 1 2 3 4 5 6 7 8 9
>> B=[A A+10;A+20 A+30] B= 1 2 3 11 12 13 4 5 6 14 15 16 7 8 9 17 18 19 21 22 23 31 32 33 24 25 26 34 35 36 27 28 29 37 38 39 可以用一个指标的表达式提取、 可以用一个指标的表达式提取、 删去一个元素或一个元素序列,剩 去一个元素或一个元素序列, 去一个元素或一个元素序列 余元素将构成一个列矢量. 余元素将构成一个列矢量 >> A(2:2:6)=[ ] >> A(2:2:6) A= ans = 1 7 6 4 3 9
>> b=[2 3 1;4 1 2;4 5 3]; >> c=a.^2 >> c=a+b c= c= 1 9 16 3 6 5 4 36 25 6 7 7 9 4 16 7 7 7 >> c=a^2 %矩阵的幂运算 矩阵的幂运算 >> c=a.*b %注意点乘 注意点乘 c= c= 19 29 35 2 9 4 29 52 58 8 6 10 a./b=b.\a 19 29 38 12 10 12 >> c=a.^b %数组的幂运算为各对 >> c=a./b %注意点除 注意点除 应元素间的运算 c= c= 0.5000 1.0000 4.0000 1 27 4 0.5000 6.0000 2.5000 16 6 25 0.7500 0.4000 1.3333 81 32 64
矩阵函数
>> G=[1 8 4;6 8 8;3 5 8]; >> [X,V]=eig(G) %求矩阵本征值与本征函数 X= -0.4681 -0.8920 -0.5321 -0.7173 0.4505 -0.4583 -0.5161 0.0378 0.7119 V= 17.6707 0 0 0 -3.2096 0 0 0 2.5390 %求矩阵行列式的值 >> det(G) ans = -144 %求矩阵的逆 >> inv(G) ans = -0.1667 0.3056 -0.2222 0.1667 0.0278 -0.1111 -0.0417 -0.1319 0.2778
1、定义矩阵 、 方法1:直接输入法 方法2:用Matlab的指令函数生成 的指令函数生成 linspace 等间距的矢量
linspace(x1, x2, N) 产生N个等间距的点 在x1, x2产生 个等间距的点 产生
logspace 对数等分的行矢量
logspace(x1,x2,n) 生成从 x1到10x2包含 个数据的矢量 生成从10 包含n
2.矩阵之间的数学运算 矩阵之间的数学运算
矩阵运算算符: 矩阵运算算符:按矩阵运算法则定义 数组运算算符: 数组运算算符:按矩阵的对应元素进行运算
共轭转置 矩阵运 算算符 数组运 算算符 加 减 乘 右除 左除 幂
A’ A.’
+ +
- -
* .*
/ ./
\ .\
^ .^
数组运算
a:数组与标量的四则运算 数组与标量的四则运算
例:建立一个带参数 的x 的函数 ff=cos2x2+θ 建立一个带参数θ的 并想得到x= 时的函数值。 并想得到 =3,θ=2.1时的函数值。 = 时的函数值
>> ff=inline('cos(x^2)^2+theta','x','theta') >> ff(3,2.1)
欢迎学习
微机应用软件
1.2.2 矩阵
②删除行或列
>> A(:,2)=[ ] %删去第 列 删去第2 A= 1 3 4 6 7 9 元素, 元素,则其不成为一个矩阵
注意:如果从矩阵中删去一个 注意:
?>> B1=B(1:2:end,:)
>> A(1,2)=[ ] ×
③逻辑下标
可以利用具有逻辑运算功能的指令过滤数据 >> x=[2.1 1.7 1.6 1.5 NaN 1.9 1.8 1.5 5.1 1.8 1.4 2.2] >> isfinite(x) %判断元素是否为有限数 判断元素是否为有限数 ans = 1 1 1 1 0 1 1 1 1 1 1 1 有限数取值, >> x=x(finite(x)) %有限数取值,非数或无穷数去掉 >> x=x(abs(x-mean(x))<=2*std(x)) %abs 绝对值 mean平均值 std 标准差 平均值
2、标识矩阵元素 、 3、修改矩阵 、 4、矩阵操作的指令和算符 、
1.2.3 符号变量 1.2.4其它数据结构 其它数据结构
1.2.2 矩阵
2、标识矩阵元素 、 标识元素是指标识某个、 标识元素是指标识某个、某行或某列元素
①行标与列标 A1,1 A1,2 A1,3 A2,1 A2,2 A2,3 A3,1 A3,2 A3,3 A( i,j) B1 B4 B7 B2 B5 B8 B3 B6 B9 B(k) 注意:按列排列! 注意:按列排列! 注意: 注意 a.在查找 查找矩阵元素A( i,j)时,若 查找 i,j 超出了矩阵行数和列数,则显 示出错信息。 b.储存 储存元素A( i,j)时,若 i,j 超出 储存 了矩阵行数和列数,则矩阵自动 扩充并以零填补没有输入的元素。
A( i,j) A( i行列层
表示? 例:A(3,2,1,2)表示? 表示
2、列阵的生成 、 指令1: cat(dim,A1,A2,A3,…)
沿着dim指定的方向将 指定的方向将A1,A2,A3,…组合成一个矩阵 沿着 指定的方向将 组合成一个矩阵
1.2.2.2矩阵运算 矩阵运算
1.用指令对矩阵进行 操作 用指令对矩阵进行 标量函数 对矩阵中的每一个元素 如:sin(A) 矢量函数 对矩阵中的每一列元素 如:max(A) 求逆 矩阵函数 对矩阵中的全体元素 如:inv(A)求逆
>> B=[pi/6,pi/4;pi/3 pi/2]; >> sin(B) %标量函数 标量函数 ans = 0.5000 0.7071 0.8660 1.0000 >> A=[1 2 3; 4 5 6; 7 8 9]; >>max(A) %矢量函数 矢量函数 ans = 7 8 9 >> sum(A) %各列元素之和 ans = 12 15 18 >> prod(A) %各列元素之积 ans = 28 80 162 >> mean(A) %各列的平均值 ans = 4 5 6 >> B=[2 4 6; 1 5 9; 7 3 8] >> median(B) %各列的中位元素 ans = 2 4 8
矩阵运算: 矩阵运算:
▲矩阵的加减运算与数组运算相同 乘除运算要满足矩阵运算法则. ▲乘除运算要满足矩阵运算法则 >> a=[1 2 3; 2 3 4]; >> b=[4 5; 1 3; 8 2]; >>c= a*b c= 30 17 43 27 ★注意:若A*B=C, 则B=A\C, A=C/B
例:
A =[16 3 2 5 10 11 9 6 7 4 15 14 怎样标识 11? 13 8 12 1]
A(2,3)或A(10) 或
②冒号算符
用法1:生成矢量、矩阵 用法 :生成矢量、
>> M=1:10 %步长为 的行矢量 步长为1的行矢量 步长为 M= 1 2 3 4 5 6 7 8 9 10
5、函数
①常用函数: abs 绝对值 sqrt平方根 exp指数 log自然对数 常用函数 平方根 指数 自然对数 sin正弦 cos余弦 tan正切 asin反正弦 sinh 双曲正弦 正弦 余弦 正切 反正弦 特殊函数: 特殊函数:bessel 贝塞尔函数 gamma 伽马函数 ②建造函数,三种方法: 建造函数,三种方法: inline指令建造在线函数 指令建造在线函数 用符号变量建造 用M文件建造 文件建造 ③inline指令 指令 函数名=inline( '函数内容 ,自变量列表) 函数内容' 自变量列表) 函数名 ( 函数内容
约定:Dim维 : 1 约定: 维
>> B=0:pi/4:pi %步长为 的行矢量 步长为π/4的行矢量 步长为 B= 0 0.7854 1.5708 2.3562 3.1416 >> M(10:-1:4) %M的第十个元素和第四个元素的倒排 的第十个元素和第四个元素的倒排 ans = 10 9 8 7 6 5 4
用法2: 用法 :表示矩阵的一部分或者一行或一列的全部元素 如:A( :, j) 矩阵 的第 列 A( i,: ) 矩阵 的第 行 矩阵A的第 的第j列 矩阵A的第 的第I行 A(1 :k, j) 矩阵 的第 列的前 个元素 矩阵A的第 列的前k个元素 的第j列的前 小知识: 小知识:end 表示最后一个元素 如:A(end, j) 矩阵 的第 列的最后一个元素 矩阵A的第 的第j列的最后一个元素 A( i,end ) 矩阵 的第 行的最后一个元素 ?A(end,:) 矩阵A的第 的第I行的最后一个元素
1.2.3 列阵
列阵(array)储存多维数组; 列阵 储存多维数组; 储存多维数组
1、结构 、 A1,1 A1,2 A1,3 A1,1 A1,2 A1,3 A1,1 A2,1 A2,2 A2,3 A1,1 A1,2 A A A2,1 1,2 2,2 1,3 2,3 AA AA 3,2 A2,1 A3,1 A2,3 3,3 A2,1 A2,2 A A3,1 2,2 3,2 A3,3 A A3,1 A3,2 A3,3 A3,1 A3,2 A1,1 A1,2 A1,3 A1,1 A A A A 2,2 A1,3 A2,1 1,2A1,3 1,3 1,2 A1,3 A1,1 A1,2 A1,1 A 2,3 A2,1 A2,2 A2,3 3,2 A2,3 A2,2 A2,1 A3,3 A2,1 A3,1 AA2,3 A2,2 A2,3 A3,1 A3,2 A3,3 A3,3 A3,1 A3,2 AA3,3 A3,2 A3,3 3,1