how to add ; in real time matrix in matlab?

2 views (last 30 days)
hi
i have a matrix of 1000 by 3. which i have to copy from some where and paste in the matlab. But as the matrix is classified as 100 by 3, so i have to add ; after every 3rd element. which is very much time consuming for considering that size of array. is there any method in matlab which print ; after every 3rd element. in the end i copy all array and past in my code. kindly help me :)
with best regards mudasir ahmed

Accepted Answer

Walter Roberson
Walter Roberson on 30 Dec 2015
Edited: Walter Roberson on 30 Dec 2015
In MATLAB when you are inside [], then end of line is treated as a semi-colon (unless the line ended with ... )
A = [1 2 3
4 5 6
7 8 9];
This is the same as
A = [1 2 3; ...
4 5 6; ...
7 8 9];

More Answers (1)

Guillaume
Guillaume on 30 Dec 2015
Edited: Guillaume on 30 Dec 2015
Assuming you meant that the original matrix is 100x30 (not 100x3 which makes no sense), you could simply paste it as is and reshape afterwards:
m = reshape(m', 3, 1000)'
  5 Comments
Walter Roberson
Walter Roberson on 1 Jan 2016
fid = fopen('C:\Users\Mudasir Ahmed\Desktop\farhan.txt', 'rt')
datacell = textscan(fid, '%s %s %s', 'CollectOutput', 1, 'Delimiter', ',');
fclose(fid);
data = datacell{1};
M = sym(zeros(size(data));
for K = 1 : numel(data);M(K) = sym(data{K}); end

Sign in to comment.

Tags

Products

Community Treasure Hunt

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

Start Hunting!