How to get rid of values from meshgrid
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
esat gulhan
am 21 Sep. 2020
Kommentiert: Ameer Hamza
am 21 Sep. 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 Kommentare
Akzeptierte Antwort
Ameer Hamza
am 21 Sep. 2020
Bearbeitet: Ameer Hamza
am 21 Sep. 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 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Linear Algebra finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!