Streamlines do not plot
15 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Petr Michalek
le 4 Mar 2021
Commenté : Cris LaPierre
le 5 Mar 2021
Hello,
I have a problem with plotting the 2D streamlines in a flow around a cylinder. The quiver plot works fine, but the streamlines do not plot at all. I want the streamlines to start at left vertical edge at coordinates x=0 and y=(-40 to +40) mm. Please help, thanks.
I get an error:Error using matlab.internal.math.interp1
Sample points must be unique and sorted in ascending order.
I attach my code and one data file DR1v10vecstat.dat:
close all; clear;
input_folder='D:\ValeckyUT\Valec_tenky_horizontal\';
cd(input_folder);
addpath(genpath(input_folder));
input_file=uigetfile('*.dat');
delimiterIn=' '; headerlinesIn=3;
mydata=importdata(input_file);
I=159; J=99; IJ=[159 99];
x=mydata.data(:,5); x=reshape(x,[I,J]);
y=mydata.data(:,6); y=reshape(y,[I,J]);
U=mydata.data(:,10); Ums = reshape(U,[I,J]);
V=mydata.data(:,11); Vms = reshape(V,[I,J]);
figure(22)
scale=3; quiver(x,y,Ums,Vms,scale); title(['Vector map']); axis equal;
xlabel('x[mm]'); ylabel('y[mm]');
% xs=x(:,1); ys=y(1,:);
[M,N]=size(Ums); [X,Y]=meshgrid(1:N,1:M);
starty=-40:1:40;
startx=zeros(size(starty)); hold on;
% figure(22)
streamline(X,Y,Ums,Vms,startx,starty);
2 commentaires
Réponse acceptée
Cris LaPierre
le 4 Mar 2021
I think this is causing your streamlines to not show up
startx=zeros(size(starty))
startx=ones(size(starty));
5 commentaires
Cris LaPierre
le 5 Mar 2021
Nice. I'll just add that the 2nd set of streamlines does not have to cover the full range of y. You can play around with it to be just what you want it to be.
load dr1v10
scale=3;
quiver(x,y,Ums,Vms,scale);
starty=-40:2:40;
startx=ones(size(starty))*min(x,[],"all");
hold on;
h=streamline(x,y,Ums,Vms,startx,starty);
% add 2nd set of streamlines
streamline(x,y,Ums,Vms,7.5*ones(1,33),-10:0.5:6);
hold off
set(h,'Color','g');
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Vector Fields dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!