Creating new matrix from the second column of other matrices

1 次查看(过去 30 天)
Hi,
I have 10918 matrices with dimensions of [1000*4].
I want to create a new matrix which its columns are the second column of 10918 matrices which I have.
These 10918 matrices are .plt file and their name are as : PIV_1, PIV_2, PIV_3,....,PIV_10918.
For example:
PIV_1=[x_1,y_1,u_1,v_1]
PIV_2=[x_2,y_2,u_2,v_2]
...
PIV_10918=[x_10918,y_10918,u_10918,v_10918]
new matrix=[y_1,y_2,...,y_10918]
I am sorry if i cant explain well . Thanks in advance for your help.
  2 个评论
Stephen23
Stephen23 2019-7-22
"These 10918 matrices are .plt file and their name are as : PIV_1, PIV_2, PIV_3,....,PIV_10918."
The most important question: How did you get so many individually-named variables in the workspace?
Note that using numbered variables is a sign that you are doing something wrong. Your code design forces you to write slow, complex, inefficient, obfuscated, buggy code that is hard to debug. Read this to know some reasons why:
Most likely you could have easily avoid this by using indexing. Indexing is simple, neat, and very efficient (unlike what you are trying to do).
Shabnam M
Shabnam M 2019-7-23
These matrices are some data from experimental analysis for different time step, and I need to find a matrix which its columns are the second column of those 10918 matrices.
Thanks for your suggestion, I will read the indexing to find a way.

请先登录,再进行评论。

回答(1 个)

Torsten
Torsten 2019-7-22
编辑:Torsten 2019-7-22
new_matrix = [PIV_1(:,2),PIV_2(:,2),...,PIV_10918(:,2)]
Quite much to write ...
You should have worked with one 10918x1000x4 matrix PIV with PIV(i,:,:) = PIV_i.

类别

Help CenterFile Exchange 中查找有关 Fluid Dynamics 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by