Matlab基础之高维矩阵创建和应用

来源:互联网 发布:最小截图软件 编辑:程序博客网 时间:2024/06/15 16:31

前言:

高维矩阵在Matlab里是指维数大于等于3的矩阵,我们可以把三维矩阵比作一本书,其中行、列和页数构成了3维,在很多领域里有着特别的额应用。

一、创建高维矩阵

1.坐标点创建

定义一个3*3*3(3维)矩阵,先把每页的内容(行和列)确定好,在确定页数:

a(:,:,1)=[1 2 3;4 5 6;7 8 9];a(:,:,2)=[10 20 30;40 50 60;70 80 90];a(:,:,3)=[100 200 300;400 500 600;700 800 900];disp(' ');a%%%%%result:a(:,:,1) =     1     2     3     4     5     6     7     8     9a(:,:,2) =    10    20    30    40    50    60    70    80    90a(:,:,3) =   100   200   300   400   500   600   700   800   900

2.函数生成法

函数有zeros(),randn()高斯随机阵,rand()随机阵和ones()全部为1的矩阵

比如: zeros(2,3,2) 是生成全部为0的3维矩阵

ans(:,:,1) =    

     0     0     0
     0     0     0

ans(:,:,2) =

     0     0     0
     0     0     0

3.拼接函数法

有repmat(),reshape(),cat()等

 a=1:18;
reshape(a,3,3,2)


ans(:,:,1) =


     1     4     7
     2     5     8
     3     6     9


ans(:,:,2) =


    10    13    16
    11    14    17
    12    15    18

二、三维绘图

三维相比较其他高位有着更广泛的应用

1.plot3()

t=0:0.1:15;x=exp(-0.2*t).*cos(2*t);%矩阵之间对应数的相乘为点乘,不是矩阵的相乘y=exp(-0.2*t).*cos(2*t);subplot(2,1,1);plot3(x,y,t);subplot(2,1,2);plot(x,y);

2.surf()

x=1:10;y=1:10;z=zeros(10,10)%分配内存for i=1:10 for j=1:10z(i,j)=exp(-0.5*(x(i)^2+y(j)^2)); endendsurf(x,y,z);





0 0