MATLAB 02-矩阵及其运算

来源:互联网 发布:无人深空优化差 编辑:程序博客网 时间:2024/06/05 08:02
例1 计算表达式的值,并显示计算结果。
>> x=1+2i;>> y=3-sqrt(17);>> z=(cos(abs(x+y))-sin(78*pi/180))/(x+abs(y))z =  -0.3488 + 0.3286i>> 
例2 Mod(12,-5)=?    Rem(12,-5)=?
>> clear>> x=mod(12,-5)x =    -3>> mod(12,-5)ans =    -3>> rem(12,-5)ans =     2>> y=rem(12,-5)y =     2>> 
例3 建立大矩阵大矩阵可由方括号中的小矩阵或向量建立起来。
A =     1     2     3     4     5     6     7     8     9>> C=[A,eye(size(A));ones(size(A)),A]C =     1     2     3     1     0     0     4     5     6     0     1     0     7     8     9     0     0     1     1     1     1     1     2     3     1     1     1     4     5     6     1     1     1     7     8     9>> 
另:eye( )就是单位矩阵;ones( )就是元素均为1的矩阵.
例4 
>> A=[1,2,3,4,5;11,12,13,14,15;21,22,23,24,25;31,32,33,34,35]A =     1     2     3     4     5    11    12    13    14    15    21    22    23    24    25    31    32    33    34    35>> A(:,[2,4])=[]%删除A的第2列和第4列元素A =     1     3     5    11    13    15    21    23    25    31    33    35
>> 
注意:通用的特殊矩阵:zeros:产生全0矩阵(零矩阵)。
                      ones:产生全1矩阵(幺矩阵)。
                      eye:产生单位矩阵。                      rand:产生0~1间均匀分布的随机矩阵。
                      randn:产生均值为0,方差为1的标准正态分布随机矩阵。
例5 分别建立3×3、3×2和与矩阵A同样大小的零矩阵。(1) 建立一个3×3零矩阵。zeros(3) (2) 建立一个3×2零矩阵。zeros(3,2) (3) 设A为2×3矩阵,则可以用zeros(size(A))建立一个与矩阵A同样大小零矩阵。A=[1 2 3;4 5 6];    %产生一个2×3阶矩阵Azeros(size(A))      %产生一个与矩阵A同样大小的零矩阵
   解:(1)>> zeros(3)ans =     0     0     0     0     0     0     0     0     0>> 
<span style="white-space:pre"></span>(2)>> zeros(3,2)ans =     0     0     0     0     0     0>> 
<span style="white-space:pre"></span>(3)>> clear>> A=[1 2 3;4 5 6]A =     1     2     3     4     5     6>> zeros(sizeof(A))??? Undefined command/function 'sizeof'.>> zeros(size(A))ans =     0     0     0     0     0     0>> 
注意:中间sizeof是错误的。是size(A)
例6 建立随机矩阵
<span style="white-space:pre">(1) 在区间[20,50]内均匀分布的5阶随机矩阵。(2) 均值为0.6、方差为0.1的5阶正态分布随机矩阵。命令如下:x=20+(50-20)*rand(5)y=0.6+sqrt(0.1)*randn(5)</span>
<span style="white-space:pre"></span>解:(1)>> x=20+(50-20)*rand(5)x =   48.5039   42.8629   38.4630   32.1712   21.7367   26.9342   33.6940   43.7581   48.0641   30.5860   38.2053   20.5551   47.6544   47.5071   44.3950   34.5795   44.6422   42.1462   32.3081   20.2958   46.7390   33.3411   25.2880   46.8095   24.1667>> 
注意:相当于产生了0~30的随机矩阵,然后+20.
<span style="white-space:pre"></span>(2)>> y=0.6+sqrt(0.1)*randn(5)y =    0.4632    0.9766    0.5410    0.6360    0.6931    0.0733    0.9760    0.8295    0.9373    0.1775    0.6396    0.5881    0.4140    0.6187    0.8259    0.6910    0.7035    1.2904    0.5698    1.1134    0.2375    0.6552    0.5569    0.3368    0.3812>> 
特别注意:rand:产生0~1间均匀分布的随机矩阵。randn:产生均值为0,方差为1的标准正态分布随机矩阵。
<span style="white-space:pre"></span>(3)<span style="font-family: Arial, Helvetica, sans-serif;">此外,常用的函数还有reshape(A,m,n),它在矩阵总元素保持不变的前提下,将矩阵A重新排成m×n的二维矩阵。</span>
0 0
原创粉丝点击