Convert Nan to zero in fplot
    5 次查看(过去 30 天)
  
       显示 更早的评论
    
Is there a way to convert any not a number values that arise in fplot to zero within the fplot function?
Within the error calculation below I get (0-0)/0 at the beginning of the interval, but I'm looking to plot it as zero (since it's zero error).
fplot((((f_disp-u_AB)/u_AB)*100),[0,100],'LineWidth',2,'color','green');
Thanks!
0 个评论
回答(2 个)
  Jaya
      
 2021-5-22
        
      编辑:Jaya
      
 2021-5-22
  
      You can do something like below example to make whatever NaN present in your (((f_disp-u_AB)/u_AB)*100)  as 0.  The A below can be your (((f_disp-u_AB)/u_AB)*100).
A = 0./[-2 -1 0 1 2]   % gives 0 0 NaN 0 0
A(isnan(A))=0;   % gives 0 0 0 0 0
Will work directly for matrix too.
0 个评论
  Star Strider
      
      
 2021-5-22
        To plot the first value as 0, the most effective and efficient way to do what you want is to add a very small value (such as eps) to the denominator — 
syms u_AB 
f_disp = 0;
fplot((((f_disp-u_AB)/(u_AB+eps))*100),[0,100],'LineWidth',2,'color','green')
grid
xlim([0 eps*100])                                                       % Zoom To Show Detail (Delete Later)
The first value is now (0/eps = 0) rather than NaN.  
.
0 个评论
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Surface and Mesh Plots 的更多信息
			
	产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
