Как добавить заголовки строк и столбцов в матрицу Matlab? - PullRequest
1 голос
/ 10 декабря 2011

Я новичок в Matlab, поэтому буду признателен за вашу помощь!У меня есть некоторые данные, которые выглядят так:

     word1 word2 word3 word4 word5
word1 1.2   3.5   4.1   2.1   3.6
word2 5.1   4.2   3.7   6.3   5.9
word3 8.3   4.6   5.5   9.1   5.3
word4 7.1   8.2   2.1   1.7   4.3
word5 2.4   2.5   3.2   6.8   9.2

, и я хочу создать трехмерный график, где x - это размерность столбцов, y - это размерность строк, а z - это числа в матрице.Я хотел бы использовать plot (x, y, z) и pcolor (x, y, z).

Как я могу построить это в Matlab?Могу ли я создать числовую матрицу и каким-то образом прикрепить к ней заголовки?Нужна ли мне матрица ячеек?

PS: мне нужны слова, потому что я хочу, чтобы их можно было найти при индексации в определенном месте.

Заранее спасибо!

1 Ответ

2 голосов
/ 10 декабря 2011

Если у вас есть набор инструментов статистики, вы можете использовать объекты dataset для представления данных с именами столбцов и строк. Если нет, вы можете использовать массивы ячеек для представления имен строк / столбцов, но индексация будет сложнее. Например,

M = {'', 'c1', 'c2', 'c3'; 'r1', 1, 2, 3; 'r2', 5, 6, 7; 'r3', 2, 4, 5}

Если вы хотите смешать строки и числовые значения в одном и том же контейнере данных (переменной), использование массивов ячеек является наиболее распространенным способом. Тем не менее, я бы постарался сохранить их отдельно. Например, вы могли бы иметь:

colNames = {'c1', 'c2', 'c3'}
rowNames = {'r1', 'r2', 'r3'}
data = rand(3,3) % A random matrix with 3 rows and 3 columns.

И если вы хотите построить точку данных, скажем, 'c1' и 'r3', вы можете написать

i = find(strcmp(rowNames, 'r3')) % Row index
j = find(strcmp(colNames, 'c1')) % Column index
plot3(i, j, data(i,j)) % Plot the data at 'c1' and 'r3' location

Но опять же, это также несколько запутанный способ работы с числовыми данными. Построить на основе имен строк / столбцов, а не индексов строк / столбцов сложнее.

Кстати, plot(x,y,z) не является допустимой командой. Для трехмерного построения кривых вы должны использовать команду plot3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...