如何建立matlab三维矩阵??请给出一个matlab三维矩阵建立的具体过程。

比如说,我的数据是四列的,分别表示坐标:x,y,z,和对应点的温度值!现在想建一个三维矩阵做立体图。三维矩阵应该怎么建立,最好附上例子!
立体的图就像立方体一样的。比如说我的原始数据是
x y z T
1 1 1 15
2 2 2 20
3 3 3 22
4 4 4 25
5 5 5 23
......直接写到txt里面的时候是一个二维的矩阵,现在想转化为三维的?怎么写呢?我个人的理解是,多个二维矩阵组成三维矩阵,但是就是不确定怎么写?以及如何调用?谢谢回答的朋友!

在Matlab中习惯性的会将二维数组中的第一维称为“行”第二维称为“列”,而对于三维数组的第三位则是习惯性的称为“页”。在Matlab中将三维及三维以上的数组统称为高维数组,三维数组也是高级运算的基础

比如说,我的数据是四列的,分别表示坐标:x,y,z,和对应点的温度值!

x  y   z    T
1  1  1  15
2  2   2  20
3  3   3  22
4  4   4   25
5   5   5   23

用A(a,b,c)=B的方法来赋值,A=[1 2 3] 用A(:,:,2)=[2 3 4]就可以表示另一个面

但这个方法很麻烦,

通常情况下用三维矩阵的时候先初始化好,确定要用的三维矩阵是多大的。
国际象棋的棋盘(8*8)可以看作二维的,而每一个格子上可以放一个棋子,用数字1到6和7到12对应两方6类棋子,0表示不放棋子,那么一个8*8的矩阵,各元素是0--12,就可以表示一盘棋。现在有5个盘棋,那么就有一个三维矩阵(8*8*5),显然矩阵中每一个元素都是0到12中的一个数。
用A表示这个三维矩阵,那么A(:,:,1)表示第1个棋盘,A(:,:,2)表示第2个棋盘。。。。依次类推。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-25
你这个不适合用三维矩阵吧。三维的话可不是1,1,1、2,2,2、3,3,3这样的,每一维都是从1到给定阶的。如果有3*4*5的三维矩阵那你的数据要有3*4*5个。中间不能有空的。你存储数据用二维的就可以,不一定非要用三维的,画图可以画三维的。追问

谢谢,我已经弄清楚三维矩阵怎么表示了!A=[1 2 3] 用A(:,:,2)=[2 3 4]就可以表示另一个面了。但是有一点还是不明白,怎么样跟上面的xyzT对应呢?是应该写成
A=[1 1 1 15
2 2 2 20
...]
还是应该怎么写才是对应的呢?

追答

你最好用A(a,b,c)=B来赋值,其中a,b,c可以是数字或向量或:,B是已知的值。用A=[。。。。。]这种方法赋值三维矩阵容易搞混。我还是没搞懂你为什么要用三维矩阵,按我的理解你真的不需要三维矩阵,你只需要存储坐标和对应的温度,坐标是三维的不代表你要用三维的矩阵来存储。

另外,你这样写
A=[1 1 1 15
2 2 2 20
...]
那么A是二维的,前三列是坐标,第四列是温度。

通常用三维矩阵的时候先初始化好,确定要用的三维矩阵是多大的。举个例子,国际象棋的棋盘(8*8)可以看作二维的,而每一个格子上可以放一个棋子,用数字1到6和7到12对应两方6类棋子,0表示不放棋子,那么一个8*8的矩阵,各元素是0--12,就可以表示一盘棋。现在有5个盘棋,那么就有一个三维矩阵(8*8*5),显然矩阵中每一个元素都是0到12中的一个数。
用A表示这个三维矩阵,那么A(:,:,1)表示第1个棋盘,A(:,:,2)表示第2个棋盘。。。。依次类推。

你现在这样的如果用三维矩阵的话好像不是每一个元素都有值吧?你有A(1,1,2)这里就没有值吧?就好像棋盘上这个位置坏了,放不了棋子,这时用三维矩阵浪费内存。如果你每一个元素都有值,那么用三维矩阵就可以。

来自:求助得到的回答本回答被提问者采纳
第1个回答  推荐于2017-11-25
直接赋值就可以
A(x,y,z)=t
但是这个是四维的,怎么做立体图?
第2个回答  2013-03-11
你好,请问你解决这个问题了吗?
相似回答