MATLAB中矩阵的行列式怎么表达?
用函数det()。
如A=[1,2;3,4],
d=det(A),
运行得d=-2.
你是使用det命令求行列式的吗 绝大部分改命令都是没有问题
假如说你的矩阵特别大,那么它的行列式子,一般是一个很大的值
在数学上没有什么意义,并且一般误差都是比较大的
matlab求行列式是通过特征值来求解的
我试了下
>> s=rand(100);t=rand(1000);
>> det(s),det(t)
ans =
1.0873e+025
ans =
Inf
假如你是数学上的需要,而不是数值上的需要,那可以使用其他数学专业软件
比如mathematica的数学分析功能就比MATLAB厉害
一、矩阵的表示在MATLAB中创建矩阵有以下规则:
1、矩阵元素必须在”[ ]”内;
2、矩阵的同行元素之间用空格(或”,”)隔开;
3、矩阵的行与行之间用”;”(或回车符)隔开;
4、矩阵的元素可以是数值、变量、表达式或函数;
5、矩阵的尺寸不必预先定义。
二、基本矩阵函数如下:
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的标准正态分布随机矩阵。
扩展资料:
矩阵的简单操作
一、获取矩阵元素
可以通过下标(行列索引)引用矩阵的元素,如 Matrix(m,n)。也可以采用矩阵元素的序号来引用矩阵元素。
矩阵元素的序号就是相应元素在内存中的排列顺序。在MATLAB中,矩阵元素按列存储。序号(Index)与下标(Subscript )是一一对应的,以m*n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。其相互转换关系也可利用sub2ind和ind2sub函数求得。
二、矩阵拆分
1、利用冒号表达式获得子矩阵:
(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表示某一维的末尾元素下标。
2、利用空矩阵删除矩阵的元素:
在MATLAB中,定义[]为空矩阵。给变量X赋空矩阵的语句为X=[]。注意,X=[]与clear X不同,clear是将X从工作空间中删除,而空矩阵则存在于工作空间中,只是维数为0。
方阵的行列式表达方式如下:
把一个方阵看作一个行列式,并对其按行列式的规则求值,这个值就称为矩阵所对应的行列式的值。
在MATLAB中,求方阵A所对应的行列式的值的函数是det(A)。
矩阵的表示
在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、矩阵的转置与旋转
(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) 矩阵的秩 矩阵线性无关的行数与列数称为矩阵的秩。在MATLAB中,求矩阵秩的函数是rank(A)。
(2) 矩阵的迹矩阵的迹等于矩阵的对角线元素之和,也等于矩阵的特征值之和。在MATLAB中,求矩阵的迹的函数是trace(A)。
MATLAB中矩阵A的行列式,可以直接用MATLAB的函数det解决。
调用格式是:y=det(A)
注意:其中,A必须是方阵,否则,函数运行会报错。
附录:MATLAB矩阵函数
1.矩阵的生成矩阵
(1)zeros()函数。zeros()函数能够生成元素全为0的矩阵。
(2)ones() 函数。ones()函数能够生成元素全为1的矩阵。
(3)rand()函数。rand()函数能够生成均匀分布随机矩阵。
(4)randn()函数。randn()函数能够生成正态分布随机矩阵。
(5)magic()函数。N阶方阵具有一个共同的奇妙特性,即每一行、每一列或对角线上的元素之和都相等。
(6)diag()函数。diag()函数可以生成对角矩阵。
(7)triu()函数。triu()函数可以生成上三角矩阵。
(8)tril()函数。tril()函数可以生成下三角矩阵。
(9)size()函数。size()函数用来返回指定矩阵的行数和列数。
(10)eye()函数。eye()函数可以生成指定行数和列数的单位矩阵。
2.矩阵变换函数
函数 功能 函数 功能
compan 伴随阵 magic 魔方阵
gallery Higham检验矩阵 pascal Pascal阵
hadamard Hadamard阵 rosser 经典对称特征值检验矩阵
hilb Hilbert阵 toeplitz Toeplitz阵
invhilb 逆Hilbert阵 wilknsion Wilknsion特征值检验矩阵
fliplr 矩阵左右翻转 flipud 矩阵上下翻转
flipdim 矩阵沿特定维翻转 rot90 矩阵逆时针旋转90度
3.矩阵运算函数
函数 功能 函数 功能
cond 矩阵的条件数 norm 向量矩阵的范数
condeig 对应于特征值的条件数 null 矩阵的零空间
det 方阵的行列式值 orth 矩阵的列空间
expm 矩阵的指数函数 rank 矩阵的秩
funm 计算矩阵的函数值 subspace 子空间的夹角
logm 矩阵的对数函数 squtm 矩阵的平方根
B = 41 37 0 81 42
33 31 21 64 47
24 33 31 56 24
22 24 0 64 29
22 27 16 53 35>> det(B) %求B阵的行列式ans = -1578270
matlab 矩阵的长度怎么计算
如果在size函数的输入参数中再添加一项,并用1或2为该项赋值,则size将返回数组的行数或列数。 其中r=size(A,1)该语句返回的时数组A的行数, c=size(A,2) 该语句返回的时数组A的列数。比如:A是4*3的矩阵,即A=[1,2,3;4,5,6;7,8,9;0,2,3]。size(A)返回矩阵A的行数和列数,...
matlab中如何求矩阵的特征值和特征向量
2、第二步在命令行窗口中输入a=[1 2 3;2 4 5;7 8 9],按回车键之后,输入[x,y]=eig(a),如下图所示:3、第三步按回车键之后,得到了x,y的值,其中x的每一列值表示矩阵a的一个特征向量,这里有3个特征向量,y的对角元素值代表a矩阵的特征值,如下图所示:4、第四步如果我们要取y...
MATLAB中怎么获得一个矩阵的行数或列数?
在matlab里可以利用size函数获得一个矩阵的行数或列数。size(a) 返回一个行向量,其元素包含 A 的相应维度的长度。例如,如果 a 是一个2×3矩阵,则 size(a) 返回向量 [2,3]。具体说明如下。1、第一步在matlab中命令行窗口中输入“a=[1 2 3;2 4 6]”,按回车键创建一个2行3列的矩阵...
matlab中的矩阵如何表示?
matlab 矩阵的表示方法:在MATLAB中创建矩阵有以下规则:a、矩阵元素必须在”[ ]”内;b、矩阵的同行元素之间用空格(或”,”)隔开;c、矩阵的行与行之间用”;”(或回车符)隔开;d、矩阵的元素可以是数值、变量、表达式或函数;e、矩阵的尺寸不必预先定义。
matlab矩阵中元素的位置怎么表示
首先一点要说明的是,在matlab中,矩阵中的元素序号是按照“先行后列”的顺序排列的。设如下随机矩阵:A=rand(4,6)A = 0.6551 0.9597 0.7513 0.8909 0.1493 0.8143 0.1626 0.3404 0.2551 0.9593 0.2575 0.2435 0.1190 0.5853 0.5060 0.547...
matlab中如何进行矩阵的拼接?
1、首先在我们的电脑上打开matlab,在命令行窗口中输入a=[1,2,3;4,5,6];b=[7,8,9],按回车键,生成两个同列不同行的矩阵。2、对于同列不同行的两个矩阵,我们可以通过c=[a;b],进行拼接矩阵,分号是纵向拼接矩阵。3、我们在命令行窗口中输入a=[1,2,3;4,5,6];d=[1;10],按回车...
matlab中如何取一个矩阵的一部分?
matlab中取一个矩阵的一部分方法如下:格式A(m,n),用于提取矩阵A中符合m,n要求的部分 1、提取某个元素,则m,n为数字标量,如A(2,3)为第二行第三列的元素。2、提取某行某列 A(:,n)提取第n列的所有元素,如A(:,3)提取第三列的所有元素;A(m,:)提取第m行的所有元素,如A(3...
MATLAB怎样求矩阵A的行列式?
MATLAB中矩阵A的行列式,可以直接用MATLAB的函数det解决。调用格式是:y=det(A)注意:其中,A必须是方阵,否则,函数运行会报错。附录:MATLAB矩阵函数 1.矩阵的生成矩阵 (1)zeros()函数。zeros()函数能够生成元素全为0的矩阵。(2)ones() 函数。ones()函数能够生成元素全为1的矩阵。(3)...
matlab 矩阵的值是什么?以及。。。
Q1.array1(:,1:2)指的是是矩阵中1-2列的数据,是3*2的矩阵,值为 array1=[1.1000 -3.2000 0.6000 1.1000 1.3000 0.6000]Q2.指的是三个元素的0行向量和1行向量,以及3:5行向量的拼接 w = 0 0 0 1 1 1 3 4 5 Q3.小数点后为6位 fprintf...
matlab中矩阵的转置怎么表示
matlab中,矩阵A的转置表示成 A'【附注】matlab中常用的矩阵运算 1、矩阵加、减(+,-)运算 规则:(1)相加、减的两矩阵必须有相同的行和列两矩阵对应元素相加减;(2)允许参与运算的两矩阵之一是标量。标量与矩阵的所有元素分别进行加减操作。2、矩阵乘(*)运算 规则:(1)A矩阵的列数必须等于B...
滑熊卡悦: B =41 37 0 81 42 33 31 21 64 47 24 33 31 56 24 22 24 0 64 29 22 27 16 53 35 >> det(B) %求B阵的行列式 ans =-1578270
邓州市17274361688: 在matlab中怎么求矩阵的行列式,逆矩阵,特征根,特征向量 - ?
滑熊卡悦:[答案] 行列式 det(A) 逆矩阵 inv(A) 或 A^-1 特征根,特征向量 [d,v] = eig(A) d 中对角线元素为特征值 v 中列向量为对应的特征向量
邓州市17274361688: matlab中行矩阵如何表示 - ?
滑熊卡悦: %如矩阵A为行矩阵,A只有一行,可以有很多列 row=1;% 行---只能为1 column=10;%列---任意 A=ones(row,column);
邓州市17274361688: matlab如何设定矩阵的行列式值 - ?
滑熊卡悦: 单位向量的行列式值就是1的吗,可以这样T1=ones(3),T=-T1 为3*3的行列式
邓州市17274361688: 用matlab符号工具箱证明范德蒙矩阵的行列式. - ?
滑熊卡悦:[答案] clear all;n = 5;% for i=1:n% for j=1:n% x(i,j) = sym(['x',num2str(i),'_',num2str(j)]);% end% endfor i=1:nx(i) = sym(['x',num2str(i)]);endfor i=1:ny(i,:) = x.^(i-1);endfactor(det(y))
邓州市17274361688: matlab编辑范德蒙德行列式 - ?
滑熊卡悦: 你给的这个矩阵不能构成行列式,因为其不是方阵.生成这个符号矩阵的代码如下: % 定义符号变量a1-a5、b1-b5,并生成矩阵A、B A = sym( zeros(5, 6) ); B = A; for i = 1 : 5eval( sprintf('syms a%i b%i', i, i) );A(i, :) = eval( sprintf('a%i', i) ) .^ (5:...
邓州市17274361688: matlab怎么证明行列式算法 - ?
滑熊卡悦: 1、矩阵行列式的数学定义行列式的定义是通过方程组的求解引入的,也可以说是行列式是由求解线性方程组产生的一种算式把!下面就介绍一下行列式的数学表示法.以三阶行列式为例. 2、matlab求行列式指令简介matlab计算对应矩阵行列式...
邓州市17274361688: 如何用matlab通过矩阵阶梯化的方式求矩阵的行列式 - ?
滑熊卡悦: 参考代码: %% 准备 A=[10 -7 0;-3 2 6;5 -1 5]; b=[7 4 6]'; n=length(A); L=eye(n);%% 消元 for k=1:n-1for p=k+1:nif A(k,k)~=0m=A(p,k)/A(k,k);A(p,k:n)=A(p,k:n)-m*A(k,k:n);b(p)=b(p)-m*b(k);L(p,k)=m;endend end U=A L c=cumsum(diag(U)) c(end)
邓州市17274361688: matlab 求大矩阵的行列式值怎么求? - ?
滑熊卡悦: 你是使用det命令求行列式的吗 绝大部分改命令都是没有问题 假如说你的矩阵特别大,那么它的行列式子,一般是一个很大的值 在数学上没有什么意义,并且一般误差都是比较大的 matlab求行列式是通过特征值来求解的 我试了下>> s=rand(100);t=rand(1000);>> det(s),det(t) ans = 1.0873e+025 ans = Inf 假如你是数学上的需要,而不是数值上的需要,那可以使用其他数学专业软件 比如mathematica的数学分析功能就比MATLAB厉害