Как хранить циклические данные в одном массиве или матрице? - PullRequest
0 голосов
/ 23 февраля 2012

У меня есть программа с вложенным циклом. Я хочу, чтобы все значения после завершения каждого цикла,

хранится в одной матрице A или массиве A.

дисплей должен выглядеть как

A= value1
   value2
   value3
   etc...

где value1, value2, value3 - ответы, полученные в конце каждого цикла.

вот программа

load('b2.txt');

[M,N]=size(b2);

amp=[1.75,2,2.25,2.5,2.75,3,3.25,3.5,3.75,4];


%defining threshold 

m=10501;

for i=10575:75:21000


   a=b2(m:i,:);

   time=b2(i,2)

t=40;

sum1=0;

sum2=0;

sum3=0;

sum4=0;

sum5=0;

sum6=0;

sum7=0;

sum8=0;

sum9=0;

sum10=0;


for R=1:75

    if (a(R,3)>=t) && (a(R,3)<t+5)

        sum1=sum1+a(R,1);

    elseif (a(R,3)>=t+5) && (a(R,3)<t+10)

        sum2=sum2+a(R,1);

    elseif (a(R,3)>=t+10) && (a(R,3)<t+15)

        sum3=sum3+a(R,1);

    elseif (a(R,3)>=t+15) && (a(R,3)<t+20)

        sum4=sum4+a(R,1);

    elseif (a(R,3)>=t+20) && (a(R,3)<t+25)

        sum5=sum5+a(R,1); 

    elseif (a(R,3)>=t+25) && (a(R,3)<t+30)

        sum6=sum6+a(R,1);   

     elseif (a(R,3)>=t+30) && (a(R,3)<t+35)

        sum7=sum7+a(R,1); 

     elseif (a(R,3)>=t+35) && (a(R,3)<t+40)


        sum8=sum8+a(R,1);

     elseif (a(R,3)>=t+40) && (a(R,3)<t+45)

        sum9=sum9+a(R,1); 

     elseif (a(R,3)>=t+45) && (a(R,3)<t+50)

        sum10=sum10+a(R,1);   

    end

cumulative_hits=[sum1,sum2,sum3,sum4,sum5,sum6,sum7,sum8,sum9,sum10];

for count=1:10

            if cumulative_hits(1,count)<= 0

            amplitude(1,count)= 0;  

        else

            amplitude(1,count)=amp(1,count);

            end

end

cumulative_hits(cumulative_hits==0)=[];

amplitude(amplitude==0)=[];


        y=log10(cumulative_hits);

        p=polyfit(amplitude,y,1);

        f=polyval(p,amplitude);
end

%disp(p(1,1))

abs(p(1))

m=m+75;


end

нужно как можно скорее .. спасибо:)

1 Ответ

0 голосов
/ 23 февраля 2012

Вам необходимо предоставить информацию о том, какую переменную хранить в результирующем массиве A, но только для вашей информации:

Вы всегда можете легко добавить значения к нему через:

A = [A; new_value];

, который работает либо, если new_value является скаляром, или если это вектор-столбец с идентичным количеством элементов, например, числом столбцов в A

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...