矩阵在matlab中的基本命令
- 格式:docx
- 大小:22.28 KB
- 文档页数:12
matlab常用指令MATLAB是一款非常实用的科学计算软件,在使用过程中,一些常用的指令是非常必要的。
在本篇文章中,我们将会介绍MATLAB常用指令,以使你更加熟练掌握MATLAB的使用。
一、基本数学运算+ 加- 减* 乘/ 除^ 幂(指数)sqrt 平方根exp 取指数log 取自然对数log10 取以10为底的对数sin 正弦cos 余弦tan 正切asin 反正弦acos 反余弦atan 反正切abs 绝对值rem 模运算fix 向零取整floor 向负无穷取整ceil 向正无穷取整round 四舍五入mod 取摸余数二、变量与矩阵1、赋值:通过等号将数值赋给变量,如:a=3;b=2.1;c=2+3i;2、数列:建立一个等差数组,例如:d=1:10; %1到10的等差数列e=linspace(0,2*pi,100); %0到2*pi之间的100个等间距点 a=[1 2 3;4 5 6;7 8 9];b=zeros(2,3);c=ones(3,2);d=rand(3,3);e=eye(4);4、矩阵元素操作:通过下标访问矩阵中的元素,例如:a(1,2) %输出a矩阵第一行第二列的元素b(2,3)=7 %将b矩阵第二行第三列的元素赋为75、矩阵运算:矩阵加减乘除,如:a+b %对应元素相加a-b %对应元素相减a*b %矩阵乘法a/b %矩阵除法a' %矩阵转置6、矩阵函数:除了使用基本操作外,还能使用各种矩阵相关函数完成矩阵计算,例如:inv(a) %矩阵求逆det(a) %矩阵求行列式trace(a) %矩阵求迹eig(a) %求特征值rank(a) %矩阵的秩size(a) %返回矩阵的大小max(a) %求矩阵元素最大值min(a) %求矩阵元素最小值sum(a) %求矩阵元素的和prod(a) %求矩阵所有元素的乘积mean(a) %求矩阵元素的平均值三、绘图1、二维绘图:绘制二维函数的曲线、散点图等,例如:x=linspace(-3,3,100); %生成-3到3之间的100个等间距点y=sin(x);plot(x,y); %绘制正弦函数曲线plot(x,y,'r--'); %绘制红色的正弦函数曲线,形状为虚线xlabel('x values');ylabel('y values');title('sine function');grid on;四、数据处理1、数据导入:在MATLAB中,可以通过各种方式将数据导入,如:a=load('filename.txt'); %从文件中载入数据b=xlsread('filename.xls'); %从Excel文件中载入数据五、编程1、条件语句:通过条件语句实现程序的分支结构,例如:if(a<0)disp('a is negative');elseif(a==0)disp('a is zero');elsedisp('a is positive');endfor i=1:10disp(i);end3、函数:在MATLAB中,可以自定义函数,函数调用格式为:function [out1,out2,...]=function_name(in1,in2,...)%函数说明%计算过程end4、脚本:在MATLAB中,脚本是一些命令或函数的集合,可以将脚本保存到文件中执行,例如:%脚本说明a=1;b=2;c=a+b;disp(c);以上便是MATLAB一些常用指令的详细介绍。
MATLAB中对矩阵的基本操作在MATLAB中,可以对矩阵进行多种基本操作,包括创建矩阵、访问元素、改变矩阵的大小、插入和删除元素、矩阵的运算等。
以下是对这些操作的详细说明:1.创建矩阵:在MATLAB中,可以使用多种方式创建矩阵。
其中最常用的方式是使用方括号将元素排列成行或列,例如:```A=[1,2,3;4,5,6;7,8,9];```这将创建一个3x3的矩阵A,其元素为1到92.访问元素:可以使用括号和下标来访问矩阵中的元素。
下标从1开始计数。
例如,要访问矩阵A的第二行第三列的元素,可以使用以下代码:```A(2,3);```这将返回矩阵A的第二行第三列的元素。
3.改变矩阵的大小:可以使用函数如reshape和resize来改变矩阵的大小。
reshape函数可以将矩阵重新组织为不同的行和列数。
例如,以下代码使用reshape 将3x3的矩阵A重新组织为1x9的矩阵B:```B = reshape(A, 1, 9);```resize函数可以改变矩阵的大小,可以用来增加或减少矩阵的行和列数。
例如,以下代码将矩阵A的大小改变为2x6:```A = resize(A, 2, 6);```4.插入和删除元素:可以使用括号和下标来插入和删除矩阵中的元素。
例如,以下代码会在矩阵A的第二行的末尾插入一个元素10:```A(2, end+1) = 10;```同时,可以使用括号和下标来删除矩阵中的元素。
以下代码将删除矩阵A的第一行的第二个元素:```A(1,2)=[];```这将删除矩阵A的第一行的第二个元素。
5.矩阵的运算:-矩阵乘法:使用*符号进行矩阵乘法运算。
例如,以下代码将矩阵A 与矩阵B相乘:```C=A*B;```-矩阵加法和减法:使用+和-符号进行矩阵加法和减法运算。
例如,以下代码将矩阵A和矩阵B相加得到矩阵C:```C=A+B;```-矩阵转置:使用'符号进行矩阵的转置操作。
例如,以下代码将矩阵A转置:```B=A';```-矩阵相乘:使用.*符号进行矩阵的元素级相乘运算。
MATLAB矩阵一、MATLAB矩阵的基本概念。
MATLAB矩阵是由数值或符号元素组成的二维数组,它是MATLAB中最基本的数据类型之一。
矩阵中的每个元素都有一个行索引和一个列索引,这样可以方便地对矩阵进行操作和计算。
在MATLAB中,矩阵的表示方式非常简单,只需要使用方括号将元素排列起来即可。
例如,一个3行2列的矩阵可以表示为:A = [1 2; 3 4; 5 6]这个矩阵中有6个元素,分别是1、2、3、4、5和6,它们按照从左到右、从上到下的顺序排列在一起。
在MATLAB中,矩阵的行数和列数分别可以通过size 函数来获取,这样可以方便地了解矩阵的大小和结构。
二、MATLAB矩阵的常见操作。
1. 创建矩阵。
在MATLAB中,可以通过直接输入元素的方式来创建矩阵,也可以通过一些特定的函数来生成特定类型的矩阵。
例如,可以使用zeros函数来创建全零矩阵,使用ones函数来创建全一矩阵,使用eye函数来创建单位矩阵等等。
这些函数可以帮助用户快速地生成需要的矩阵,提高工作效率。
2. 访问元素。
可以通过行索引和列索引来访问矩阵中的元素,也可以使用冒号操作符来访问矩阵的子集。
这样可以方便地获取矩阵中的特定元素或者子矩阵,进行进一步的计算和处理。
3. 矩阵运算。
MATLAB中支持矩阵的加法、减法、乘法、除法等基本运算,也支持矩阵的转置、逆矩阵、行列式等高级运算。
这些运算可以帮助用户进行各种复杂的数学计算和工程分析,解决实际问题。
4. 矩阵函数。
MATLAB中有许多内置的矩阵函数,可以对矩阵进行各种操作和变换。
例如,可以使用svd函数进行奇异值分解,使用eig函数进行特征值分解,使用inv函数求解逆矩阵等等。
这些函数可以帮助用户更方便地进行数学建模和数据处理。
三、MATLAB矩阵的实际应用。
1. 科学计算。
在科学研究中,经常需要对各种复杂的数学模型进行求解和分析,这时MATLAB矩阵就可以发挥重要作用。
例如,可以使用矩阵来表示线性方程组,然后通过矩阵运算来求解方程组的解。
1.1 矩阵的表示1.2 矩阵运算1.2.14 特殊运算1.矩阵对角线元素的抽取函数diag格式X = diag(v,k) %以向量v的元素作为矩阵X的第k条对角线元素,当k=0时,v为X的主对角线;当k>0时,v为上方第k条对角线;当k<0时,v为下方第k条对角线。
X = diag(v) %以v为主对角线元素,其余元素为0构成X。
v = diag(X,k) %抽取X的第k条对角线元素构成向量v。
k=0:抽取主对角线元素;k>0:抽取上方第k条对角线元素;k<0抽取下方第k条对角线元素。
v = diag(X) %抽取主对角线元素构成向量v。
2.上三角阵和下三角阵的抽取函数tril %取下三角部分格式L = tril(X) %抽取X的主对角线的下三角部分构成矩阵LL = tril(X,k) %抽取X的第k条对角线的下三角部分;k=0为主对角线;k>0为主对角线以上;k<0为主对角线以下。
函数triu %取上三角部分格式U = triu(X) %抽取X的主对角线的上三角部分构成矩阵UU = triu(X,k) %抽取X的第k条对角线的上三角部分;k=0为主对角线;k>0为主对角线以上;k<0为主对角线以下。
3.矩阵的变维矩阵的变维有两种方法,即用“:”和函数“reshape”,前者主要针对2个已知维数矩阵之间的变维操作;而后者是对于一个矩阵的操作。
(1)“:”变维(2)Reshape函数变维格式 B = reshape(A,m,n) %返回以矩阵A的元素构成的m×n矩阵BB = reshape(A,m,n,p,…) %将矩阵A变维为m×n×p×…B = reshape(A,[m n p…]) %同上B = reshape(A,siz) %由siz决定变维的大小,元素个数与A中元素个数相同。
(5)复制和平铺矩阵函数repmat格式 B = repmat(A,m,n) %将矩阵A复制m×n块,即B由m×n块A平铺而成。
matlab行列式运算的命令Matlab是一种功能强大的数值计算和科学计算软件,可以进行各种矩阵和行列式运算。
在本文中,我们将介绍一些常用的Matlab命令,用于进行行列式运算。
一、计算行列式的值在Matlab中,可以使用det()函数来计算一个矩阵的行列式值。
该函数的语法为:det(A)其中,A表示待计算行列式的矩阵。
下面是一个示例:A = [1 2; 3 4];d = det(A);这段代码将计算一个2×2矩阵A的行列式的值,并将结果保存在变量d中。
二、计算矩阵的逆逆矩阵是指对于一个n×n的矩阵A,存在一个n×n的矩阵B,使得A×B = B×A = I,其中I是单位矩阵。
在Matlab中,可以使用inv()函数来计算矩阵的逆。
该函数的语法为:B = inv(A)其中,A表示待计算逆矩阵的矩阵,B表示计算得到的逆矩阵。
下面是一个示例:A = [1 2; 3 4];B = inv(A);这段代码将计算一个2×2矩阵A的逆矩阵,并将结果保存在变量B 中。
需要注意的是,不是所有的矩阵都有逆矩阵。
如果一个矩阵没有逆矩阵,那么在Matlab中计算逆矩阵时会出现错误。
三、计算矩阵的转置矩阵的转置是指将矩阵的行和列进行交换得到的新矩阵。
在Matlab 中,可以使用transpose()函数或者'运算符来计算矩阵的转置。
下面是一个示例:A = [1 2 3; 4 5 6];B = transpose(A);C = A';这段代码将计算一个3×2矩阵A的转置,并将结果分别保存在变量B和C中。
四、计算矩阵的秩矩阵的秩是指矩阵中线性无关的行或列的最大个数。
在Matlab中,可以使用rank()函数来计算矩阵的秩。
该函数的语法为:r = rank(A)其中,A表示待计算秩的矩阵,r表示计算得到的秩。
下面是一个示例:A = [1 2 3; 4 5 6; 7 8 9];r = rank(A);这段代码将计算一个3×3矩阵A的秩,并将结果保存在变量r中。
如何使用Matlab进行矩阵运算随着科学技术的不断发展,矩阵运算在各个领域的应用日益广泛。
Matlab作为一款功能强大的数学软件,其矩阵运算能力非常强大。
本文将介绍如何使用Matlab进行矩阵运算,希望能对读者在科学研究和工程实践中的矩阵计算有所帮助。
一、Matlab的基本矩阵运算1. 创建矩阵在Matlab中,可以使用一对方括号`[]`来创建矩阵。
例如,要创建一个3行3列的矩阵A,可以使用如下命令:A = [1 2 3; 4 5 6; 7 8 9]。
这样就创建了一个元素分别为1到9的3行3列矩阵。
2. 矩阵加法和减法Matlab中可以使用加号和减号来进行矩阵的加法和减法运算。
例如,要计算矩阵A和B的和,可以使用命令C = A + B;要计算矩阵A和B的差,可以使用命令D = A - B。
3. 矩阵乘法Matlab中使用乘号`*`来进行矩阵的乘法运算。
例如,要计算矩阵A和B的乘积,可以使用命令C = A * B。
需要注意的是,矩阵乘法是满足结合律的,即A *(B * C) = (A * B) * C。
4. 矩阵转置在Matlab中,可以使用单引号`'`来对矩阵进行转置操作。
例如,对矩阵A进行转置,可以使用命令B = A'。
需要注意的是,转置操作只能应用于二维矩阵。
5. 求逆矩阵在Matlab中,可以使用inv函数来求解矩阵的逆矩阵。
例如,要求矩阵A的逆矩阵,可以使用命令B = inv(A)。
需要注意的是,只有方阵才有逆矩阵。
6. 矩阵的特征值和特征向量Matlab中可以使用eig函数来求解矩阵的特征值和特征向量。
例如,要求矩阵A的特征值和特征向量,可以使用命令[V,D] = eig(A),其中V为特征向量矩阵,D 为特征值对角矩阵。
二、Matlab的高级矩阵运算1. 矩阵的点乘和叉乘Matlab中使用.*和.^来进行矩阵的点乘和叉乘运算。
例如,要计算矩阵A和B 的点乘,可以使用命令C = A .* B;要计算矩阵A和B的叉乘,可以使用命令D =A .^ B。
MATLAB中求矩阵转置的命令在MATLAB中,矩阵的转置是一个常见且重要的操作。
通过矩阵转置,我们可以将矩阵的行变成列,列变成行,从而改变矩阵的维度和排列顺序。
本文将介绍MATLAB中求矩阵转置的命令,包括基本的转置操作、矩阵转置的应用、以及一些注意事项。
1. 基本的转置操作在MATLAB中,我们可以使用单引号操作符'来对矩阵进行转置。
具体的语法格式如下:A' % 对矩阵A进行转置其中,A是待转置的矩阵。
下面是一个简单的例子:A = [1, 2, 3; 4, 5, 6];B = A'; % 对矩阵A进行转置,结果存储在矩阵B中在上述例子中,矩阵A是一个 2x3 的矩阵,通过转置操作后,得到的矩阵B是一个 3x2 的矩阵。
2. 矩阵转置的应用矩阵转置在数据处理和线性代数中有广泛的应用。
下面介绍一些常见的应用场景。
2.1 矩阵乘法在矩阵乘法中,矩阵的转置常常与乘法运算结合使用。
例如,对于两个矩阵A和B,如果A的列数与B的行数相等,则可以通过矩阵乘法求得它们的乘积C:C = A * B';在上述例子中,A的转置操作A'将A的列变成了行,使得乘法运算得以进行。
2.2 矩阵的行列式和逆矩阵在线性代数中,矩阵的转置可以用于求解矩阵的行列式和逆矩阵。
例如,对于一个方阵A,它的行列式可以通过以下方式求解:det_A = det(A');同样地,逆矩阵也可以通过转置来求解:inv_A = inv(A');2.3 矩阵的特征值和特征向量矩阵的转置还可以用于求解矩阵的特征值和特征向量。
例如,对于一个方阵A,它的特征值和特征向量可以通过以下方式求解:[V, D] = eig(A');其中,V是特征向量矩阵,D是特征值矩阵。
3. 注意事项在使用矩阵转置的过程中,我们需要注意一些细节和限制。
3.1 内存占用转置操作会占用额外的内存空间,因为转置操作会创建一个新的矩阵。
如何在Matlab中创建矩阵在Matlab中创建矩阵是一项基本的任务,它在数据处理和数学建模中起着重要的作用。
本文将介绍几种在Matlab中创建矩阵的方法,包括手动创建矩阵、使用内置函数和通过导入数据。
1. 手动创建矩阵手动创建矩阵是最常用的方法之一,它允许用户根据自己的需求定义矩阵的大小和内容。
在Matlab中,可以使用方括号和分号来定义矩阵的行和列。
例如,要创建一个3x3的矩阵,可以使用以下命令:A = [1, 2, 3; 4, 5, 6; 7, 8, 9];这将创建一个3行3列的矩阵A,其中元素依次为1到9。
可以通过显示矩阵来验证结果。
disp(A);2. 使用内置函数创建矩阵Matlab提供了许多内置函数用于创建常见类型的矩阵,这些函数可以简化矩阵的创建过程并节省时间。
下面介绍几个常用的内置函数。
2.1 zeros函数zeros函数可以创建一个全零矩阵。
语法如下:B = zeros(3, 4);这将创建一个3行4列的矩阵B,其中所有元素都为零。
2.2 ones函数ones函数可以创建一个全一矩阵。
语法如下:C = ones(2, 3);这将创建一个2行3列的矩阵C,其中所有元素都为一。
2.3 eye函数eye函数可以创建一个单位矩阵,也称为对角矩阵。
语法如下:D = eye(4);这将创建一个4行4列的单位矩阵D,其中对角线上的元素为一,其他元素为零。
3. 导入数据创建矩阵除了手动创建和使用内置函数创建矩阵外,Matlab还支持从外部文件导入数据创建矩阵。
这对于处理大型数据集特别有用。
3.1 导入文本文件可以使用`importdata`函数导入文本文件中的数据。
例如,要导入名为data.txt 的文本文件,其中包含一组数值,可以使用以下命令:data = importdata('data.txt');这将把文本文件中的数据导入到一个名为data的矩阵中。
3.2 导入Excel文件Matlab还支持导入Excel文件中的数据。
matlab中的基本运算基本运算是MATLAB中最基础的操作之一,它涵盖了数值计算、数据处理和绘图等各个方面。
本文将详细介绍MATLAB中的基本运算,包括算术运算、矩阵运算、逻辑运算和位运算等。
一、算术运算算术运算是最基本的运算之一,MATLAB中支持的算术运算包括加法、减法、乘法和除法等。
例如,可以使用"+"符号进行两个数的加法运算,用"-"符号进行减法运算,用"*"符号进行乘法运算,用"/"符号进行除法运算。
此外,还可以使用"^"符号进行幂运算,使用"sqrt"函数进行开方运算。
二、矩阵运算MATLAB中的矩阵运算是其强大功能之一。
可以使用矩阵进行加法、减法、乘法和除法等运算。
例如,可以使用"+"符号进行矩阵的逐元素加法运算,用"-"符号进行逐元素减法运算,用"*"符号进行矩阵的乘法运算,用"./"符号进行矩阵的逐元素除法运算。
三、逻辑运算逻辑运算在MATLAB中广泛应用于判断条件和控制流程。
MATLAB 支持的逻辑运算有与、或、非和异或等。
例如,可以使用"&&"符号进行逻辑与运算,用"||"符号进行逻辑或运算,用"~"符号进行逻辑非运算,用"xor"函数进行逻辑异或运算。
四、位运算位运算是对二进制数进行逐位操作的运算。
MATLAB支持的位运算有与、或、非、异或、左移和右移等。
例如,可以使用"&"符号进行位与运算,用"|"符号进行位或运算,用"~"符号进行位非运算,用"xor"函数进行位异或运算,用"<<"符号进行左移运算,用">>"符号进行右移运算。
一、矩阵的表示在MATLAB中创建矩阵有以下规则:a、矩阵元素必须在”[ ]”内;b、矩阵的同行元素之间用空格(或”,”)隔开;c、矩阵的行与行之间用”;”(或回车符)隔开;d、矩阵的元素可以是数值、变量、表达式或函数;e、矩阵的尺寸不必预先定义。
二,矩阵的创建:1、直接输入法最简单的建立矩阵的方法是从键盘直接输入矩阵的元素,输入的方法按照上面的规则。
建立向量的时候可以利用冒号表达式,冒号表达式可以产生一个行向量,一般格式是:e1:e2:e3,其中e1为初始值,e2为步长,e3为终止值。
还可以用linspace函数产生行向量,其调用格式为:linspace(a,b,n) ,其中a和b是生成向量的第一个和最后一个元素,n是元素总数。
2、利用MATLAB函数创建矩阵基本矩阵函数如下:(1) ones()函数:产生全为1的矩阵,ones(n):产生n*n维的全1矩阵,ones(m,n):产生m*n 维的全1矩阵;(2) zeros()函数:产生全为0的矩阵;(3) rand()函数:产生在(0,1)区间均匀分布的随机阵;(4) eye()函数:产生单位阵;(5) randn()函数:产生均值为0,方差为1的标准正态分布随机矩阵。
3、利用文件建立矩阵当矩阵尺寸较大或为经常使用的数据矩阵,则可以将此矩阵保存为文件,在需要时直接将文件利用load命令调入工作环境中使用即可。
同时可以利用命令reshape对调入的矩阵进行重排。
reshape(A,m,n),它在矩阵总元素保持不变的前提下,将矩阵A重新排成m*n的二维矩阵。
二、矩阵的简单操作1.获取矩阵元素可以通过下标(行列索引)引用矩阵的元素,如Matrix(m,n)。
也可以采用矩阵元素的序号来引用矩阵元素。
矩阵元素的序号就是相应元素在内存中的排列顺序。
在MATLAB中,矩阵元素按列存储。
序号(Index)与下标(Subscript )是一一对应的,以m*n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。
其相互转换关系也可利用sub2ind和ind2sub函数求得。
2.矩阵拆分利用冒号表达式获得子矩阵:(1) A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。
(2) A(i:i+m,:)表示取A矩阵第i~i+m行的全部元素;A(:,k:k+m)表示取A矩阵第k~k+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第i~i+m行内,并在第k~k+m列中的所有元素。
此外,还可利用一般向量和end运算符来表示矩阵下标,从而获得子矩阵。
end表示某一维的末尾元素下标。
利用空矩阵删除矩阵的元素:在MATLAB中,定义[]为空矩阵。
给变量X赋空矩阵的语句为X=[]。
注意,X=[]与clear X 不同,clear是将X从工作空间中删除,而空矩阵则存在于工作空间中,只是维数为0。
3、特殊矩阵(1) 魔方矩阵魔方矩阵有一个有趣的性质,其每行、每列及两条对角线上的元素和都相等。
对于n阶魔方阵,其元素由1,2,3,…,n2共n2个整数组成。
MATLAB提供了求魔方矩阵的函数magic(n),其功能是生成一个n阶魔方阵。
(2) 范得蒙矩阵范得蒙(Vandermonde)矩阵最后一列全为1,倒数第二列为一个指定的向量,其他各列是其后列与倒数第二列的点乘积。
可以用一个指定向量生成一个范得蒙矩阵。
在MATLAB中,函数vander(V)生成以向量V为基础向量的范得蒙矩阵。
(3) 希尔伯特矩阵在MATLAB中,生成希尔伯特矩阵的函数是hilb(n)。
使用一般方法求逆会因为原始数据的微小扰动而产生不可靠的计算结果。
MATLAB中,有一个专门求希尔伯特矩阵的逆的函数invhilb(n),其功能是求n阶的希尔伯特矩阵的逆矩阵。
(4) 托普利兹矩阵托普利兹(Toeplitz)矩阵除第一行第一列外,其他每个元素都与左上角的元素相同。
生成托普利兹矩阵的函数是toeplitz(x,y),它生成一个以x为第一列,y为第一行的托普利兹矩阵。
这里x, y均为向量,两者不必等长。
toeplitz(x)用向量x生成一个对称的托普利兹矩阵。
(5) 伴随矩阵MATLAB生成伴随矩阵的函数是compan(p),其中p是一个多项式的系数向量,高次幂系数排在前,低次幂排在后。
(6) 帕斯卡矩阵我们知道,二次项(x+y)n展开后的系数随n的增大组成一个三角形表,称为杨辉三角形。
由杨辉三角形表组成的矩阵称为帕斯卡(Pascal)矩阵。
函数pascal(n)生成一个n 阶帕斯卡矩阵。
三、矩阵的运算1、算术运算MATLAB的基本算术运算有:+(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘方)、’(转置)。
运算是在矩阵意义下进行的,单个数据的算术运算只是一种特例。
(1) 矩阵加减运算假定有两个矩阵A和B,则可以由A+B和A-B实现矩阵的加减运算。
运算规则是:若A和B矩阵的维数相同,则可以执行矩阵的加减运算,A和B矩阵的相应元素相加减。
如果A与B的维数不相同,则MATLAB将给出错误信息,提示用户两个矩阵的维数不匹配。
(2) 矩阵乘法假定有两个矩阵A和B,若A为m*n矩阵,B为n*p矩阵,则C=A*B为m*p 矩阵。
(3) 矩阵除法在MATLAB中,有两种矩阵除法运算:\和/,分别表示左除和右除。
如果A 矩阵是非奇异方阵,则A\B和B/A运算可以实现。
A\B等效于A的逆左乘B矩阵,也就是inv(A)*B,而B/A等效于A矩阵的逆右乘B矩阵,也就是B*inv(A)。
对于含有标量的运算,两种除法运算的结果相同。
对于矩阵来说,左除和右除表示两种不同的除数矩阵和被除数矩阵的关系,一般A\B≠B/A。
(4) 矩阵的乘方一个矩阵的乘方运算可以表示成A^x,要求A为方阵,x为标量。
(5) 矩阵的转置对实数矩阵进行行列互换,对复数矩阵,共轭转置,特殊的,操作符.’共轭不转置(见点运算);(6) 点运算在MATLAB中,有一种特殊的运算,因为其运算符是在有关算术运算符前面加点,所以叫点运算。
点运算符有.*、./、.\和.^。
两矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相同。
2、关系运算MATLAB提供了6种关系运算符:<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、==(等于)、~=(不等于)。
关系运算符的运算法则为:(1) 当两个比较量是标量时,直接比较两数的大小。
若关系成立,关系表达式结果为1,否则为0;(2) 当参与比较的量是两个维数相同的矩阵时,比较是对两矩阵相同位置的元素按标量关系运算规则逐个进行,并给出元素比较结果。
最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成;(3) 当参与比较的一个是标量,而另一个是矩阵时,则把标量与矩阵的每一个元素按标量关系运算规则逐个比较,并给出元素比较结果。
最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成。
3、逻辑运算MATLAB提供了3种逻辑运算符:&(与)、|(或)和~(非)。
逻辑运算的运算法则为:(1) 在逻辑运算中,确认非零元素为真,用1表示,零元素为假,用0表示;(2) 设参与逻辑运算的是两个标量a和b,那么,a&b a,b全为非零时,运算结果为1,否则为0。
a|b a,b中只要有一个非零,运算结果为1。
~a 当a是零时,运算结果为1;当a非零时,运算结果为0。
(3) 若参与逻辑运算的是两个同维矩阵,那么运算将对矩阵相同位置上的元素按标量规则逐个进行。
最终运算结果是一个与原矩阵同维的矩阵,其元素由1或0组成;(4) 若参与逻辑运算的一个是标量,一个是矩阵,那么运算将在标量与矩阵中的每个元素之间按标量规则逐个进行。
最终运算结果是一个与矩阵同维的矩阵,其元素由1或0组成;(5) 逻辑非是单目运算符,也服从矩阵运算规则;(6) 在算术、关系、逻辑运算中,算术运算优先级最高,逻辑运算优先级最低。
四、矩阵分析1、对角阵(1) 对角阵只有对角线上有非0元素的矩阵称为对角矩阵,对角线上的元素相等的对角矩阵称为数量矩阵,对角线上的元素都为1的对角矩阵称为单位矩阵。
(1) 提取矩阵的对角线元素设A为m*n矩阵,diag(A)函数用于提取矩阵A主对角线元素,产生一个具有min(m,n)个元素的列向量。
diag(A)函数还有一种形式diag(A,k),其功能是提取第k条对角线的元素。
(2) 构造对角矩阵设V为具有m个元素的向量,diag(V)将产生一个m*m对角矩阵,其主对角线元素即为向量V的元素。
diag(V)函数也有另一种形式diag(V,k),其功能是产生一个n*n(n=m+k)对角阵,其第m条对角线的元素即为向量V的元素。
2、三角阵三角阵又进一步分为上三角阵和下三角阵,所谓上三角阵,即矩阵的对角线以下的元素全为0的一种矩阵,而下三角阵则是对角线以上的元素全为0的一种矩阵。
(1) 上三角矩阵求矩阵A的上三角阵的MATLAB函数是triu(A)。
triu(A)函数也有另一种形式triu(A,k),其功能是求矩阵A的第k条对角线以上的元素。
(2) 下三角矩阵在MATLAB中,提取矩阵A的下三角矩阵的函数是tril(A)和tril(A,k),其用法与提取上三角矩阵的函数triu(A)和triu(A,k)完全相同。
3、矩阵的转置与旋转(1) 矩阵的转置转置运算符是单撇号(’)。
(2) 矩阵的旋转利用函数rot90(A,k)将矩阵A旋转90o的k倍,当k为1时可省略。
4、矩阵的翻转对矩阵实施左右翻转是将原矩阵的第一列和最后一列调换,第二列和倒数第二列调换,…,依次类推。
矩阵A实施左右翻转的函数是fliplr(A),对矩阵A实施上下翻转的函数是flipud(A)。
5、矩阵的逆与伪逆(1) 矩阵的逆对于一个方阵A,如果存在一个与其同阶的方阵B,使得:AB=BA=I (I为单位矩阵) 则称B为A的逆矩阵,当然,A也是B的逆矩阵。
求方阵A的逆矩阵可调用函数inv(A)。
(2) 矩阵的伪逆如果矩阵A不是一个方阵,或者A是一个非满秩的方阵时,矩阵A没有逆矩阵,但可以找到一个与A的转置矩阵A’同型的矩阵B,使得:ABA=A,BAB=B 此时称矩阵B为矩阵A的伪逆,也称为广义逆矩阵。
在MATLAB中,求一个矩阵伪逆的函数是pinv(A)。
6、方阵的行列式把一个方阵看作一个行列式,并对其按行列式的规则求值,这个值就称为矩阵所对应的行列式的值。
在MATLAB中,求方阵A所对应的行列式的值的函数是det(A)。
7、矩阵的秩与迹(1) 矩阵的秩矩阵线性无关的行数与列数称为矩阵的秩。