how to clear the warning negative data ignored?

clc; clear all; close all; w=18; p=103; n=2; q21=0.07; q20=0.91; q22=0.0071; fid=fopen('proj12.dat','w'); for ks=65:10:100 ks pe=0; for k=0:1:w-1 c=((factorial(w-k))/factorial(w))*(factorial(w-1)/factorial(w-k-1)); for y=0:1:w-2 z=((factorial(w-y))/factorial(w))*(factorial(w-2)/factorial(w-y-2)) d=q20+(c*(q21))+(z*(q22)); e=(d^((ks)-1)); for j=0:1:w pe1=(factorial(w)/((factorial(w-j))*factorial(j))); x=pe1*e; pe2=((-1)^j)*x; pe=pe+pe2; end end
end
pez=pe/2
fprintf(fid,'%2d %5.3e \n',ks,pez);
end
fclose(fid);
while plottig the graph for above program i had a warning that negative data ignored....how to clear it?

Réponses (2)

Matt Tearle
Matt Tearle le 7 Mar 2011
Use lastwarn to find the identifier of the warning message, then use warning to turn it off. Once you know the identifier, you can put the warning command at the beginning of your script.
Example:
x = linspace(-1,1);
semilogy(x,x.^3)
% I get a warning message
[~,foo] = lastwarn
% Now I know the identifier: 'MATLAB:Axes:NegativeDataInLogAxis'
warning('off','MATLAB:Axes:NegativeDataInLogAxis')
semilogy(x,x.^5)
Walter Roberson
Walter Roberson le 7 Mar 2011

0 votes

Better yet, plot max(0,x) to force there to be no negative data. (The 0's will be a problem on the log plot, though...)

Catégories

En savoir plus sur Software Development Tools dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by