How to remodify matrix

1 view (last 30 days)
shravani nethi
shravani nethi on 21 Dec 2019
Edited: Dyuman Joshi on 4 Jan 2021
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

Accepted Answer

Dyuman Joshi
Dyuman Joshi on 21 Dec 2019
Edited: Dyuman Joshi on 4 Jan 2021
You can use following commands.
Let the 6x4 matrix be 'xyz'.
file1 = xyz(1,:;4,:)
file2 = xyz(2,:;5,:)
file3 = xyz(3,:;6,:)
  1 Comment
Walter Roberson
Walter Roberson on 21 Dec 2019
MATLAB does not use [] for indexing, and that would not be valid syntax if you changed to () instead of []

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 21 Dec 2019
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], :), ' ')

Categories

Find more on Numerical Integration and Differential Equations in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!