2015-01-29 4 views
0

Я хочу сделать простую таблицу в Matlab, поэтому я использовал этот код:Как сделать таблицу в Matlab?

T := table(a = 13, c = 42) 

Но это дает ошибку:

xrd Undefined function 'T' for input arguments of type 'char'. Error in xrd (line 1) T := table(a = 13, c = 42)

Как я могу это исправить?

+1

Что вы имеете в виду таблицы? Массив? подходящий? –

+1

достаточно массива, но если возможно, укажите синтаксис для uitable – matlabnewbie

+1

. Пожалуйста, ознакомьтесь с основными понятиями программирования в документации. try 'doc uitable' –

ответ

3

:= не является оператором в Matlab, это заставляет интерпретировать вашу строку кода. Matlab пытается получить доступ к функции с именем T с остальной частью строки в качестве аргумента строки.

Попробуйте

a = 13 
b = 42  
t = table(a, b) 

Выход:

t = 

    a  b 
    __ __ 

    13 42 

Для rownames вы можете использовать:

>>t = table(a, b, 'RowNames', {'c'}) 

t = 

     a  b 
     __ __ 

    c 13 42 

отмечают, что RowNames аргумент является клетка со строкой для каждой строки

+1

как бы поставить заголовок выше этих цифр? как a = 13 и b = 42? – matlabnewbie

+1

Хотя эта команда не генерирует ошибок, выход равен «t = 1». Вы уверены, что это правильный вывод (OP должен определить выход)? Глядя на документацию для [table] (http://uk.mathworks.com/help/matlab/tables.html), я ожидал бы одну строку и два столбца. – kkuilla

+1

Что вы подразумеваете под заголовком? colums называются после переменных, которые они представляют (а и b в этом случае), для наименования строк вы можете использовать пару аргументов/значений RowNames – ben

1

В Matlab, table имеет определенное значение (см. documentation), которое, вероятно, отличается от того, к чему вы привыкли в других языках.

За то, что вы пытаетесь сделать, может быть, вы должны рассмотреть, чтобы определить структуру вместо:

T = struct('a', 13, 'c', 42) 

Проверьте документацию struct более подробно:

doc struct 
Смежные вопросы