作者cji4284503 (HearMe)
看板MATLAB
标题[问题]读取txt档後的判断式写法
时间Wed Jul 15 16:07:16 2015
大家好,小弟是matlab新手,还请大家帮忙解惑
我遇到的问题不是如何读取txt档,而是後续写判断式的读档问题
前言
我总共有4860个txt档要跑,每一个txt档都是540X9的矩阵
档名是以SPI3_1、SPI3_2的规律排列
目的是希望汇出4860个SPIsum以及SPIavg值
所以先以零阵列的方式给SPIsum和SPIavg值
依序叫出4860个txt档这个步骤已经爬文解决
问题在 %这里的问题还没解决 这一行
附上部分程式码如下
------------------------------------------------------
SPIsum=zeros(4860,1);SPIavg=zeros(4860,1);
for z=1:4860
filename=['SPI3_' num2str(z) '.txt'];
eval(['load ' filename ' -ascii'])
k=zeros(540,1);
s=zeros(540,1);
for i=3:540
if SPI3_1(i,5)<0 %这里的问题还没解决
k(i)=1;
end
if SPI3_1(i,5)<-1
s(i)=1;
end
------------------------------------------------------
这是第一个回圈,所以程式可以判别SPI3_1.txt里i列5行的数据
但到了第二个回圈,SPI3_1我不知道怎麽让它自动变成SPI3_2
让它继续判别下去
不知道有没有哪位大大可以帮个忙呢QQ
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 101.15.18.121
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MATLAB/M.1436947639.A.D97.html
1F:推 name0625: 一样eval啊 设个eval(['a=SPI3_' num2str(z) '(i,5);]) 07/15 18:18
2F:→ name0625: 判断式就可以用a简单写了 07/15 18:19
3F:→ cji4284503: 原来(i,5)要包在eval里QQ 真的很谢谢你! 07/15 20:25
4F:推 sunev: 建议写一个eval,执行S=SPI3_1;,这样後面判断S就可以了 07/15 22:17
5F:→ jatj: eval是非常没有效率的写法... 07/16 11:20