萍聚社区-德国热线-德国实用信息网

 找回密码
 注册

微信登录

微信扫一扫,快速登录

萍聚头条

查看: 3676|回复: 16

[其他学科] 问一个纠缠很久的很入门的问题

[复制链接]
发表于 2007-7-12 09:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

x
比方说我要建立一个数组,包含另一数组的每个元素两次。a=[1,2,3,4]要使得b=[1,1,2,2,3,3,4,4]。
为此写下
a=[1,2,3,4];
for i=1:4
b(i)=[a(i),a(i)]
end
报错为
???  In an assignment  A(I) = B, the number of elements in B and
I must be the same.
请问有什么办法解决么?
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2007-7-12 10:30 | 显示全部楼层
原帖由 Jupp 于 2007-7-12 09:54 发表
比方说我要建立一个数组,包含另一数组的每个元素两次。a=[1,2,3,4]要使得b=[1,1,2,2,3,3,4,4]。
为此写下
a=[1,2,3,4];
for i=1:4
b(i)=[a(i),a(i)]
end
报错为
???  In an assignment  A(I) = B, the  ...



好像如果这样写就会变成一个4x2的矩阵的!$考虑$
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2007-7-12 12:06 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2007-7-12 15:30 | 显示全部楼层
好像有很多办法唉
a=[1,2,3,4]
a=[a; a]
b=a(:)'

[[i] 本帖最后由 软软熊 于 2007-7-12 15:33 编辑 [/i]]

评分

1

查看全部评分

Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2007-7-12 15:38 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2007-7-12 15:48 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2007-7-12 16:56 | 显示全部楼层
建议用#4的方法,
这是最快和最节省内存的。
可以这样写:

>> a=[1,2,3,4] ;

>> b= reshape( [ a ; a] , 1, length(a)*2)

b =

     1     1     2     2     3     3     4     4
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2007-7-12 23:37 | 显示全部楼层
谢谢大家,最后我还是采取三楼的写法。。因为其他写法的指令对我来说有点眼花缭乱。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2007-7-13 09:25 | 显示全部楼层
原帖由 recbio 于 2007-7-12 16:56 发表
建议用#4的方法,
这是最快和最节省内存的。
可以这样写:

>> a=[1,2,3,4] ;

>> b= reshape( [ a ; a] , 1, length(a)*2)

b =

     1     1     2     2     3     3     4     4

对头,这种简单的我自己也是用这个方法写。后面两种就是提个思路,碰到复杂的情况可以用。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2007-7-13 09:31 | 显示全部楼层
原帖由 Jupp 于 2007-7-12 23:37 发表
谢谢大家,最后我还是采取三楼的写法。。因为其他写法的指令对我来说有点眼花缭乱。

唉,如果你真的要用Matlab编程的话还是劝你改掉上来就用for循环的习惯。Matlab之所以简单就是有强大的矩阵操作功能。。。
前两天一老哥给我看一程序,3维矩阵,for了3次,一长串,把我看得一愣一愣的,结果改成两句话就搞定了。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

手机版|Archiver|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网 |网站地图

GMT+2, 2024-5-1 13:25 , Processed in 0.062836 second(s), 26 queries , MemCached On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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