这里的任何专家都可以告诉我我的代码有什么问题:
folderContents=ls;
folderContents(1:2,:)=[];
nFolderContents=size(folderContents,1);
for i=1:nFolderContents;
[~, data] = hdrload(folderContents(i,:));
if size(folderContents(i,:),2)<size(folderContents,2);
temp=folderContents(i,6:9);
else
temp=folderContents(i,6:7);
end
temp1(i)=strread(temp);
w=2*pi*(data([18 35 51 68],1));
permfreespace=8.854e-12;
perm=data([18 35 51 68],3);
cond=perm.*w.*permfreespace;
conds([18 35 51 68],i)=cond;
hold all
end
figure(4);plot(temp1,conds);
问题是我只想绘制这些线[18 35 51 68],但我看到很多行。 nFolderContents is equal to 31
,当我选择i=1:4
时,我遇到同样的问题。为什么??
答案 0 :(得分:0)
也许我错过了什么,但你能不能做到:
plot(temp1([18 35 51 68]),conds([18 35 51 68],:))
答案 1 :(得分:0)
当MATLAB第一次执行该行
时conds([18 35 51 68],i)=cond;
它创建一个具有68行的数组“conds”,并将来自4元素向量“cond”的数据分配给第i列“conds”的行18,35,51,68。其余行包含零。所以,我想,在您的代码中,您会看到您感兴趣的4行,以及沿X轴的64行......
要解决您的问题,应该足以用
替换上面提到的那一行conds(:,i)=cond;
希望,我没有错过任何东西))
干杯,
// Oleg