
How to get rid of values from meshgrid
    5 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    esat gulhan
      
 el 21 de Sept. de 2020
  
    
    
    
    
    Comentada: Ameer Hamza
      
      
 el 21 de Sept. de 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 comentarios
Respuesta aceptada
  Ameer Hamza
      
      
 el 21 de Sept. de 2020
        
      Editada: Ameer Hamza
      
      
 el 21 de Sept. de 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 comentarios
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

