Why am I only getting partial streamlines.
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Boris Chan
el 17 de Feb. de 2021
Comentada: David Goodmanson
el 17 de Feb. de 2021
I am trying to plot streamlines to look like this
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/521967/image.png)
But I am only getting part way
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/521972/image.png)
I have tried changing my sy and sx multiple times but it just changes what part shows up. I have no idea what I'm doing wrong
Here's my code
%%
[X,Y] = meshgrid(-5:0.5:5);
sx = linspace(-5,5,20);
sy = sx;
% sx = (-5:0.5:5);
% sy = ones(size(sx));
sy = sx./sx;
% [SX,SY] = meshgrid(sx,sy);
%let U = e1 & V = e2
U = Y;
V = X;
figure()
hold on
quiver(X,Y,U,V);
streamline(X,Y,U,V,sx,sy,[0.1,20000]);
0 comentarios
Respuesta aceptada
David Goodmanson
el 17 de Feb. de 2021
Hi Boris,
the problem is the line sy = sx./sx which creates a vector of ones for sy. Then every streamline originates at the horizontal line sy =1. Here is an example that draws the streamlines orginating from the left side (upper half) and the top side (left half); the remining two sides are similar.
[X,Y] = meshgrid(-5:0.5:5);
sx = linspace(0,5,10);
sx(end) =[]; % eliminate streamlines originating at the corners
sy = sx;
onx = ones(size(sx));
ony = ones(size(sy));
U = Y;
V = X;
figure()
hold on
quiver(X,Y,U,V);
streamline(X,Y,U,V,-5*onx,sy,[0.1,20000]);
streamline(X,Y,U,V,-sx, 5*ony,[0.1,20000]);
hold off
2 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Geographic Plots en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!