首页 > 其他分享 >matlab笔记二

matlab笔记二

时间:2023-08-04 21:35:20浏览次数:39  
标签:magic 元素 矩阵 笔记 matlab 对角线 范数 向量

\(Note2\)

特殊矩阵

zeros(3,4) % 零矩阵
ones(4,5) %一矩阵
eye(3) %单位矩阵
eye(3,4)
rand(2) % 元素大小0~1的随机矩阵
randn(2,3) % 均值为0,方差为1的随机矩阵

exA=20+30*rand(5) % [20,50]内均匀分布的5阶正态分布随机矩阵

%y=μ+σx
exB=0.6+sqrt(0.1)*randn(4) % 均值为0.6,方差为0.1的4阶正态分布随机矩阵

magic(3) % 魔方矩阵,行,列,对角线的和都为n*(n^2+1)/2
vander([1,3,5,4]) % 范德蒙矩阵,任意子方阵可逆,用于交错编码
hilb(4) % 希尔伯特矩阵,高度病态,病态程度与阶数有关
invhilb(4) % 希尔伯特逆矩阵.h[i][j]=1/(i+j-1)
% format rat就是矩阵用有理数形式显示,此句之后加上希尔伯特矩阵的产生语句即可得到分数形式

format rat
hilb(5)

矩阵变换

%对角阵、数量矩阵、单位阵、秩、迹、逆(伪逆)、行列式、条件数

%当矩阵中一个数改变时,整个矩阵发生的扰动程度就称为病态程度
%条件数用于衡量病态程度

%范数(norm):简单来说,就是衡量某个向量空间中每个向量的长度或者大小

%矩阵的秩(rank)与方程组求解、判断是否可逆有关(可逆与秩满互为充要条件)
%矩阵的迹为矩阵主对角线元素之和

%对角阵
A=[5,4,2,0,9] % 对角线元素
DA1=diag(A)
DA2=diag(A,1) % 主对角线向右上平移1个位置得到的矩阵,矩阵变大

%数量矩阵
B=eye(4)
DB=7*B

%取对角线元素
C=magic(4)
V1=diag(C) % V1即为对角线元素
V1=diag(C,1) % V1即为主对角线向右平移1个位置的对角线的元素(原矩阵基础上)

%三角阵
%上三角(triu)
A3=magic(7)
Atriu=triu(A3)
%下三角(tril)
Atril=tril(A3)
%小三角
AtriFra=triu(A3,2) % 第二个参数可负,主对角线向右平移2个位置后的对角线开始得到的(原矩阵基础上)

%转置
T=magic(3)
T1=T.'

%共轭转置
R=magic(3)
I=magic(3).*3-7
T2=R+I.*1i
T3=T2'

%旋转 rot90(A,K) 逆时针旋转k个90度
R1=magic(3)
R1rot=rot90(R1,1)

%左右翻转
F=magic(3)
F1=fliplr(F)

%上下翻转
F2=flipud(F)

%矩阵的逆,只有方阵才有逆,不为方阵则是伪逆
%inv
A=magic(3)
B=inv(A)

%ex:求解下列方程组
%x+2y+3z=5
%x+4y+9z=-2
%x+8y+27z=6

A=[1 2 3;1 4 9;1 8 27]
b=[5;-2;6]
x=inv(A)*b

%伪逆,对于非方阵,奇异阵(是方阵,但行列式为0),非满秩矩阵
%pinv
Ae=[3 1 1 1;1 3 1 1;1 1 3 1]
rank(Ae) % 行满秩
A2ans=pinv(Ae)
Ae*A2ans %得到3*3的单位矩阵

矩阵求值

-方阵的行列式\((de'terminant)\)

%只有方阵才有行列式
format % 用小数形式表示
A1=rand(5)
A1res=det(A1)

-矩阵的秩与迹

A2=magic(4)
A2res=rank(A2)
A2ans=trace(A2)

-向量和矩阵的范数

%为了衡量其在某种意义下的大小

%向量的范数
V=[1 2 3 4]
norm(V,1) % 向量-1 范数 元素绝对值之和
norm(V,2) % 向量-2 范数 元素平方和的平方根
norm(V,inf) % 向量-∞ 范数 所有向量元素绝对值中的最大值

%矩阵的范数
E=magic(4)
norm(E,1) % 矩阵-1 范数 所有矩阵列元素绝对值之和的最大值
norm(E,2) % 矩阵-2 范数 矩阵的最大特征值的平方根
norm(E,inf) % 矩阵-∞ 范数 所有矩阵行元素绝对值之和的最大值

-矩阵的条件数

%在求解线性方程组Ax=b时,考虑摄动对解向量的影响程度,影响大的称为病态矩阵,反之为良性矩阵
%定义矩阵A的条件数=矩阵A的范数×矩阵A的逆的范数
%条件数是矩阵的属性,用来描述病态和良性程度
%条件数一定大于1,越接近1越好
F=rand(4)
F1=hilb(4)

cond(F,1) % 1-范数下的条件数
cond(F,2) % 2-范数下的条件数
cond(F,inf) % ∞-范数下的条件数

%希尔伯特矩阵高度病态
cond(F1,1)
cond(F1,2)
cond(F1,inf)

矩阵特征值与特征向量

对于\(n\)阶方阵\(A\),求数\(λ\)和向量\(ξ\),使得\(A*ξ\)=\(λ*ξ\),则\(λ\)为\(A\)的特征值,\(ξ\)为对应的特征向量
求解方程\(A*ξ=λ*ξ\),变形后得\((A-λ*I)*ξ=0\),若使其有非零解,则系数行列式为\(0\),即有
\(|A-λ*I|=0\)

G=rand(5)

%一个矩阵的特征向量有无穷个,但是eig是只给出n个,其余的可由这n个向量线性组成

V1=eig(G) % 求解G的全部特征值,构成向量V1
[X,H]=eig(G) % H为矩阵G全部特征值构成的对角阵,X是各列相应的特征值对应的特征向量

稀疏矩阵

%稀疏矩阵 含有很多0元素
A1=[2 0 0 0;
    0 0 0 0;
    0 -5 0 0;
    3 0 0 0]

%采用稀疏方式存储的矩阵
A1=[2 0 0 0;
    0 0 0 0;
    0 -5 0 0;
    3 0 0 0]
%普通方式存储 2 0 0 3 0 0 -5 0 0 0 0 0 0 0 0 0
%稀疏方式存储 (1,1),2,(4,1),3,(3,2),-5 占用更少的内存

-稀疏存储方式的产生

S1=sparse(A1) % sparse:普通方式存储矩阵变稀疏方式存储
S2=sparse(4,6)

%sparse(u,v,S) u是行标号,v是列标号,S是非零值
S=[-5 24 9 17];
u=[1 3 5 2];
v=[1 2 2 4];
S3=sparse(u,v,S)
full(S3) %稀疏矩阵,但不是用系数存储方式存储的

[u,v,S]=find(S3) % 返回矩阵A中非零元素的下标和元素
full(S3) % 返回系数存储矩阵的完全存储方式 full<->sparse

%便捷产生一个稀疏存储矩阵 spconvert,与sparse(u,v,S)相同
A2=[2 2 1;
    3 1 -1;
    4 3 3;
    5 3 8;
    6 6 12;]
S4=spconvert(A2)
full(S4)

%对角系数矩阵 spdiags
B=[0 1 4 9 0;
   4 7 9 0 3;
   0 2 6 4 9] % 三条对角线的元素 
Bz=B.'
d=[-1 0 1].' % 哪三条对角线
full(spdiags(Bz,d,5,5))

标签:magic,元素,矩阵,笔记,matlab,对角线,范数,向量
From: https://www.cnblogs.com/iwillenter-top1/p/17607072.html

相关文章

  • 实习随笔记录---写给自己看,不给任何人意见
    不要被贩卖焦虑......
  • [刷题笔记][算法模型总结] Luogu P1880 [NOI1995] 石子合并 || 区间dp之合并石子模型
    ProblemSolution本题还有一个弱化版,见LuoguP1775我们发现本题和弱化版唯一区别就是本题有环。我们先将弱化版的内容。EasyversionDescription弱化版是给定了好多堆石子,每相邻的两堆可以合并成一个大堆,每次合并会产生两个石头重量和的价值,最后会将若干堆石子合并为一堆。......
  • 阅读笔记 An introduction to inertial navigation
    摘要小巧轻量的MEMS惯性传感器最*在性能上的提升,使得惯性技术可以应用到诸如人体运动捕获这样的领域。这使得对惯性导航的研究兴趣被激发,然而目前对这个主题的导论都没有充分讲清楚惯性系统的误差特性(errorcharacteristic)。引言这是一篇剑桥大学OliverJ.Woodman写的技术报告......
  • matlab笔记一
    \(Note1\)基本数据类型1.163264bitintfloatdouble(默认)signedunsigned2.complex(real+image)3.formatlong/short矩阵%空格/逗号分隔同一行之间的数A=[123;4,5,6]%四行四列随机矩阵B=rand(4)%冒号表达式a=1:2:19%start:walk:endb=linspace(1,10,20)%......
  • 博弈论学习笔记
    引入OI中的博弈论主要研究的是公平组合游戏。什么是公平组合游戏(\(\text{ImpartialGame}\))?游戏有两个人参与,双方轮流作出决策,双方均知道完整的游戏信息。任意一个游戏者在某一确定状态可以作出的决策集合只与当前的状态有关,而与游戏者无关。游戏中同一个状态不能多次抵达,......
  • openGauss学习笔记-30 openGauss 高级数据管理-别名
    openGauss学习笔记-30openGauss高级数据管理-别名SQL可以重命名一张表或者一个字段的名称,这个名称为该表或该字段的别名。创建别名是为了让表名或列名的可读性更强。SQL中使用AS来创建别名。30.1语法格式30.1.1列别名语法SELECT{*|[column[AS]output_name,...]}......
  • UE4学习笔记:光照移动性和物体移动性在构建光照时候的不同作用
    本随笔用于记录随笔作者在学习UE4光照系统过程中对不同移动性的光源对不同移动性的模型产生不同的效果的总结,编写本随笔时UE4引擎版本为4.27。随笔作者还处在学习阶段,难免会出现技术上和书写上的问题,如若发现类似的问题,欢迎在评论区或者私信与我讨论。目录静态(Static)光源静态(Sta......
  • [刷题笔记] CF1132F Clear the String & [CQOI2007] 涂色
    Problem1Problem2双倍经验qwqDescription初始时数组为空,每次可以选择一个区间\(l-r\)将其赋为同一个值,赋的值可以覆盖,给定数组的目标形式,求至少经过多少次操作使得空数组变成目标形式。Solution我们发现每次选择一个区间,大区间包含小区间,小区间可以推到大区间。因此考虑区间......
  • 【Linux】Kali Linux 渗透安全学习笔记(3) - Nikto 简单应用
    Nikto是一款不可多得的漏洞扫描工具。它用Perl编写,使用rfp的LibWhisker来执行快速安全扫描或信息检查。它使用起来非常方便,帮助文档和社区资源都比较全面,对于像我这种初学者来说简直就是福音。本章我将延续上一章OneForAll的用例继续进行渗透测试。声明:本文测试的站点......
  • C语言学习笔记(七)初识结构体
    初识结构体结构体的声明结构体的基础知识结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。结构的声明struct标签{ 值; 值; ……}变量列表;例://定义一个结构体类型structStu//struct-结构体关键字Stu-结构体标签structStu-结......