第4讲 MATLAB矩阵分析及绘图

合集下载

MATLAB矩阵操作教程

MATLAB矩阵操作教程

MATLAB矩阵操作教程第一章:MATLAB中的矩阵介绍1.1 什么是矩阵矩阵是由数个行和列组成的矩形数组,可以用于表示数据和进行数值计算。

1.2 创建矩阵在MATLAB中,可以使用矩阵生成算符进行矩阵的创建,如使用方括号,分号和逗号分隔元素。

1.3 矩阵索引MATLAB中的矩阵索引从1开始,可以使用括号和索引访问矩阵中的元素。

1.4 矩阵运算MATLAB提供了丰富的矩阵运算函数,如加法、减法、乘法、除法等,可用于执行矩阵操作。

第二章:MATLAB矩阵的基本操作2.1 矩阵转置可以使用单引号将矩阵转置,即将矩阵的行变为列,列变为行。

使用方括号和逗号将矩阵进行水平或垂直合并。

2.3 矩阵切片可以使用冒号运算符和索引,对矩阵进行切片操作,提取出所需的子矩阵。

2.4 矩阵重塑使用reshape函数可以改变矩阵的形状,重新组织矩阵元素的排列顺序。

2.5 矩阵求逆使用inv函数求矩阵的逆矩阵,如果矩阵不可逆,则会报错。

第三章:MATLAB矩阵的高级操作3.1 特征值与特征向量使用eig函数可以计算矩阵的特征值和特征向量,以进行其他相关计算。

3.2 矩阵分解MATLAB中提供了多种矩阵分解函数,如LU分解、QR 分解、奇异值分解等,可用于求解线性方程组、矩阵逆等问题。

使用左除运算符(\)和右除运算符(/)可以求解形如AX=B的线性方程组。

3.4 矩阵迭代可以使用循环结构和条件判断,在MATLAB中实现矩阵的迭代计算。

第四章:MATLAB中的矩阵应用4.1 数据处理与分析使用MATLAB可以进行各种数据处理和分析,如平均值计算、数据拟合、统计分析等。

4.2 信号处理利用MATLAB中的矩阵操作函数,可以进行信号滤波、频谱分析、波形生成等信号处理操作。

4.3 图像处理MATLAB中的矩阵操作函数可用于图像的载入、处理、显示和保存,如图像滤波、边缘检测、图像分割等。

4.4 机器学习利用MATLAB中的矩阵操作与机器学习算法相结合,可以进行分类、回归、聚类等机器学习任务。

1第四讲MATLAB矩阵课件PPT

1第四讲MATLAB矩阵课件PPT
21 实例:以不同的格式显示pi的值
学习内容
一.变量和数据操作 二.数组和矩阵的创建 三.数组和矩阵的寻访和操作 四.数组和矩阵运算
22
MATLAB矩阵简介
从结构上讲,矩阵(数组)是MATLAB数 据存储的基本单元。
从运算角度讲,矩阵形式的数据有多种 运算形式,例如向量运算,矩阵运算, 数组运算等。
19
5.数据的输出格式
MATLAB用十进制数表示一个常数,具体 可采用日常记数法和科学记数法(如 3.5e5)两种表示方法。
在一般情况下,MATLAB内部每一个数据 元素都是用双精度数来表示和存储的。
20
5.数据的输出格式
数据输出时用户可以用format命令设置或 改变数据输出格式,
format命令的格式为:format+格式符 注:格式符决定数据的输出格式,格式符的 形式可以为 compact; losse;bank; short;long;short e;long e等。
8
一、变量和数据操作
1. 变量命名 在MATLAB 中,变量名是以字母开头,后接
字母、数字或下划线的字符序列,但不得 使用空格和标点符号,最多63个字符。如 my_var_201是合法的变量而my,var201就 不是变量名
9
变量命名命名规则(续)
在MATLAB中,变量名区分字母的大小 写,如变量myvar和MyVar表示两个不同 的变量,sin是MATLAB定义的正弦函数 名,但SIN,Sin等都不是。
1 0 % x1 2 5 % x2 2 0 % x3 5 % x4 1 2 %
x1 x2 x3 x4 1
2
0
x1
16 x2
10 x3
15x4

第四讲 MATLAB绘图

第四讲 MATLAB绘图

希腊字母、上标、下标、数学符号、字型:
\ alpha \ beta \ gamma \ pi \ tall
\ Delta
\ delta
\ Omega
a2 a^{2} a2 a _{2} \ inf ty \ times \ oplus \ otimes
t = -pi:pi/100:pi; y = sin(t); plot(t,y) axis([-pi pi -1 1]) xlabel('-\pi \leq {\itt} \leq \pi’, 'FontSize',16) ylabel('sin(t) ', 'FontSize',16) title('Graph of the sine function') text(1,-1/3,'{\itNote the odd symmetry.}')
plot(x1, y1, 选项1, x2, y2, 选项2, …, xn, yn, 选项n) plot (x, y, ‘color_linestyle_marker’) 例 : plot (x, y, ‘y:square’)
color_linestyle_marker
Color strings are 'c', 'm', 'y', 'r', 'g', 'b', 'w', and 'k'. These correspond to cyan, magen, white, and black.
%加图形标题
xlabel('independent variable X');

《MATLAB矩阵分析》幻灯片

《MATLAB矩阵分析》幻灯片

020
120
006
136
>> diag(ans) ans =
?
例: 矩阵生成函数例如
>>A=pascal(3)
>>diag(A)
ans = 111
123
ans = 1 2 6
136
>> diag(ans)
>>tril(A)
ans =
ans =
100
100
020
120
006
136
>> diag(ans) ans =
(5) 伴随矩阵 MATLAB生成伴随矩阵的函数是 compan(p),其中p是一个多项式的系数 向量,高次幂系数排在前,低次幂排在后。 例如,为了求多项式的x3-7x+6的伴随矩 阵,可使用命令: p=[1,0,-7,6]; compan(p)
(6) 帕斯卡矩阵 我们知道,二次项(x+y)n展开后的系数随 n的增大组成一个三角形表,称为杨辉三角 形。由杨辉三角形表组成的矩阵称为帕斯 卡(Pascal)矩阵。函数pascal(n)生成一个 n阶帕斯卡矩阵。
• 杨辉三角是一个由数字排列成的三角形数表,一般形式如下: 1 11 121 1331 14641 1 5 10 10 5 1 1 6 15 20 15 6 1 ...................................................... 杨辉三角最本质的特征是,它的两条斜边都是由数字1组成的,而其 余的数那么是等于它肩上的两个数之和。
《MATLAB矩阵分析》幻 灯片
本课件PPT仅供大家学习使用 学习完请自行删除,谢谢! 本课件PPT仅供大家学习使用 学习完请自行删除,谢谢!

Matlab中的矩阵操作详解

Matlab中的矩阵操作详解

Matlab中的矩阵操作详解引言:Matlab是一种强大的数值计算工具,广泛应用于各个领域,尤其在科学研究和工程设计中。

矩阵操作是Matlab的重要特性之一,它使得我们可以方便地处理和分析大量的数据。

本文将详细介绍Matlab中的矩阵操作,包括矩阵的定义、创建、操作和应用,旨在帮助读者更好地掌握这一方面的知识。

一、矩阵的定义和创建在Matlab中,矩阵是由行和列组成的矩形数据结构。

我们可以用一对方括号“[]”来表示一个矩阵,行与行之间用分号“;”隔开。

例如,下面是一个3行4列的矩阵的定义:A = [1, 2, 3, 4; 5, 6, 7, 8; 9, 10, 11, 12];除了直接定义矩阵,Matlab还提供了一些特殊的函数来创建矩阵。

例如,我们可以使用zeros函数创建一个所有元素都为零的矩阵:B = zeros(2, 3);这样就创建了一个2行3列的零矩阵。

同样地,我们还可以使用ones函数创建所有元素都为1的矩阵,eye函数创建单位矩阵,rand函数创建随机矩阵等等。

二、矩阵的基本操作在Matlab中,我们可以对矩阵进行各种操作,包括矩阵的加减乘除运算,矩阵的转置和逆等。

以下是一些常见的矩阵操作示例:1. 矩阵加法和减法:可以直接使用"+"和"-"运算符进行矩阵的加法和减法。

例如,假设有两个矩阵A和B,它们的维度相同,可以通过以下代码实现矩阵的加法和减法:C = A + B; % 矩阵相加D = A - B; % 矩阵相减2. 矩阵乘法:在Matlab中,我们可以使用"*"运算符来实现矩阵的乘法。

但需要注意的是,矩阵乘法的维度满足一定的条件。

例如,如果矩阵A的维度是m×n,矩阵B的维度是n×p,那么矩阵A乘以矩阵B的结果矩阵C的维度就是m×p。

以下是一些矩阵乘法的示例:C = A * B; % 矩阵相乘3. 矩阵转置和逆:在Matlab中,我们可以使用"'"运算符来实现矩阵的转置。

MATLAB画图矩阵处理

MATLAB画图矩阵处理



Matlab图像读入: X=Imread(‘zab1.jpg’); 图像输出: Imshow(X); 注意:图像要在工作目录下 图像处理:

融合(矩阵加法), 边界提取等(edge)
二、矩阵 1. 矩阵的生成 >>a=[1 2 3 -4; 5 6 7 8; -1 3 -5 7] %生成矩阵 >>b=[a; 2 4 6 8] % 添加一行 >>c=[b,b(4,:)’] % 将b的第四行转置为一列添在后面 >>d=ones(2) %2×2的全 1 矩阵 >>f=ones(3,1) %全1向量 >>I=eye(3) %3×3的单位矩阵 >> v=repmat(0,[3,5,7]) %三维矩阵 >>C=cat(3,zeros(3,5),ones(3,5),randn(3,5),rand(3,5))
3 矩阵函数
>>sin(a)+2.*a >>b.^2 >>b^2 >>det(b) %行列式的值 >> rank(b) %矩阵的秩 >>a1=sum(a) %矩阵 a 各列元素的和 >>sum(a1) %向量 a1 各分量的和 >>a1=max(a) %矩阵 a 各列元素的最大元 >>max(a1) %向量 a1 各分量的的最大元


2. 矩阵的运算 >>h=A’ %矩阵转置 >>A±B %矩阵(与数)加减 >>A.*B , A./B %矩阵对应元素相乘,除 >>X=A*B %矩阵相乘 >>X=A.^2 %矩阵各元素乘方 >>X=inv(A) %方阵A求逆 >>X=A\B %左除,A*X=B, X=inv(A)*B, 解方程 >>X=A/B %右除,X*B=A, X=A*inv(B) >>size(A) %矩阵A的维数 >>length(a) %向量 a 元素的个数

matlab第4讲

matlab第4讲

2013-7-9
Matlab Language
14
6、算术运算 (续)
2013-7-9
Matlab Language
15
6、算术运算 (续)
【例5-2】点幂“.^”举 例 >>a=1:6
a= 1 2 3 4 5 6
>>a=a.^2
a= 1 4 9 16 25 36
>>b=b.^2
b= 1 4
>>b=reshape(a,2,3)
2013-7-9
Matlab Language
22
【例7-1】求向量的最大值 >>x=[-43,72,9,16,23,47]; >>y=max(x) %求向量x中的最大值 y= 72 >>[y,l]=max(x) %求向量x中的最大值及其该元素的位置 y= 72 l= 2
2013-7-9
Matlab Language
7
5、多维数组 (续)
三维数组元素的寻址:可以(行、列、页)来确定。 以维数为 3×4×2 的三维数组为例,其寻址方式如 下图所示:

数组 A 是三维数组,其中 A(:,:,1)代表第一页的二 维数组,A(:,:,2)代表第二页的二维数组。
Matlab Language
8
2013-7-9
5、多维数组 (续)
标量关系进行比较,并给出结果,形成一个维数与原来相同
的0、1矩阵。 3、当一个标量与一个矩阵比较时,该标量与矩阵的各元素进行
比较,结果形成一个与矩阵维数相等的0、1矩阵。
2013-7-9
Matlab Language
17
7、关系运算 (续) 【例】建立5阶方阵A,判断其元素能否被3整除。

matlab数组,矩阵,绘图

matlab数组,矩阵,绘图

由各元胞创建
由各元胞内容 创建
取多个元胞元素内容 [X4,X5,X6]=deal(A{[1,2,4]})
结构数组
创建结构数组
直接使用赋 值指令创建 结构数组 利用 struct 函数创建
PS(1).name='张三' PS(1).billing=150 PS(1).test=[9,75,60;188,44,100] PS(2).name='欧阳';PS(2).billing=203; PS(2).test=[11,65,82;155,74,93] PS(1)=struct('name','张三','billing',150,'test',[9,75,60;188,44,100]); PS(2)=struct('name','欧阳','billing',203,'test',[11,65,82;155,74,93])
字符串转换函数 Abs double Setstr Fprintf Sscanf Sprintf Int2str Str2num Num2str Str2mat Lower Upper 字符串到 ASCII 码的转换 ASCII 码转换成字符串 按照给定的格式把文本写到文件中或显示屏上 按照给定的格式将字符串转换成数字 按照给定的格式将数字转换成字符串 整数转换成字符串 字符串转换成数字 数字转换成字符串 字符串转换成一个文本矩阵 字符串变为小写 字符串转换成大写
ij
flipud(A) fliplr(A) rot90(A) [x,D]=Eig(A) reshape
将 A 阵上下翻转 将 A 阵左右翻转 将 A 阵逆时针旋转 90 度 A 为 n 阶方阵,A*x=x*D,D 的对角元素的特征值,x 的列是特征 向量 保持数组总元素个数不变的情况下,改变行数和列数
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

x1=x(k);
%取y1与y2相等点的x坐标
y3=0.2*exp(-0.5*x1).*cos(4*pi*x1); %求y1与y2值相等点的y坐标 plot(x,y1,x,y2,'k:',x1,y3,'bp');
5.3 图形标注与坐标控制
1.图形标注
有关图形标注函数的调用格式为:
title(图形名称) xlabel(x轴说明) ylabel(y轴说明) text(x,y,图形说明)
例:用求逆矩阵的方法解线性方程组
x 2 y 3z 5 x 4 y 9 z 2 x 8 y 27 z 6
4.4 矩阵求值
1.方阵的行列式值 把一个方阵看作一个行列式,并对其按行列式的规则求值, 这个值就称为矩阵所对应的行列式的值。 在MATLAB中,求方阵A所对应的行列式的值的函数是 det(A)。
5.2 设置曲线样式
MATLAB提供了一些绘图选项,用于确定所绘曲线
的线型、颜色和数据点标记符号,它们可以组合使用。
线型 线方式: - 实线 :点线 -. 虚点线 - - 波折线。
线型 点方式: . 圆点 +加号 * 星号 x x形 o 小圆 颜色:b蓝 ;g绿;r红; c青; m紫; y黄; k黑; w白;
>> y=[1 2 3;4 5 6;7 8 9];
>> plot(x,y);
(2) 当x,y是同维矩阵时,则以x,y对应列元素为横、纵
坐标分别绘制曲线,曲线条数等于矩阵的列数。 >> x=[1 2 3;4 5 6;7 8 9]; >> y=[7 8 9;1 2 3;4 5 6]; >> plot(x,y); (3) 对只包含一个输入参数的plot函数,当输入参数是实矩阵 时,则按列绘制每列元素值相对其下标的曲线,曲线条数等 于输入参数矩阵的列数。 >> x=[1 2 3;4 5 6;7 8 9]; >> plot(x,y);
yi a bxi
此外,常用的函数还有reshape(A,m,n),它在矩阵总元 素保持不变的前提下,将矩阵A重新排成m×n的二维矩阵。
2、用于专门学科的特殊矩阵
魔方矩阵
魔方矩阵有一个有趣的性质,其每行、每列及两条 对角线上的元素和都相等。对于n阶魔方阵,其元素由
1,2,3,…,n2共n2个整数组成。MATLAB提供了求魔方矩阵
第5章 MATLAB绘图
5.1 二维数据曲线图
5.1.1 绘制单根二维曲线 plot函数的基本调用格式为: plot(x,y)
其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。
例5-1 在0≤x≤2区间内,绘制曲线 y=2e-0.5xcos(4πx) 程序如下: x=0:pi/100:2*pi; y=2*exp(-0.5*x).*cos(4*pi*x);
>> A=[1 2 3;4 5 6;7 8 9];
>> triu(A) ans = 1 2 0 5 0 0 >> tril(A,-1) ans = 0 0 0 4 0 0 7 8 0 >> tril(A,1) ans = 1 2 0 4 5 6 7 8 9
3 6 9
>> triu(A,1) ans = 0 2 3 0 0 6 0 0 0
2 1.5
1
0.5
0
-0.5
-1
plot(x,y)
-1.5
-2
0
1
2
3
4
5
6
7
例5-2 绘制曲线。 程序如下: t=0:0.1:2*pi; x=t.*sin(3*t); y=t.*sin(t).*sin(t); plot(x,y);
5
4.5
4
3.5
3
2.5
2
1.5
1
0.5
0 -6
-4
-2
0
2
4
6
plot函数最简单的调用格式是只包含一个输入参数:
纵坐标范围默认在最大最 小值之间。
4.图形保持
hold on/off命令控制是保持原有图形还是刷新原有图
形,不带参数的hold命令在两种状态之间进行切换。
例4-5 采用图形保持,在同一坐标内绘制曲线 y1=0.2e-0.5xcos(4πx) 和y2=2e-0.5xcos(πx)。 程序如下: x=0:pi/100:2*pi; y1=0.2*exp(-0.5*x).*cos(4*pi*x); plot(x,y1) hold on y2=2*exp(-0.5*x).*cos(pi*x); plot(x,y2); hold off
plot(x)
在这种情况下,当x是实向量时,以该向量元素的下标为 横坐标,元素值为纵坐标画出一条连续曲线,这实际上是绘 制折线图。
5.1.2 绘制多根二维曲线
1.plot函数的输入参数是矩阵形式
(1) 当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不 同颜色的曲线。曲线条数等于y矩阵的另一维数,x被作为这 些曲线共同的横坐标。 >> x=[1 2 3];
例:建立3*3,3*2的和矩阵A同样大小的零矩阵 Zero(3,3) Zero(3,2) Zero(size(A))
例(1)在区间[20,50]内均匀分布的5阶随机矩阵
(2)均值为0.6,方差为0.1的5阶正态分布随机矩阵
任意[a,b]区间上均匀分布的随机数: yi a (b a) xi 均值为a,方差为b^2的随机数:
MATLAB对矩阵A实施上下翻转的函数是flipud(A)。
4.3 矩阵的逆
1.矩阵的逆 对于一个方阵A,如果存在一个与其同阶的方阵B,使得: A· B=B· (I为单位矩阵)则称B为A的逆矩阵,当然,A也是B的 A=I 逆矩阵。 求一个矩阵的逆是一件非常烦琐的工作,容易出错,但在 MATLAB中,求一个矩阵的逆非常容易。求方阵A的逆矩阵可调 用函数inv(A)。 例 求方阵A的逆矩阵,并验证其互逆。
2.矩阵的秩和迹
(1)矩阵的秩 矩阵线性无关的行数与列数称为矩阵的秩。在MATLAB中, 求矩阵秩的函数是rank(A)。 (2)矩阵的迹 矩阵的迹等于矩阵的对角线元素之和,也等于矩阵的特征 值之和。在MATLAB中,求矩阵的迹的函数是trace(A)。
3.矩阵的特征值与特征向量
在MATLAB中,计算矩阵A的特征值和特征向量的函数 是eig(A),常用的调用格式有3种:
>> plot(x1,y1,x2,y2,x3,y3)
3.具有两个纵坐标标度的图形
在MATLAB中,如果需要绘制出具有不同纵坐标标 度的两个图形,可以使用plotyy绘图函数。调用格式为: plotyy(x1,y1,x2,y2)
其中x1,y1对应一条曲线,x2,y2对应另一条曲线。横坐标的标 度相同,纵坐标有两个,左纵坐标用于x1,y1数据对,右纵坐
(1) E=eig(A):求矩阵A的全部特征值,构成向量E。
(2) [V,D]=eig(A):求矩阵A的全部特征值,构成对角阵D, 并求A的特征向量构成V的列向量。
例 用求特征值的方法解方程。3x5-7x4+5x2+2x-18=0 p=[3,-7,0,5,2,-18]; A=compan(p); %求伴随矩阵A x1=eig(A) %求A的特征值 x2=roots(p) %直接求多项式p的零点
例5-6 在同一坐标内,分别用不同线型和颜色绘制曲线 y1=0.2e-0.5xcos(4πx) 和y2=2e-0.5xcos(πx),标记两曲线交叉点。 程序如下:
x=linspace(0,2*pi,1000); y1=0.2*exp(-0.5*x).*cos(4*pi*x); y2=2*exp(-0.5*x).*cos(pi*x); k=find(abs(y1-y2)<1e-2); %查找y1与y2相等点(近似相等)的下标
标用于x2,y2数据对。
例5-4 用不同标度在同一坐标内绘制曲线 y1=0.2e-0.5xcos(4πx) 和y2=2e-0.5xcos(πx)。
程序如下:
x=0:pi/100:2*pi;
y1=0.2*exp(-0.5*x).*cos(4*pi*x); y2=2*exp(-0.5*x).*cos(pi*x); plotyy(x,y1,x,y2);
的函数magic(n),其功能是生成一个n阶魔方阵。 观察magic(5),其元
素为1~25,每行每列
及对角线的和均为65 例: 将101~125等25个数填 入一个5行5列的表格中,使 其每行每列及对角线的和均 为565。
4.2 矩阵的结构变换
1、对角阵与三角阵
(1)对角阵 只有对角线上有非0元素的矩阵称为对角矩阵,对角线上的元素相等的 对角矩阵称为数量矩阵,对角线上的元素都为1的对角矩阵称为单位矩阵。 提取矩阵的对角线元素
2.含多个输入参数的plot函数 调用格式为: plot(x1,y1,x2,y2,…,xn,yn)
(1)
当输入参数都为向量时,x1和y1,x2和y2,…,xn和yn 分别组成一组向量对,每一组向量对的长度可以不同。 每一向量对可以绘制出一条曲线,这样可以在同一坐标
内绘制出多条曲线。
>> x1=linspace(0,2*pi,100); >> y1=sin(x1); >> x2=linspace(0,3*pi,70); >> y2=1+sin(x2); >> plot(x1,y1,x2,y2)
(2) 当输入参数有矩阵形式时,配对的x,y按对应列元
素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的 列数。
>> x1=linspace(0,2*pi,100); >> y1=sin(x1); >> x2=linspace(0,3*pi,100); >> y2=1+sin(x2); >> x3=[x1;x2]'; >> y3=[y1+2;y2+2]';
相关文档
最新文档