how to create an matrix that is asked for in the problem

2 Ansichten (letzte 30 Tage)
Hayden O'Neil
Hayden O'Neil am 6 Okt. 2017
Kommentiert: Walter Roberson am 7 Okt. 2017
Write Matlab code that creates a new 5x10 matrix that creates an alphabetical matrix that displays the letter of the matrix that has the HIGHEST value of the 3 matrices A,B,C from Problem #1 on an element by element basis.
I have this code so far
A = [12 3 56 78 3 4 5 10 91 21; 16 18 3 5 7 17 4 7 10 11;
2 4 6 8 10 12 10 6 3 19; 1 22 8 9 12 7 17 5 8 10;
7 6 2 1 45 8 17 8 9 16];
B = [16 81 18 3 5 7 9 12 9 11; 0 2 3 7 82 6 9 15 12 10;
7 4 1 1 8 7 15 43 11 17; 8 3 1 0 1 0 4 5 9 16;
7 6 2 1 45 8 17 8 9 16];
C = [6 7 68 24 13 2 8 16 22 2; 67 13 4 5 9 11 16 12 22 1;
13 14 15 9 64 41 12 11 10 3; 2 0 1 4 6 1 6 2 3 3;
8 5 6 4 2 5 60 25 13 3];
m = max( max (A,B), C);
vars = {'A', 'B','C',};
mask1 = m == A;
mask2 = m == B;
mask3 = m == C;
which_one = cell(size(m));
which_one(mask1) = vars(1);
which_one(~mask2) = vars(2);
which_one(mask3) =vars(1|2)
but I cant get the output that the instructor shows
OutputMatrix = [B B C A C B B C A A;C A C B .. .. .. .. .. ..; .. .. .. .. .. .. .. .. .. ..;
.. .. .. .. .. .. .. .. .. ..; .. .. .. .. .. .. .. .. .. ..;]
can can someone help/elaborate please.
  1 Kommentar
Cedric
Cedric am 6 Okt. 2017
What have you done so far? What specific question do you have about your code?

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Walter Roberson
Walter Roberson am 6 Okt. 2017
  1 Kommentar
Walter Roberson
Walter Roberson am 7 Okt. 2017
OutputMatrix = [B B C A C B B C A A;C A C B .. .. .. .. .. ..; .. .. .. .. .. .. .. .. .. ..;
.. .. .. .. .. .. .. .. .. ..; .. .. .. .. .. .. .. .. .. ..;]
It is not possible to get that output in MATLAB, except as by converting the entire array to character and displaying it. There are no MATLAB data types that will display character entities without apostrophes or double quotes around them.
One thing that would be possible is to have the equivalent of
OutputMatrix = ['B B C A C B B C A A';'C A C B .. .. .. .. .. ..'; '.. .. .. .. .. .. .. .. .. ..';
'.. .. .. .. .. .. .. .. .. ..'; '.. .. .. .. .. .. .. .. .. ..';]
Then, disp(OutputMatrix) would display as
B B C A C B B C A A
C A C B etc
but you would have to disp() it to get it to show up that way.
To do this, you would have to insert the spaces between each of the array elements.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Multidimensional Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by