Почему поля структуры становятся пустыми? - PullRequest
0 голосов
/ 08 марта 2012

Когда я обращаюсь к полям структуры, таким как s (1). 'Fieldname', он возвращается пустым. Можно увидеть только последнее значение, т. Е. S (97). 'Fieldname'. Это мой код:

clc;
clear all;
data1= load('mydata.txt');
a=1;n=1;count=1;m=0;
while (count<98)                           % main loop starts
    for i=a:a+1023
        mydata1(i-m*1024)=data1(i);        % taking 1k points in mydata1
    end
    m=m+1;
    newdata=10*log10(abs(fft(mydata1)));   % taking fft in newdata from mydata
    for j=1:512
        newdata1(2*j-1)=newdata(j);        % interpolation of newdata to newdata1
        newdata1(2*j)=newdata(j);          % newdata1 size is 1024
    end
    a=j*n+513;
    n=2*count+1;
%     plot(newdata1);
%     pause(1);                            % setting threshold
    th=18;
    newdata2(newdata1<th)=0;               % newdata2 has 1024 0s and many 1s 
    newdata2(newdata1>=th)=1;
    num=0;
    for k=1:1023                           % loop for reducing many 1s
        if((newdata2(k)==1)&&(newdata2(k+1)==1))
        num=num+1;
        end
        if(num>0 && (newdata2(k+1)==0 || k==1023))
            for p = k-num:k
                newdata2(p)=0;
            end
            p= (k-num)+floor(num/2);
            newdata2(p)=1;
            num=0;
        end                                % loop ends
   end
   newdata2(1024)=0;                       % newdata2 with only 1s and 0s
   binnum = find(newdata2);
   x=length(binnum);
   frequency=((100000/1024)*binnum);
   for y=1:x
       strength(y)=(newdata1(binnum(y)));
   end
   s= struct;                              % writing into a structure
   s(count).frame=count;
   s(count).freq=frequency;
   s(count).str=strength;
   count=count+1;
end  

Куда я иду не так?

1 Ответ

0 голосов
/ 08 марта 2012

Строка s= struct; %writing into a structure создает новую структурную переменную на каждой итерации цикла while. Либо переместите эту строку за пределы цикла, либо полностью опустите ее.

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