声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1109|回复: 5

[编程技巧] 关于只知道变量名复制变量的问题

[复制链接]
发表于 2008-5-4 16:45 | 显示全部楼层 |阅读模式

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

您需要 登录 才可以下载或查看,没有账号?我要加入

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

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

[ 本帖最后由 eight 于 2008-5-4 21:49 编辑 ]
回复
分享到:

使用道具 举报

发表于 2008-5-4 17:19 | 显示全部楼层
下面的代码是不是你想要的?

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

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

评分

1

查看全部评分

发表于 2008-5-4 20:54 | 显示全部楼层
看了半天,终于弄懂了楼主的意思。下面的代码应该可以实现楼主需要的功能吧。
  1. xrs=linspace(0,1);
  2. var='xrs';
  3. eval(sprintf('x=%s;',var))
复制代码

评分

1

查看全部评分

 楼主| 发表于 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 编辑 ]

评分

1

查看全部评分

发表于 2008-5-5 10:03 | 显示全部楼层
你这样提问,神仙也看不懂。其实没有这么复杂吧,你看看 [原创]写给学习 matlab 的新手们 1楼第9个技巧

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

评分

1

查看全部评分

 楼主| 发表于 2008-5-5 12:33 | 显示全部楼层


谢谢eight

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

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

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

之所以这么复杂主要是为了可以灵活的根据在mat文件的不同,以及选择变量的不同载入数据。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-14 02:20 , Processed in 0.689485 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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