How to plot streamlines continuously?

So here's my function:
[x,y] = meshgrid(-2:0.2:2);
hold all
dy = (x.^3+y)./(x.^2+y.^2) ;
norm = sqrt(dy.^2+1^2);
quiver(x, y, ones(size(x))./norm,dy./norm,0.75)
startx = -2:0.2:2; %Streamlines
starty = 0.*ones(size(startx));
streamline(x, y, ones(size(x))./norm,dy./norm,startx,starty)
looks pretty decent, but I wish to know how I can plot stream lines starting at each y-values that are 0.2 unity apart from each other. The code above just plots streamlines origining at 0.

 Accepted Answer

Mischa Kim
Mischa Kim on 5 Jan 2021
Edited: Mischa Kim on 5 Jan 2021
Not entirely sure what you mean. Changing startx and starty values? In your code you set the starting values on the y-axis to 0.
starty = -2:0.2:2; %Streamlines
startx = -2.*ones(size(starty));

4 Comments

Thank you for your suggestion. It's an interesting aproch and almost what I meant. The only thing that isn't in my favor is that there are still areas not filled with lines so I thought all areas will be perfused, if I plot something like
startx = -2:0.2:2;
starty = 0.*ones(size(startx)); %start at 0
...
startx = -2:0.2:2;
starty = 0.2*ones(size(startx)); %start at 0.2
...
startx = -2:0.2:2;
starty = 0.4*ones(size(startx)); %start at 0.4
...
but this seems just too fuzzy for me. So isn't there a short-cut?
I also tried your method combined with mine:
starty = -2:0.2:2; %y-direction
startx = -2.*ones(size(starty));
...
startx = -2:0.2:2; %x-direction
starty = -2.*ones(size(startx));
...
but didn't yield the result
To get "all areas filled" you could just use the x-y grid as starting points for the streamlines.
streamline(x, y, ones(size(x))./norm,dy./norm,x,y)
Alternatively, you can also create a separate starting points grid, e.g.
[Xs,Ys] = meshgrid(-2:0.4:2);
%...
streamline(x, y, ones(size(x))./norm,dy./norm,Xs,Ys)
thank you, that's exactly what I wanted. I didn't got used to meshgrid in a wider spectrum yet, but this case helps me to do so.
Niklas Kurz
Niklas Kurz on 6 Jan 2021
Edited: Niklas Kurz on 6 Jan 2021
One little nuance: Do u know how I set opacity of streamline? I tried patchline add-on and whatnot, but doesn't seem to work.

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!