removing NaN values from my codes

Hi, I have these codes:
result=zeros(1,12) avedata=mean(turkeyreturn); vardata=var(turkeyreturn); N=length(turkeyreturn); for h=1:14;
A=TRBB(:,h);
BB=[A turkeyreturn A.*turkeyreturn ];
% FF=BB(0== sum(isnan(BB), 2), :);
%R(:,h)=BB((100:end),2);
y1=0;y2=0; z1=length(find(A==1)); z2=length(find(A==-1));
for k=1:length(BB) if BB(k,1)==1 y1=BB(k,3)+y1; elseif BB(k,1)==-1 y2=BB(k,2)+y2; end end
for n=length(BB)
% BB=BB(0== sum(isnan(BB), 2), :); BB=BB(isfinite(BB(:, 1)), :) column=(BB(1:end,2)) summ= sum(BB(1:end,2)) av=summ/n annualav=av*256 standard=std(column) sharpe=((annualav-rf)/standard) end
aveofones=y1/z1; aveofmione=y2/z2; buy_sell=(aveofones-aveofmione);
T_one=(aveofones-avedata)/(sqrt((vardata/N)+(vardata/z1))); T_min1=(aveofmione-avedata)/(sqrt((vardata/N)+(vardata/z2))); T_both=(aveofones-aveofmione)/(sqrt((vardata/z1)+(vardata/z1)));
% R(:,h)=FF(:,3); result(h,:)=[z1,z2,aveofones,aveofmione,buy_sell,T_one,T_min1,T_both,av,annualav, standard,sharpe]
end
how do I save the the second col um BB matrix so that I can get all the results in for loap. additionally there are some NaN values in the third column. how can I remove these row with matching cell in the first and second column please from BB matrix and save them after all.The number of NaN is different in each loap.
thanks jean

5 commentaires

Image Analyst
Image Analyst le 9 Jan 2014
Don't double space, it's must simpler than that: just highlight and click {}Code. http://www.mathworks.com/matlabcentral/answers/13205-tutorial-how-to-format-your-question-with-markup
jean
jean le 17 Jan 2014
what yo[u meant by double space please and where i did it?
Andreas Goser
Andreas Goser le 17 Jan 2014
It means your code is not formatted and thus difficult to help you.
jean
jean le 17 Jan 2014
okay thanks will do it again now
Hi, I have these codes:
result=zeros(1,12)
acedata=mean(turkeyreturn);
vardata=var(turkeyreturn);
N=length(turkeyreturn);
for h=1:14;
A=TRBB(:,h);
BB=[A turkeyreturn A.*turkeyreturn ];
% FF=BB(0== sum(isnan(BB), 2), :);
%R(:,h)=BB((100:end),2);
y1=0;y2=0;
z1=length(find(A==1));
z2=length(find(A==-1));
for k=1:length(BB)
if BB(k,1)==1 y1=BB(k,3)+y1;
elseif BB(k,1)==-1
y2=BB(k,2)+y2;
end
end
for n=length(BB)
% BB=BB(0== sum(isnan(BB), 2), :);
BB=BB(isfinite(BB(:, 1)), :)
column=(BB(1:end,2))
summ= sum(BB(1:end,2))
v=summ/n
annualav=av*256
standard=std(column)
sharpe=((annualav-rf)/standard)
end
aveofones=y1/z1;
aveofmione=y2/z2;
buy_sell=(aveofones-aveofmione);
T_one=(aveofones-avedata)/(sqrt((vardata/N)+(vardata/z1)));
T_min1=(aveofmione-avedata)/(sqrt((vardata/N)+(vardata/z2)));
T_both=(aveofones-aveofmione)/(sqrt((vardata/z1)+(vardata/z1)));
% R(:,h)=FF(:,3); result(h,:)=[z1,z2,aveofones,aveofmione,buy_sell,T_one,T_min1,T_both,av,annualav, standard,sharpe]
end
how do I save the the second col um BB matrix so that I can get all the results in for loap. additionally there are some NaN values in the third column. how can I remove these row with matching cell in the first and second column please from BB matrix and save them after all.The number of NaN is different in each loap.
thanks jean

Connectez-vous pour commenter.

Réponses (1)

Andreas Goser
Andreas Goser le 17 Jan 2014
Without being able to understand your code and assuming you want to remove nans from the data and not your code, here is an example:
a=[1 2 nan 4 5]
x=isnan(a)
a=a(~x)

3 commentaires

.. or
a( isnan(a) ) = [];
jean
jean le 24 Jan 2014
should i put it at the end of my codes. Need to remove the Nan and the value that match them in other two column.
jean
jean le 29 Jan 2014
and want to save all the vales after that in one matrix and it saying matrix dimision does not match. I think the number of NaN is different from one column to another.

Connectez-vous pour commenter.

Question posée :

le 9 Jan 2014

Commenté :

le 29 Jan 2014

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by