
How to get rid of values from meshgrid
    5 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    esat gulhan
      
 il 21 Set 2020
  
    
    
    
    
    Commentato: Ameer Hamza
      
      
 il 21 Set 2020
            My code is below. I want to get rid of middle values of mesgrid which are very large. Nan maybe. 
Is there any way to get rid of midle values (ı do not want see values in the midle of meshgrid ı want to blank [1 1] square from midle of meshgrid)
syms u uo ur v x y Q C r T tt 
V=100;b=2;uo=-V*sin(Q);ur=V*2*pi*b/(2.*pi.*r)+V*cos(Q);r=(x.^2+y.^2).^0.5;Q=atan2(y,x);
uo=subs(uo);ur=subs(ur);
%VECTORFIELD
[x,y] = meshgrid(-5:gl:5,-5:gl:5);
u=subs(ur*cos(Q)-uo*sin(Q));v=subs(ur*sin(Q)+uo*cos(Q));
quiver(x,y,u,v,1.01,'r','linewidth',2),grid on
0 Commenti
Risposta accettata
  Ameer Hamza
      
      
 il 21 Set 2020
        
      Modificato: Ameer Hamza
      
      
 il 21 Set 2020
  
      Try this
syms u uo ur v x y Q C r T tt 
V=100;b=2;uo=-V*sin(Q);ur=V*2*pi*b/(2.*pi.*r)+V*cos(Q);r=(x.^2+y.^2).^0.5;Q=atan2(y,x);
uo=subs(uo);ur=subs(ur);
%VECTORFIELD
gl = 0.11; % to avoid 0 in the meshgrid
[x,y] = meshgrid(-5:gl:5);
u=subs(ur*cos(Q)-uo*sin(Q));v=subs(ur*sin(Q)+uo*cos(Q));
mask = (abs(x) < 1) & (abs(y) < 1);
u(mask) = 0;
v(mask) = 0;
quiver(x,y,u,v,1.01,'r','linewidth',2),grid on

2 Commenti
Più risposte (0)
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

