matlab中多维数组存储方式

我知道matlab数组是按列存储数据的,那么对于多维数组是否也满足这个规律呢?假设matlab产生的数据为a[10][5][3],在C中怎么读取它呢?假设指针p指向a[0... 我知道matlab数组是按列存储数据的,那么对于多维数组是否也满足这个规律呢?
假设matlab产生的数据为a[10][5][3],在C中怎么读取它呢?
假设指针p指向a[0][0][0],那么
for(k=0;k<3;k++)
for(j=0;j<5;j++)
for(i=0;i<10;i++)
a[i][j][k]=*(p+k*5*10+j*10+i);

这样将数据读取出来可以吗?
展开
 我来答
百度网友96ffcf7
推荐于2016-03-23 · 知道合伙人互联网行家
百度网友96ffcf7
知道合伙人互联网行家
采纳数:22721 获赞数:118724
从事多年网络方面工作,有丰富的互联网经验。

向TA提问 私信TA
展开全部
1.一个三维数组由行、列和页三维组成,其中每一页包含一个由行和列构成的二维数组
2.利用标准数组函数创建多维数组
A=zeros(4,3,2) 生成一个4行3列2页的三维全0数组,ones,rand和randn等函数有相似的用法。
3.利用直接索引方式生成多维数组
A=zeros(2,3)
A(:,:,2)=ones(2,3)
A(:,:,3)=4
上面的代码先生成一个二维数组作为三维数组的第一页,然后通过数组直接索引,添加第二页、第三页。
zxhddzyjxx
推荐于2016-08-03 · TA获得超过379个赞
知道答主
回答量:64
采纳率:0%
帮助的人:107万
展开全部
可以的,多维数组的存储也是按列来,可以看看matlab中函数ind2sub的帮助文档
ind2sub和sub2ind是下标和存储序号相互转换的函数。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
钺联昱M
2011-03-22 · TA获得超过706个赞
知道小有建树答主
回答量:1789
采纳率:33%
帮助的人:899万
展开全部
这不是matlab程序
追问
数据a由matlab已经产生了,保存在内存中,返回了首地址供C使用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式