24小时热门版块排行榜    

查看: 1758  |  回复: 6

roxannelj

金虫 (小有名气)

[求助] 请教关于matlab矩阵转换问题

请问将三维数据data(x×y×z) 转成二维data2(xy×z),以及将处理完后的二维数据又转回去成三维数据,谁知道怎么做,不吝赐教,万分感谢!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lurencyj

木虫 (著名写手)

【答案】应助回帖


感谢参与,应助指数 +1
xzhdty(金币+1): 欢迎常来 2012-03-06 20:19:28
已经测试过:
CODE:
dim1 = 2;
dim2 = 3;
dim3 = 2;
data_3d = ones(dim1, dim2, dim3);
data_3d(:) = 1:dim1*dim2*dim3
data_2d = ones(dim1*dim2, dim3)
newData_3d = data_3d;

for i=1:dim1*dim2
        ix = floor((i-1)/dim2);
        iy = mod(i-1,dim2);     % i=2 => ix=1 & iy=2 & iz=1
        ix = ix + 1
        iy = iy + 1

        for j = 1:dim3
                data_2d(i, j) = data_3d(ix,iy,j);
        end
end

for i=1:dim1*dim2
        ix = floor((i-1)/dim2);
        iy = mod(i-1,dim2);     % i=2 => ix=1 & iy=2 & iz=1
        ix = ix + 1
        iy = iy + 1

        for j = 1:dim3
                newData_3d(ix,iy,j) = data_2d(i, j);
        end
end

» 本帖已获得的红花(最新10朵)

很女子很弓虽大
2楼2012-03-06 17:13:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

roxannelj

金虫 (小有名气)


送鲜花一朵
xzhdty(金币+1): 欢迎常来 2012-03-06 20:19:46
引用回帖:
: Originally posted by lurencyj at 2012-03-06 17:13:59:
已经测试过:

dim1 = 2;
dim2 = 3;
dim3 = 2;
data_3d = ones(dim1, dim2, dim3);
data_3d( = 1:dim1*dim2*dim3
data_2d = ones(dim1*dim2, dim3)
newData_3d = data_3d;

for i=1:dim1*dim2
        ix = ...

谢谢lurencyj,从程序中看二维数据data_2d是dim1*dim2,抱歉我的表述有问题,其实我的问题是我有个三维数据data(x,y,λ),其中x,y是像素点的坐标,λ是波长信息,现在我需要unfold这个三维数据成二维数据data2((xy),λ),其中的行保存其位置坐标不变,因为我要将这个三维数据转成二维才能进行一系列的处理,再转回成三维数据,不知这回说清楚了吗,还请继续赐教!谢谢!
3楼2012-03-06 17:46:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lurencyj

木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★
roxannelj(金币+5): ★★★★★最佳答案 谢谢! 2012-03-06 20:34:45
引用回帖:
3楼: Originally posted by roxannelj at 2012-03-06 17:46:24:
谢谢lurencyj,从程序中看二维数据data_2d是dim1*dim2,抱歉我的表述有问题,其实我的问题是我有个三维数据data(x,y,λ),其中x,y是像素点的坐标,λ是波长信息,现在我需要unfold这个三维数据成二维数据data2(( ...

我觉得你描述的情况和我给的代码是一个意思。
很女子很弓虽大
4楼2012-03-06 17:52:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yangzichen

铜虫 (小有名气)

你的这个问题和我得到的矩阵数据一样的 我用的是EEM矩阵 存储格式刚好是你要得到的格式,但是转换回三维的还真是头疼 感谢大侠回答
这个年代很疯狂
5楼2012-03-22 14:31:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

songfuture77

新虫 (初入文坛)

我也想实现此转换方法,请问楼主解决了吗。。
6楼2015-09-02 15:34:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

songfuture77

新虫 (初入文坛)

引用回帖:
5楼: Originally posted by yangzichen at 2012-03-22 14:31:26
你的这个问题和我得到的矩阵数据一样的 我用的是EEM矩阵 存储格式刚好是你要得到的格式,但是转换回三维的还真是头疼 感谢大侠回答

你好 我想实现这个矩阵转换功能,请问EEM矩阵是什么呢 没有查到 望不吝赐教啊。。
7楼2015-09-02 15:35:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 roxannelj 的主题更新
信息提示
请填处理意见