[問題] 關於 Index exceeds matrix dimens~請大大幫忙看一下^^"已回收
小弟在跑lop時會出現 ??? Index exceeds matrix dimensions.
查閱本版~有提到矩陣維度不符合..
仔細檢查本身資料~發現把lop裡面的tperinterval 1個1個做都OK~
可是如果合在一起~就會發生問題 例如合在一起時tperinterval=0.3的時候
index=find(D_per==tperinterval); index是 Empty matrix: 0-by-1
但是明明D_per有0.3的數值存在阿><"
能否請大大幫忙一下~感激
=========================================================================
D=load('SSC percentage list.txt');
D_per=D(:,1);
D_MLT=D(:,2);
D_MLat=D(:,3);
filepath=['SSC percentage file list.txt'];
fid = fopen(filepath,'r');
AllName = textscan(fid, '%s');
files = strvcat(AllName{1});
fclose(fid);
Nfile = size(files,1);
for tperinterval=0:0.1:0.9
index=find(D_per==tperinterval);
for p=0
startMLT=p-2;
if startMLT < 0
startMLT=startMLT+24;
end
index1=find(D_MLT==startMLT);
for q=0
index2=find(D_MLat==q);
index3=intersect(index,index1);
index4=intersect(index3,index2);
nsuit=length(index4);
h=100:2:900;
nh=length(h);
S=zeros(nh,1);
N=zeros(nh,1);
S2=zeros(nh,1);
for k = 1:nsuit
input=index4(k);
filenow = deblank(files(input,:));
filenow1=strrep(filenow, '_nc','.txt');
C=load (filenow1);
alt=C(:,1);
e_dens=C(:,2);
n=length(alt);
alt(1);
idx=find(h>=alt(1));
idx1=idx(1);
idxdiff=idx1-1;
for ii=idx1:idx1+n-1
S(ii)=S(ii)+e_dens(ii-idxdiff);
N(ii)=N(ii)+1;
S2(ii)=S2(ii)+e_dens(ii-idxdiff).^2;
end
end
idxnz=find(N~=0);
Snz=S(idxnz(1):idxnz(end));
Nnz=N(idxnz(1):idxnz(end));
S2nz=S2(idxnz(1):idxnz(end));
meanS=Snz./Nnz;
hnz=h(idxnz(1):idxnz(end));
meanS2=S2nz./Nnz;
sd=sqrt(meanS2-(meanS).^2);
hnz1=hnz';
Avedata=[hnz1 meanS];
end
end
end
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.45.96
→
06/12 15:22, , 1F
06/12 15:22, 1F
→
06/13 23:06, , 2F
06/13 23:06, 2F
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章