vibration2008 发表于 2010-8-14 12:07

如何设置一个名字可以变化的变量名, 问题如下:

有一个函数auto(car)供调用,输出一个变量,多次执行这个函数,每次输出的变量名需要不断变化,如何做到呢?

= auto(car)

speed这个变量应该不断改变名字,比如调用第一次 变量名为speed_1, 第二次为speed_2, 以此类推,speed_3, ...

我试了genvarname,不管用,有什么办法设置?

多谢!

ChaChing 发表于 2010-8-14 20:59

回复 楼主 vibration2008 的帖子

不是每次调用时, 使用不同的输出即可!如
speed1 = auto(...)
speed2 = auto(...)
speed3= auto(...)
...

vibration2008 发表于 2010-8-14 23:14

原帖由 ChaChing 于 2010-8-14 20:59 发表 http://www.chinavib.com/forum/images/common/back.gif
不是每次调用时, 使用不同的输出即可!如
speed1 = auto(...)
speed2 = auto(...)
speed3= auto(...)
...
thanks,较多,而且不仅是1,2,3,是一长串变化的字符,所以每次输入很麻烦,
试过eval好像不管用

ChaChing 发表于 2010-8-15 00:26

...试过eval好像不管用
个人水平有限, 可否具体些!

vibration2008 发表于 2010-8-15 00:48

我是想用
speed = 某个字符串,这个字符串包括 字符和数字, 每次手动修改数据
e.g.,size = 100;
speed = ['Simulation' num2str(size)]
force = ['Load' num2str(size)]
Ra = ['Ratio' num2str(size)]

= auto(...)
调用auto函数后,输出的speed, force, Ra以 Simulation100, Load100, Ratio100
三个变量名保存下来.
试了半天也没找到办法.

ChaChing 发表于 2010-8-15 01:08

回复 5楼 vibration2008 的帖子

是个人表达有问题吗? 试过了也没给怎么试!?:@)
试试下式吧
size = 100; speed = ['Simulation' num2str(size)];
force = ['Load' num2str(size)];Ra = ['Ratio' num2str(size)];
eval(['[',speed,',',force,',',Ra,'] = auto(...)'])

[ 本帖最后由 ChaChing 于 2010-8-15 01:10 编辑 ]

vibration2008 发表于 2010-8-15 01:44

非常感谢,解决!
有3、4个论坛,帮助很大,论文里要表示感谢,只是ID不能列出公开了,

我试过eval,不成功,问题是没按你给的格式,

原帖由 ChaChing 于 2010-8-15 01:08 发表 http://www.chinavib.com/forum/images/common/back.gif
是个人表达有问题吗? 试过了也没给怎么试!?:@)
试试下式吧
size = 100; speed = ['Simulation' num2str(size)];
force = ['Load' num2str(size)];Ra = ['Ratio' num2str(size)];
eval(['[',speed,',',force,',' ...
页: [1]
查看完整版本: 如何设置一个名字可以变化的变量名, 问题如下: