2365215 发表于 2008-5-4 16:45

关于只知道变量名复制变量的问题

我现在知道变量的名称,比如是xrs,这是我从下拉菜单中读入的。
我将这个名称储存在变量var中,
如果我想把var中对应的变量复制给x的话,我应该怎么处理?

也就是在另外一个函数中只输入文件名和变量名的话,怎么复制变量xrs到x中呢

[ 本帖最后由 eight 于 2008-5-4 21:49 编辑 ]

ch_j1985 发表于 2008-5-4 17:19

下面的代码是不是你想要的?

xrs=1:10; save xrs;
load xrs; x=xrs;


[ 本帖最后由 ChaChing 于 2010-8-9 23:40 编辑 ]

sogooda 发表于 2008-5-4 20:54

看了半天,终于弄懂了楼主的意思。下面的代码应该可以实现楼主需要的功能吧。xrs=linspace(0,1);
var='xrs';
eval(sprintf('x=%s;',var))

2365215 发表于 2008-5-5 09:42

我搞定了, 是这样的

我现在需要的变量是变化的,我根据变量名给x复制
现在变量名储存在ver里面,ver=xrs,现在我要把ver所指的xrs赋值给x

x=load(filename,ver); 这是x是一个结构体,x.xrs.

x=eval('x.',ver); 这样就把其中的xrs根据变量名复制给x了。

[ 本帖最后由 ChaChing 于 2010-8-9 23:50 编辑 ]

eight 发表于 2008-5-5 10:03

你这样提问,神仙也看不懂。其实没有这么复杂吧,你看看 [原创]写给学习 matlab 的新手们 1楼第9个技巧

[ 本帖最后由 ChaChing 于 2010-8-9 23:49 编辑 ]

2365215 发表于 2008-5-5 12:33

原帖由 eight 于 2008-5-5 10:03 发表 http://www.chinavib.com/forum/images/common/back.gif
你这样提问,神仙也看不懂。其实没有这么复杂吧,你看看 [原创]写给学习 matlab 的新手们 1楼第9个技巧

谢谢eight

之所以这么复杂是因为我的程序中载入的数据文件是不确定的,

这样每次选择的变量也是不同的,我根据在下拉列表中选择如的变量名来读取不同的变量。

这样也就是每次只能根据变量名来索引变量,我无法事先得到mat中数据的情况。

之所以这么复杂主要是为了可以灵活的根据在mat文件的不同,以及选择变量的不同载入数据。
页: [1]
查看完整版本: 关于只知道变量名复制变量的问题