Reorganizing a large matrix into 4 other matrixes

2 views (last 30 days)
I am trying to write a code that will produce a contour plot of many PIV Data points from DaVis .txt files.
The .txt file has 4 columns of data (X coordinates, Y coordinates, U velocity, V velocity). As of now I have the code reading this file with dlmread skipping the first row. I need the program to reorganize the X column into its own matrix of 173x124, and the other columns to do the same for their own matrixes of the same size. I have the X,Y,U,V matrixes set to empty matrixes that need to be filled.
type B00001.txt;
A=dlmread('B00001.txt', '',1,0);
X=zeros(173,124);
Y=zeros(173,124);
U=zeros(173,124);
V=zeros(173,124);
pcolor(X,Y,U);
hold on
shading interp
colormap(jet);
colorbar
  1 Comment
Sriram Tadavarty
Sriram Tadavarty on 21 Apr 2020
Edited: Sriram Tadavarty on 21 Apr 2020
Ryan, can you place the B00001.txt file with the paperclip icon here?
What is the dimension of X column? Is that of value exactly equal to 173 x 124.
If yes, you can use reshape function. Like,
X = reshape(data(:,1),173,124);
Y = reshape(data(:,2),173,124);
U = reshape(data(:,3),173,124);
V = reshape(data(:,4),173,124);
Hope this helps.

Sign in to comment.

Accepted Answer

Sriram Tadavarty
Sriram Tadavarty on 21 Apr 2020
Hi Ryan,
Thanks for attaching the code.
The data is present in a matrix form with four columns covering X, Y, U, and V. You can just use the code that is placed in the comments and it will work.
Placing here again:
type B00001.txt;
A=dlmread('B00001.txt', '',1,0);
X = reshape(A(:,1),173,124);
Y = reshape(A(:,2),173,124);
U = reshape(A(:,3),173,124);
V = reshape(A(:,4),173,124);
pcolor(X,Y,U);
hold on
shading interp
colormap(jet);
colorbar
Hope this helps.
Regards,
Sriram

More Answers (0)

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!