2013-03-26 1 views
0

Я хочу распечатать таблицу через uitable, с данными для табличных записей, хранящихся в матрице с именем plot. Каждая запись должна быть строкой, состоящей из 2 символов, то есть p0 или u1, ... Матрица должна быть заполнена двумя вложенными петлями.Как я могу заполнить матрицу динамически строками в matlab?

Но всякий раз, когда я хочу сохранить строку как элемент. т.е. plot(i,j)='a1' я получаю ошибку

"??? Assignment has more non-singleton rhs dimensions than non-singleton subscripts" 

с другой стороны, когда я полностью инициализировать матрицу в начале т.е.

plot=['aa' 'ab';'ba' 'bb'] 

это, кажется, работает нормально.

Я был бы очень благодарен за любые идеи, касающиеся этой проблемы. Будет ли какой-либо способ решить проблему с массивом ячеек?

ответ

1

Чтобы сохранить строку, используйте массив ячеек. Кроме того, не вызывайте свою матрицу plot, это имя встроенной функции. Например:

plotData{1,2} = 'hello'; 
plotData{1,1} = 'hi'; 

доступ к элементу в массиве ячеек:

plotData{1,1} 
ans = hi 
+0

Ой, спасибо большое! Я думал, что Cell Array не будет работать как «Data» с подходящим, но, похоже, он работает отлично :) – user2212532