Ploting Results from CFD (streamline,quiver)

Hi, I have some results from a CFD program that I am trying to plot. The mesh in the CFD program is a uniform 2d Mesh, it is 1350 units long in the X direction and 260 units high in the Y. The output I get from the program is two notepads, with the U and V velocities at each node. I can import both of them into matlab and have two 351000X1 arrays. The U and V ouputs are along the X meaning the Y co-ordinate does not change for 1350 values. How do i plot these? When i try use the streamline function it says that my X&Y array arent long enough? How do i set up my X and Y arrays?

 Accepted Answer

You cannot pass in a vector for U: you must pass in a 2D or 3D array. You probably need to reshape() your U data.

3 Comments

So your saying that i need to get my U and V data into something that is 1350X260? Is there anyway matlab can change that about? I know i could certainly swap it all about in excel then put it back into matlab but i dont fancy changning it all by hand.
U = reshape(YourUData,1350,260);
Using both of the answers given I was able to plot the data how i wanted. The next step is automating the import of all my files!
Thanks for the hlp!

Sign in to comment.

More Answers (1)

[xx,yy] = meshgrid(X,Y);
streamline(xx,yy,u,v,startx,starty)

1 Comment

Yeah i have tried something like that, meshgrid gives me sensible xx yy arrays, but streamline then tell me my U and V arrays are wrong.
??? Error using ==> stream2 at 47
U,V must all be size 2x2 or greater.
Error in ==> streamline at 63
verts =
stream2(x,y,u,v,sx,sy,options);
Error in ==> Untitled2 at 2
streamline(xx,yy,u,v,0,0)
As I said my u and v arrays are both 35100X1,

Sign in to comment.

Categories

Find more on Computational Fluid Dynamics (CFD) in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!