24小时热门版块排行榜    

查看: 420  |  回复: 7

老花

木虫 (著名写手)

老花

[求助] 求高手指教

experision=strcat('var_',int2str(s),'=load(','''',int2str(s),'.txt','''',');');%循环加载文件
eval(experision);
请高手解读一下,
特别是单引号!
回复此楼

» 猜你喜欢

平凡中不平凡。我们都希望长寿,但是只有有意义的人生和生命中那些闪光的瞬间才是最重要的。用我们的精神而不是钟表来度量时间的流逝吧。....
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
感谢参与,应助指数 +1
老花: 金币+50, ★★★★★最佳答案, 谢谢 2012-08-08 10:35:58
xiegangmai: 金币+2, 专家考核, 谢谢应助! 2012-08-09 22:27:45
s=3;

experision=strcat('var_',int2str(s),'=load(','''',int2str(s),'.txt','''',');');

eval (experision);

strcat把字符串连在一起,刮在单引号里的都是字符串,上面包括把以下字符串连起来:

'var_'        产生字符串var_
int2str(s)    把数字s转换成字符串格式  原来数字3,现在变成字符3

'=load('      产生字符串=load(
''''          产生字符串'
'.txt'        产生字符串.txt
''''          产生字符串'
');'          产生字符串);

上面的连起来就是
experision =

var_3=load('3.txt');

eval(experision)就是执行下面这一语句

var_3=load('3.txt');

也就是读取3.txt文件,赋给变量var_3.
当你的s不断变化时,就能不断读取值赋给不同的变量。
showmethemoney
2楼2012-08-08 10:31:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

老花

木虫 (著名写手)

老花

引用回帖:
2楼: Originally posted by csgt0 at 2012-08-08 10:31:56
s=3;

experision=strcat('var_',int2str(s),'=load(','''',int2str(s),'.txt','''',');');

eval (experision);

strcat把字符串连在一起,刮在单引号里的都是字符串,上面包括把以下字符串连起来:

'var ...

''''          产生字符串'                  几个有关系(数量) 我还是有点不明白!
expression=strcat('fid1=fopen(','''b',int2str(s),'.txt''', ',''w''',');');
中的'''b'  又是啥意思那?  谢谢!
平凡中不平凡。我们都希望长寿,但是只有有意义的人生和生命中那些闪光的瞬间才是最重要的。用我们的精神而不是钟表来度量时间的流逝吧。....
3楼2012-08-08 10:41:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图


xiegangmai: 金币+1, 谢谢参与! 2012-08-09 22:27:56
引用回帖:
3楼: Originally posted by 老花 at 2012-08-08 10:41:03
''''          产生字符串'                  几个有关系(数量) 我还是有点不明白!
expression=strcat('fid1=fopen(','''b',int2str(s),'.txt''', ',''w''',');');
中的'''b'  又是啥意思那?  谢谢!...

就是单引号都要用''表示,但是引号是字符,所以外面又要用''括起来,所以是4个''''表示一个字符的'
你那个b就是在前面有个字符b,就是b3.txt之类的,可能跟文件名有关。
'''b' 就是'b的意思,fopen以字符串作为输入,所以最后执行时括号内应该是'开头的,所以就又'b开始。
showmethemoney
4楼2012-08-08 10:50:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图


xiegangmai: 金币+1, 辛苦了! 2012-08-09 22:28:06
你写成这样就看明白了
s=2;
k='fid1=fopen(''b';
m='.txt'',''w'');'
expression=strcat(k,int2str(s),m)
showmethemoney
5楼2012-08-08 10:55:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

luomia

木虫 (著名写手)

【答案】应助回帖

★ ★
xiegangmai: 金币+2, 谢谢参与! 2012-08-09 22:28:17
strcat('var_',int2str(s),'=load(','''',int2str(s),'.txt','''',');');
strcat里面分为三个部分拼接为一个表达式:
'var_'是第一部分
int2str(s)是第二部分
=load(','''',int2str(s),'.txt','''',');为第三部分
其中第三部分,即load的用法貌似有问题
S = LOAD(FILENAME, VARIABLES)
你可以单独把load拿出来做下测试
一次次萍水相逢
6楼2012-08-08 11:00:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

老花

木虫 (著名写手)

老花

引用回帖:
4楼: Originally posted by csgt0 at 2012-08-08 10:50:42
就是单引号都要用''表示,但是引号是字符,所以外面又要用''括起来,所以是4个''''表示一个字符的'
你那个b就是在前面有个字符b,就是b3.txt之类的,可能跟文件名有关。
'''b' 就是'b的意思,fopen以字符串作为输 ...

好的 ,谢谢
平凡中不平凡。我们都希望长寿,但是只有有意义的人生和生命中那些闪光的瞬间才是最重要的。用我们的精神而不是钟表来度量时间的流逝吧。....
7楼2012-08-08 11:44:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

老花

木虫 (著名写手)

老花

引用回帖:
6楼: Originally posted by luomia at 2012-08-08 11:00:52
strcat('var_',int2str(s),'=load(','''',int2str(s),'.txt','''',');');
strcat里面分为三个部分拼接为一个表达式:
'var_'是第一部分
int2str(s)是第二部分
=load(','''',int2str(s),'.txt','''',');为第三部 ...

这个是没问题滴,别人编好的,我就理解一下!
然后再用一下!
平凡中不平凡。我们都希望长寿,但是只有有意义的人生和生命中那些闪光的瞬间才是最重要的。用我们的精神而不是钟表来度量时间的流逝吧。....
8楼2012-08-08 11:50:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 老花 的主题更新
信息提示
请填处理意见