MATLAB矩阵分析

一、矩阵的基础知识

close all;
clear all;
clc;
%% 改变矩阵尺寸
a=eye(3);
a(2,4)=3;%添加第四列,第二行元素为3,其余为0
a(:,4)=3;%添加第四列,元素都是3
a(2,:)=[];%删除第二行
a(:,2)=[];%删除第二列
b=a(1:end);%将矩阵变为行向量,以列为顺序,end表示最后一个元素
%% 改变矩阵形状
a=magic(3);
b=reshape(a,1,9);%把矩阵变为列向量
c=rot90(a,1);%
d=fliplr(a);%把矩阵在垂直方向翻转
e=flipud(a);%把矩阵在水平方向翻转
%% 向量,标量,空矩阵
a=(1.2:8.8);%默认递增值为1
a=(10:-1:0);%定义递增值为-1
a=0:pi/4:10;
a=linspace(1,100,10);%等差递增,从1到100,十个数
a=logspace(0,1,10);%以10为底做幂运算,从0到1,十个数
a=5;
size(a);
A=[];%空矩阵
%% 访问矩阵
a=magic(3);
b=a(1,1);%访问单个元素
c=a(:,1);%访问第一列元素
d=a(6);%访问单个元素,该元素是以列为顺序数
e=a(1:2,:);%访问1至2行,所有列
f=a(:);%把a变成列向量
g=a(1:2,2:end);%访问1至2行,第2列到最后一列
%% 获取矩阵信息
a=rand(3,4);
b=[];
isempty(b);%判断是否是空矩阵,返回1和0
iscell(a);%是否是元胞数组
length(a);%返回最大维的长度
ndims(a);%返回矩阵的维数
numel(a);%返回矩阵a的元素数量
[m,n]=size(a);%返回矩阵的行数和列数
%% 高维数组
a=rand(2,3,3);
b(3,2,:)=2:4;
a=eye(2);
b=ones(2);
c=rand(2);
cat(1,a,b,c)
二、矩阵的基本运算
close all;
clear all;
clc;
%% 矩阵加减
a=rand(2,3);
b=eye(2,3);
c=a+b;%矩阵的加减,要求参与运算的矩阵大小相同
d=a-b;
%% 矩阵乘法
a=[1 2 3;4 5 6];
b=rand(3,4);
c=2;
d=a*b;%矩阵乘法
e=[2 3 4;5 8 9];
f=a.*e;%矩阵的按位乘法
g=b.*c;%矩阵与标量相乘
%% 矩阵除法
a=hilb(3);%希尔伯特矩阵
b1=[1 2 3;1 4 5];
b2=[1 4 7 8;2 5 8 8;3 5 2 6];
b3=magic(3);
c=a/b1;%矩阵右除,要求参与运算的矩阵具有相同大小的列数
d=a\b2;%矩阵左除,要求参与运算的矩阵具有相同大小的行数
e=a./b3;
f=a.\2;%矩阵按位左除
%% 矩阵幂运算
a=magic(3);
b=a^2;%矩阵幂运算
c=a.^2;%矩阵按位幂运算
%% 关系运算
a=[1 0 4;4 0 2;0 7 4];
b=magic(3);
c=a>b;%返回的是1和0
d=a&b;%与运算
e=xor(a,b);%异或运算
f=a|0;%与标量的或运算
三、矩阵的行列式、范数、特征值和特征向量
close all;
clear all;
clc;
%% 计算矩阵的行列式
v=(1:5)';
a=vander(v);%范德蒙德矩阵
b=det(a);%求行列式
%% 求逆矩阵
a=[1 2 3;5 8 9;1 5 9];
b=rand(3,4);
x=inv(a)*b;%a*x=b,求x
%% 矩阵的范数和条件数
a=rand(3,3);
b=norm(a,inf);%无穷范数,默认为二范数
c=det(a);
d=cond(a);%求条件数,奇异的程度
%% 矩阵的秩和特征值、特征向量
a=hilb(3);
b=rank(a);
[V,D]=eig(a);%返回特征值和特征向量,D为对角阵,对角线上的元素是特征值,V的每一列对应于特征值
c=[1 2 3]';
d=[a c];%扩展矩阵

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~青萍之末~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值