找回密码
 注册
Simdroid-非首页
查看: 216|回复: 5

请问怎么把1×1×2001维的矩阵改成2001×1维的?

[复制链接]
发表于 2004-12-22 10:02:19 | 显示全部楼层 |阅读模式 来自 上海交通大学
请问怎么把1×1×2001维的矩阵改成2001×1维的?用simulink模块仿真的,用to workspace引出来的,本来是列矩阵2001×1,结果搞成1×1×2001了,怎么修改呢?
发表于 2004-12-22 10:26:36 | 显示全部楼层 来自 江苏南京

Re:请问怎么把1×1×2001维的矩阵改成2001×1维的?

Simdroid开发平台
使用 squeeze 进行“孤维”撤销,使原数组降维。
例如:

for n = 1:10
    x(1,1,n) = n;
end
y = squeeze(x)


y =

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10

评分

1

查看全部评分

发表于 2004-12-22 14:43:26 | 显示全部楼层 来自 福建泉州

Re:请问怎么把1×1×2001维的矩阵改成2001×1维的?

y=x(1,1,:)'不就可以啦
 楼主| 发表于 2004-12-22 15:10:32 | 显示全部楼层 来自 上海交通大学

Re:请问怎么把1×1×2001维的矩阵改成2001×1维的?

fjw98043121 wrote:
使用 squeeze 进行“孤维”撤销,使原数组降维。
例如:

for n = 1:10
    x(1,1,n) = n;
end
y = squeeze(x)


y =

     1
     2
     ......

谢谢,经过你的提示,我知道怎么做了:
for i=1:2001;
ff(i)=T1(1,1,i);
end

这样就可以把原来的1×1×2001的T1编程2001×1了
发表于 2004-12-22 21:19:38 | 显示全部楼层 来自 上海

Re:请问怎么把1×1×2001维的矩阵改成2001×1维的?

还用循环啊?这是matlab也,多用矩阵思维想想问题。
比如reshape也可以解决很多类似问题。
发表于 2004-12-22 22:26:43 | 显示全部楼层 来自 江苏南京

Re:请问怎么把1×1×2001维的矩阵改成2001×1维的?

我自己总结了一下:
例如
x=ones(1,1,100);
1)可以用降维函数y=squeeze(x)'
2)可以利用矩阵的特点y=x(:)
3)可以利用重组矩阵维数函数y=reshape(x,1,100)
4)应用循环,但是不可取!
当然方法还是很多的,其中前三种方法都可以借鉴学习下,希望大家多讨论!

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-5-24 00:22 , Processed in 0.052255 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表