2016-06-17 9 views
0

Я написал этот код в октаве:fsolve ошибка: ни одна функция или метод не найден

syms z; 
f=z-2; 
fsolve("f",0.) 

Тогда это дает ошибку

@f: no function and no method found.

Также с помощью fsolve(@f,0) дает ту же ошибку

Когда я напишите код как:

syms z; 
f=z-2; 
fsolve(f,0.) 

Тогда это дает ошибку

ind2sub: subscript indices must be either positive integers less than 2^31 or logicals.

Пожалуйста, объясните мне, как на самом деле использовать fsolve.

ответ

3
% syms z;  % Not needed, actually slows down the code 
[email protected](z)(z-2); 
fsolve(f,0.) 

Отсутствует символ @, который является функциональным дескриптором. Это указывает Octave, что f не является переменной, но на самом деле является (n анонимной) функцией, в данном случае z, что является первым аргументом.

Возможно, вы будете иметь z, чтобы быть обычной переменной, потому что превращение его в символическое превращение MATLAB с ускоряющего гоночного автомобиля на автомобиль для перевозки тяжелых грузов. Если есть определенная причина иметь z символический (я не могу придумать никого в случае использования с fsolve) 'лучше избегать символических математических вычислений.

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