Using fprintf for matrix

I have a matrix with 300 rows and 2 columns. For instance:
1 2
2 4
5 6
and another matrix with 300 rows and 1 column: for instance:
1
3
4
I want to convert them in the following:
-1: 1 2
-3: 2 4
-4: 5 6
It would be appreciated if you could help me. Thanks

 Accepted Answer

Stephen23
Stephen23 on 30 May 2016
Edited: Stephen23 on 30 May 2016
>> X = [1,2;2,4;5,6];
>> Y = [1;3;4];
>> fprintf('-%d: %d %d\n', [Y,X].')
-1: 1 2
-3: 2 4
-4: 5 6
It is worth reading the fprintf documentation carefully, to see how it handles matrices (columnwise!) and to pick the best format string for your requirements.

2 Comments

Ali
Ali on 30 May 2016
Thank you very much for the help.
Thank you so much, I was wondering why my code was beig weird and i forgot to put the .' at the end of the brackets. I was struggling to fix this for so long and yoou helped me very much thank you.

Sign in to comment.

More Answers (1)

Ambrish Raghav
Ambrish Raghav on 30 Jul 2020

0 votes

This answer was flagged by Dyuman Joshi
  • Flagged by Dyuman Joshi less than a minute ago.

    Copy of Stephen23's answer

X = [1,2;2,4;5,6];
>> Y = [1;3;4];
>> fprintf('-%d: %d %d\n', [Y,X].')
-1: 1 2
-3: 2 4
-4: 5 6

Categories

Find more on Operators and Elementary Operations in Help Center and File Exchange

Asked:

Ali
on 30 May 2016

Commented:

about 8 hours ago

Community Treasure Hunt

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

Start Hunting!