Matlab绘制循环图

时间:2013-07-11 15:32:49

标签: matlab

这里的任何专家都可以告诉我我的代码有什么问题:

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时,我遇到同样的问题。为什么??

2 个答案:

答案 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