不明白图中的A,B的高维数组怎么的出来的括号中是什么意思
有用希望点个采纳:
对于一个matlab中的三维数组M,假设是i×j×k的,为了方便理解,你可以认为是有k个i×j的二维数组,比如M(:,:,1)就表示第一个i×j的二维数组。
所以,对于矩阵B来说B(3,4,:) = 2:5,表示的是一共B中一共有4个二维数组,每个二维数组的第3行第4列按顺序分别取2,3,4,5,也就得到了上图的结果。
对于矩阵A来说是一样的,A(:,:,1)就表示A中的第一个二维数组。
如果有问题欢迎继续提问,没有问题麻烦点个采纳哦
A=(:,:,1) 。代表第一维、第二维的所有数据,第三维的第一个,当使用下标的方法创建高维数组的时候,需要使用各自对应的维度的数值,没有指定的数值则在默认情况下为0。
嗯,好多都忘了,不一定对,你可以在知乎
上找找学matlab
的方法,感觉还不错。三维数组可以结合书
的样子理解。
关于A数组:
3*3*2
的三维数组。三个for循环,他的第i行第j列第k页的值刚好是i+j+k
。比如第一个,1+1+1 =3;并且A(2,2,2)
的值给1
,没有的补零。A(:,:,1)
这个,表示引用数组中第一页所有的行列的元素。关于B数组:
+创建一个3*4*4
的数组, 在每一页的第三行第四列放入2到5的数组。所以应该有4页。
这是 我在最近的一个小项目中遇到的一个实际问题
以下是我的代码:
%produce random data of tpoint
mm=30;
A0=360*rand(mm,1);
E0=90*rand(mm,1);
dltA=0.01*rand(mm,1);
dltE=0.01*rand(mm,1);
nm=1;
while nm<=mm
if (E0(nm,1)<10)
E0(nm,1)=E0(nm,1)+10;
end
nm=nm+1;
end
A1=A0-dltA;
E1=E0-dltE;
format long g
D=[A0 E0 A1 E1];
figure(1)
polar(A0,E0,'or');
title('Sky plot')
dlmwrite('Newdata.dat',D,'delimiter',' ','newline','pc','precision','%.06f');
% save('Newdata.dat','D','-ascii')
type('Newdata.dat');