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

前言:

高维矩阵在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     9

a(:,:,2) =

    10    20    30
    40    50    60
    70    80    90

a(:,:,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);

Matlab基础之高维矩阵创建和应用_第1张图片

2.surf()

x=1:10;
y=1:10;
z=zeros(10,10)%分配内存
for i=1:10
 for j=1:10
z(i,j)=exp(-0.5*(x(i)^2+y(j)^2));
 end
end
surf(x,y,z);
Matlab基础之高维矩阵创建和应用_第2张图片





你可能感兴趣的:(Matlab相关知识)