MATLAB入门学习-#3-矩阵基础#2特殊矩阵的建立和程序示例

1.零矩阵zeros

上一个聊过了,不多bb

2.幺矩阵ones

上一个聊过了,不多bb

3.单位矩阵eye

使用的命令是eye(n) or eye(m,n)

4.随机矩阵rand&randn

先聊聊rand和randn的区别吧:

rand 生成均匀分布的伪随机数。分布在(0~1)之间
     主要语法:rand(m,n)生成m行n列的均匀分布的伪随机数
randn 生成标准正态分布的伪随机数(均值为0,方差为1)
     主要语法:和上面一样
     下面介绍两种随机矩阵的创造:(**下面说的分布都是矩阵中的随机数是在这种分布里面挑出来的**)
     1.从a到b均匀分布的随机矩阵:s = a + (b-a)* rand(n)
     2.均值为u,方差为s的正态分布的随机矩阵:y = u + sqrt(s)* randn(n)
s=5+5*rand(3,2)

s =

    9.0736    9.5669
    9.5290    8.1618
    5.6349    5.4877      %创造出了一个3x2的5~10均匀分布的随机矩阵

>> m=5+sqrt(3)*randn(3)       %sqrt(n)是n开平方根 

m =

    4.2490    9.7968    6.2564
    5.5934    2.6619    4.8908
   11.1980   10.2566    6.2380     %创造出了一个3x3的均值5方差3的正态分布的随机矩阵
  • 补充一下输出均值和方差的命令介绍:

matlab中提供了计算向量和矩阵的函数,方便编程时使用,
1.mean(X),返回向量X的均值; mean2(X),返回矩阵的均值;
如果X是一个矩阵时,返回一个向量,mean(X,1)得到列均值,mean(X,2)得到行均值;mean(mean(X))可得到整个矩阵的均值
2.median(X),返回向量X的中位数,用法同mean
3.var与std,std2
var(X)用于获得向量X的均方差,std主要用于矩阵上,其中std(X,0,1)获得列的均方差;std(X,0,2)获得行的均方差;std(std(X))可以获得矩阵X的均方差,与std2一样。

5.魔方矩阵magic

首先我就有一个问题,魔方矩阵是个什么鸡锤?请点:魔方矩阵_百度百科

>> magic(3)

ans =

     8     1     6
     3     5     7
     4     9     2

>> magic(4)

ans =

    16     2     3    13
     5    11    10     8
     9     7     6    12
     4    14    15     1

这东西有自己一套建立的方法,MATLAB也就是把那个步骤简化起来然后弄个magic命令出来让你好用一点了。
可是魔方矩阵这个东西是干什么用的呢…不知道,差也查不到,就很难受:
在这里插入图片描述

6.Hilbert矩阵

什么是Hilbert矩阵?Hilbert矩阵_百度百科

>> hilb(6)

ans =

    1.0000    0.5000    0.3333    0.2500    0.2000    0.1667
    0.5000    0.3333    0.2500    0.2000    0.1667    0.1429
    0.3333    0.2500    0.2000    0.1667    0.1429    0.1250
    0.2500    0.2000    0.1667    0.1429    0.1250    0.1111
    0.2000    0.1667    0.1429    0.1250    0.1111    0.1000
    0.1667    0.1429    0.1250    0.1111    0.1000    0.0909

>> format rat     %输出格式切换为有理数
>> hilb(6)

ans =

       1              1/2            1/3            1/4            1/5            1/6     
       1/2            1/3            1/4            1/5            1/6            1/7     
       1/3            1/4            1/5            1/6            1/7            1/8     
       1/4            1/5            1/6            1/7            1/8            1/9     
       1/5            1/6            1/7            1/8            1/9            1/10    
       1/6            1/7            1/8            1/9            1/10           1/11    

7.Toeplitz矩阵

什么是Toeplitz矩阵?Toeplitz矩阵_百度百科
我也不知道这是个什么东西…反正命令式toeplitz,用的时候自己去help吧…我刚刚help完试了试,有点东西!

>> help toeplitz
toeplitz - 托普利茨矩阵

    此 MATLAB 函数 返回非对称托普利茨矩阵,其中 c 作为第一列,r 作为第一行。如果 c 和 r 的首个元素不同,toeplitz
    将发出警告并使用列元素作为对角线。

    T = toeplitz(c,r)
    T = toeplitz(r)

    另请参阅 hankel, kron

    toeplitz 的参考页
    名为 toeplitz 的其他函数
>> c=[1 2 3 3];
>> r=[3;4;5;6];
>> toeplitz(c,r)
警告: 输入列的第一个元素与输入行的第一个元素不匹配。
         在对角线冲突中,列具有更高优先级。 
> In toeplitz (line 31) 

ans =

     1     4     5     6
     2     1     4     5
     3     2     1     4
     3     3     2     1

猜你喜欢

转载自blog.csdn.net/StefanCharlie/article/details/83020598