Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2011-05-21, 12:13   #1
fastjacksonmin
初级会员
 
fastjacksonmin 的头像
 
注册日期: 2011-05-21
年龄: 34
帖子: 3
声望力: 0
fastjacksonmin 正向着好的方向发展
默认 关于两个MATLAB高维矩阵的处理问题

大家好!最近碰到了两个高维度矩阵的处理的问题。

第一个:
以一个三维的矩阵为例。三维的矩阵可以看成是一个描述三维空间中的标量场的表达。而我们还有另一个二维的矩阵,描述了同一个三维空间中的一个曲面。现在我想问的是,如何不使用for循环的情况下,从以上的两个矩阵得到一个描述曲面上的标量场的二维矩阵?

我想过使用类似于A(index)的表达,其中A是3维的矩阵,而index是二维的一个矩阵。这样的返回结果是一个二维的矩阵。看似挺有希望的,但是实际上,这个index矩阵和描述曲面的二维矩阵还稍有不同。二维矩阵中的每一个位置的值,是第三维的高度,但是这里的index所表述的并不是第三维的高度,而是:从第一页(page),第一行(row),第一列(column)开始数起,那个点是3-D矩阵中的第几个点。 这似乎又要求我做一次转换,而这个转换似乎又不可避免地碰到for循环。

进一步地,我希望能将这个方法应用在一个7维的矩阵上。因此,如果使用for 循环必然会导致大量的时间浪费。

第二个:
还以三维矩阵作为起点。我们都知道,diag可以返回一个二维矩阵的对角线上的数值。但是它不能作用于更高维度的矩阵。仔细地想一想的话,其实diag的作用就是返回两个维度上,index相等的坐标中的值。现在的问题是:如果是一个三维的矩阵,是否也有类似的函数,输入为三维矩阵,以及两个维度,而返回的则是一个二维的矩阵,这个矩阵描述的是三维空间中使得输入的两个维度的index相等的“对角面”上的值?

再一次地,如果把三维矩阵扩展到七维的矩阵,仍然是输入矩阵,以及两个维度,返回一个六维“对角面”上的值,是否有现成的函数可以使用?

MATLAB学艺不精,还望大家赐教!
fastjacksonmin 当前离线   回复时引用此帖
旧 2011-05-24, 19:31   #2
cxdzsjb
初级会员
 
注册日期: 2011-05-24
年龄: 39
帖子: 10
声望力: 14
cxdzsjb 正向着好的方向发展
默认 回复: 关于两个MATLAB高维矩阵的处理问题

QQ交流吧, 方便点, matlab爱好者
QQ:1790880773
cxdzsjb 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 14:29


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.