作者diva (Tremendo!)
看板MATLAB
标题Re: [问题] 字串
时间Wed Nov 28 02:30:43 2012
※ 引述《icrtstyle (嘿嘿)》之铭言:
: 我现在有8笔excel档案的资料数据每一笔都是2500*6的矩阵
: A1 = xlsread('AAPL.xlsx');
: A2 = xlsread('C.xlsx');
: A3 = xlsread('GE.xlsx');
: A4 = xlsread('GS.xlsx');
: A5 = xlsread('IBM.xlsx');
: A6 = xlsread('INTC.xlsx');
: A7 = xlsread('MRK.xlsx');
: A8 = xlsread('PFE.xlsx');
: 我用这样的方式读进matlab,所以在workspace里面会有A1~A8的资料
: 现在我要把A1~A8拿来做相同的运算
: R1(:,1)=log(A1(:,4))-log(A1(:,1))
: R2(:,1)=log(A2(:,4))-log(A2(:,1)).......
: .....
: 一直做到R8
: 然後R1~R8继续做另一个相同的运算
: 我的问题在於我如何把A1~A8读出来做运算???
: 别叫我一笔一笔慢慢做啊~~~之後还有345个资料要处理~~
: 请各位帮忙一下了,谢谢!!
for i=1:8
eval(['R' num2str(i) '(:,1)=log(A' num2str(i) '(:,4))-log(A' num2str(i) '(:,1)) ;'])
end
eval的功能是 把字串内的东西做运算
比方说
eval('x=10;y=5;')
直接後就跟直接执行x=10;y=5;效果是一样的
但可以随着回圈更改变数名称
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.103.220
※ 编辑: diva 来自: 140.112.103.220 (11/28 02:31)
1F:推 icrtstyle:感谢~!!!我要把eval这指令彻底弄懂才行~~~ 11/28 03:04
2F:推 sunev:你要搞懂的是字串 11/28 16:07
3F:推 chris70211:版上有详细的教学 搜寻一下就知道了!! 11/28 20:49