MATLAB数组相关
2020-12-29 10:29
标签:必须 text 使用 进入 结合 平方根 错误 tps 运算 学习了很多程序语言,在各种语言之间跳来跳去,有时候总是弄混。 在网上找相关内容的时候,发现支零破碎,搞一段代码需要东找找西凑凑才能齐全,网上系统成掌的资料找起来还是有点吃力。 “山不过来我过去”,将数组相关的内容再整理一遍,之后根据所用一一补全,作为系统学习、后期查看的资料。 MathWorks:https://ww2.mathworks.cn/help/matlab/learn_matlab/matrices-and-arrays.html 矩阵是按行和列排列的数据元素的二维矩阵数组,数组则是单行或者单列数据,元素可以是数字、逻辑值、日期和时间、字符串或其他数据类型等。 (1)已知数组内元素的创建 每行的元素用逗号(,)或者空格分隔;包含多行数据则使用分号分隔各行;
元素可以用函数、特定表示符建立 (2)未知数组内元素的创建 MATLAB不用事先定义数组的大小,可以自己动态增加, 对指定行比如第m行赋值:a(m,:)=[2 4 6],例如: (3)特定类型的数组或矩阵 ones 生成元素全部为1 的矩阵,括号内元素值行、列的个数 zeros生成元素全部为0 的矩阵,括号内元素值行、列的个数 rand 生成元素为随机数的矩阵,括号内元素值行、列的个数 这类数组或矩阵还有如下,其调用格式同上,不再赘述 eye函数:产生对角线为1的矩阵。当矩阵为方阵时,得到一个单位矩阵。 randn函数:产生均值为0,方差为1的标准正态分布的随机矩阵。 (4)冒号的使用 冒号的使用:创建连续且按一定增量(默认为1)均匀分布的矩阵 如: 还可以按非整数值递增或递减,递减则在增量的位置加负号(-)。 如果增量值不能均分指定的范围,MATLAB 会在超出范围之前在可以达到的最后一个值处自动结束序列。 (5)定数创建 定数线性采样法 定数对数采样法 (1)常用运算符直接进行运算 相加、相减,需要矩阵的维度一致。 (2)需要带符号的运算 转置 相乘:可以乘一个常数,也可以乘一个矩阵(矩阵需要注意维度);如果将矩阵中元素进行元素级相乘而不是矩阵乘法,可以在前面加(.)
相除:两矩阵相除需要加(.),例如:A./A,
求逆,必须是方阵,也必须是可逆矩阵才可以计算,否则会提示“警告: 矩阵接近奇异值,或者缩放错误。结果可能不准确。RCOND = 3.265362e-19。 ” (1)串联矩阵 串联是连接数组以便形成更大数组的过程。实际上,第一个数组是通过将其各个元素串联起来而构成的。成对的方括号 例如(a和r为前文生成的数组或矩阵),逗号分隔生成并排的,分号分隔生成多行的 (2)复数 复数包含实部和虚部,虚数单位是 (1)size size函数用于给出矩阵的行、列数 (2)diag diag函数将输入元素放在矩阵的对角线上 按元素位置索引 用for循环存数据进入数组中,首先创建一个空数组xx,然后用for循环,如下: MATLAB数组相关 标签:必须 text 使用 进入 结合 平方根 错误 tps 运算 原文地址:https://www.cnblogs.com/Sonny-xby/p/13024486.html0 前言
1.引用来源
2.正文
2.1 数组的创建
a=[1,2,3; 3 4 5; 5 6 7];
B=[pi,2*pi,exp(1),3,2^3]
a=[]
a(2,:)=[2 4 6]
o=ones(3,3)
z=zeros(3,3)
r=rand(3,3)
A = 0:2:10
A = 2.1:-0.2:1
E=linspace(10,20,6)
A=logspace(1,5,3)
2.2 数组运算
A=[2 4 6 8;10 12 14 16;18 20 22 24;26 28 30 32];
B=A+A
C=B-AA=[2 4 6 8;10 12 14 16;18 20 22 24;26 28 30 32];
A‘
inv(A)
2.3 其他操作
[]
即为串联运算符。A=[a,r]
A=[a;r]
-1
的平方根,使用 i
或 j
表示复数的虚部。c = [3+4i, 4+3j; -i, 10j]
2.4 相关函数
sz = size(A)
A = [12 62 93 -8];
B = diag(A)
3.数组的索引与使用
3.1 数组的索引
e = B(1,2)
3.2 for循环的结合使用
clc,clear
xx=[];
for i=1:10
a=i*2;
xx(i)=a;
end
disp(xx)
下一篇:01. 算法的时间复杂度