2015-09-10 6 views
0

У меня есть список функций:Ошибка участка MATLAB

[ x - 3^(1/2)/2, x - 4967757600021511/81129638414606681695789005144064, x + 3^(1/2)/2, x - 4160783518353059/4503599627370496, x - 1723452963400281/4503599627370496, x + 3446905926800561/9007199254740992, x + 4160783518353059/4503599627370496, x - 8566355544790271/9007199254740992, x - 2647149443198255/4503599627370496, x - 4967757600021511/81129638414606681695789005144064, x + 5294298886396509/9007199254740992, x + 8566355544790271/9007199254740992, x - 8700286382685973/9007199254740992, x - 2^(1/2)/2, x - 291404338770025/1125899906842624, x + 2331234710160199/9007199254740992, x + 2^(1/2)/2, x + 2175071595671493/2251799813685248, x - 8781369964030313/9007199254740992, x - 7042111946219083/9007199254740992, x - 3908077291623905/9007199254740992, x - 4967757600021511/81129638414606681695789005144064, x + 122127415363247/281474976710656, x + 880263993277385/1125899906842624, x + 4390684982015157/4503599627370496] 

, и я хотел бы построить функции с этой командой «участок (funciones_che (1))», но когда я делаю сюжет бросает мне следующее ошибка:

Error using plot. A numeric or double convertible argument is expected 

Я также пробовал й = -10: 10 и участок (х, funciones_che (1)), но я получаю ту же ошибку

ответ

1

Вы не имеете вектора функций. Переменная funciones_che - это просто длинная конкатенированная последовательность чисел. Если вы запустите size(funciones_che), вы должны получить 1 x m*n, где m is length(x) и n - количество доступных вам «функций». Наличие истинного вектора функций фактически осложнит вашу жизнь без необходимости.

Если у вас есть символическое выражение где-то вдоль линии, это может быть немного сложно очистить: http://www.mathworks.com/help/symbolic/clear-assumptions-and-reset-the-symbolic-engine.html. Моя рекомендация - сбросить весь символический движок со всеми его предположениями, чтобы быть в безопасности: reset(symengine).

MATLAB очень хорошо построения матриц, как тот, который вы имеете, но размер должен быть прав:

  1. Отдельные ваши участки с запятой (;), а не запятыми (,):

    funciones_che=[ x - 3^(1/2)/2; x - 4967757600021511/81129638414606681695789005144064; x + 3^(1/2)/2; .....] 
    

    В настоящее время size(funciones_che) будет n x m.

  2. Транспонирование матрицы (сделать plot интерпретировать его правильно):

    funciones_che = funciones_che'; 
    

    Теперь size(funciones_che) будет m x n.

земля, как вы хотели: plot(funciones_che(:, 1)) для первого вектора, или plot(funciones_che) поставить все из них на том же участке. Если вас не интересует вторая версия, вам не нужно транспонировать матрицу. Если вы не транспонируете матрицу, используйте график, используя plot(funciones_che(1, :)).

Конечная точка: вам нужно инициализировать x, например, до -10:10, как вы пробовали.

+0

Спасибо за ответ, но дает мне ту же ошибку. Ошибка при использовании графика. Ожидается числовой или двойной конвертируемый аргумент – Jac

+0

Как вы определяете 'x'? –

+0

Я определяю его как: x = -10: 10; – Jac

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

  • Нет связанных вопросов^_^