How to plot matlab stream plot?
18 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Rubel Ahmed
il 12 Lug 2021
Commentato: Rubel Ahmed
il 6 Ago 2021
I have a 2D domain which has diffrent width(X) and length(Y) as attached photo. Say the height Y=0.05 and width X=0.02;
I have each particle position array in X,Y and I know the corresponding velocity of the particle in U and V.
If I create meashgrid say
[X1,Y1] = meshgrid(0:0.005:0.02,0:0.005:0.05);
Then how I create the dimension of U and V equal to the dimension of X1 and Y1? So that I can plot
streamline(X1,Y1,U,V)
Please help,Thanks.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/681668/image.png)
0 Commenti
Risposta accettata
Walter Roberson
il 12 Lug 2021
U1 = interp2(X, Y, U, X1, Y1);
V1 = interp2(X, Y, V, X1, Y1);
streamline(X1, Y1, U1, V1);
13 Commenti
Walter Roberson
il 5 Ago 2021
Modificato: Walter Roberson
il 5 Ago 2021
You can do a bit better by calling stream2() yourself, see the first example at
The idea is that you would filter down your coordinates. For example break up into two blocks, one the left area and the other the bottom area, so that you avoid doing all that interpolation for the large part of your plot that is empty.
It might take a bit of work to figure out where the useful boundaries are given only the scattered data. One approach would be a crude 2d histogram to find out which parts are occupied.
By the way, I just opened a case recommending specific performance improvements to streamline(). I doubt we will see them before 2022 however.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Vector Fields in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!