2014-02-18 3 views
0

Вопрос заключается в следующем:Объявление числовой функции в октавном/Matlab функции

Внедрение в октаве версии Иллинойсе методы Регула falsi. подпись функции

illinois(
      f, % a real numeric function 
      a, % left bound of search interval 
      b, % right bound of search interval 
      yAcc, % accuracy in the y-dimsension 
      nIter % maximum number of iterations 
     ) 

подсказка: http://en.wikipedia.org/wiki/False_position_method#Illinois_algorithm

я хотел бы спросить:

Как я ввести реальную числовую функцию в функции Matlab для этого вопроса?

Например говорят, что я ищу корни в х^2-4 от 1 до 3, так что это будет функция на GUI должна быть

illinois(x^2-4, 1, 3, 0.1, 1000) 

Как я сказать Matlab/октава это «числовой function 'x^2-4 или я неправильно интерпретирую вопрос?

ответ

1

посмотрите на функцию ручки:

http://www.gnu.org/software/octave/doc/interpreter/Function-Handles.html

Вы можете определить функцию с помощью [email protected](x)(x.^2-2), передать его в другую функцию с помощью g(f,1,2,3,4) и оценить его, как и любой другой функции f(1).

+0

Спасибо! работает как шарм! это единственное возможное решение? –

+0

Это единственное решение, которое я мог бы порекомендовать. Альтернативой является передача функции в виде строки и использование «eval», но суммировать только некоторые недостатки: Странные сообщения об ошибках, трудно отлаживать, код трудно читать, не поддерживать частные функции, идентичное столкновение имен переменных и ограниченный синтаксис, потому что вам нужно создать полную функцию в одной строке. – Daniel

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