I have a 6x4 matrix, in which each line has id, x-cor,y-cor, and z-cor for all 3 molecules continuously at time step t1 forllowed by same at t2.
I want to remodify the matrix such that each new file consists only the cord of given molecule
for eg;
1 3.34 4.56 7.86
2 7.09 4.99 5.98
3 8.67 6.90 7.00
1 3.78 2.89 4.78
2 4.78 7.24 6.38
3 4.56 3.10 6.27
I want out put as in file 1as
1 3.34 4.56 7.86
1 3.78 2.89 4.78
and in file 2 as
2 7.09 4.99 5.98
2 4.78 7.24 6.38
and file3 as
3 8.67 6.90 7.00
3 4.56 3.10 6.27

 Réponse acceptée

Dyuman Joshi
Dyuman Joshi le 21 Déc 2019
Modifié(e) : Dyuman Joshi le 4 Jan 2021

1 vote

You can use following commands.
Let the 6x4 matrix be 'xyz'.
file1 = xyz(1,:;4,:)
file2 = xyz(2,:;5,:)
file3 = xyz(3,:;6,:)

1 commentaire

Walter Roberson
Walter Roberson le 21 Déc 2019
MATLAB does not use [] for indexing, and that would not be valid syntax if you changed to () instead of []

Connectez-vous pour commenter.

Plus de réponses (1)

Walter Roberson
Walter Roberson le 21 Déc 2019

1 vote

If the matrix is definitely 6 x 4, just use indexing as appropriate
dlmwrite('file1.txt', YourMatrix([1 4], :), ' ')
dlmwrite('file2.txt', YourMatrix([2 5], :), ' ')
dlmwrite('file3.txt', YourMatrix([3 6], :), ' ')

Catégories

En savoir plus sur Matrices and Arrays dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by