Используйте функцию как вход для другой функции - PullRequest
0 голосов
/ 27 марта 2019

Привет, я новичок в matlab, поэтому не знаком с его грамматикой. Я хочу написать функцию для решения некоторых функций с использованием конкретного алгоритма.

То, что я хочу сделать, - это написать функцию, используя другую функцию, которую я хочу использовать в качестве ввода.

Например, если я хочу получить корень из x ^ 2 - 1 = 0, мне нужно подключить эту функцию, как при вводе.

мой код похож на

function [y] = brent(f, x0, x1, max_iter, tolerance)

fx0 = f(x0)
fx1 = f(x1)
......

end

f - это функция, которую я хочу решить. Мой вопрос заключается в том, как мне написать код, чтобы функция «brent» могла использовать функцию «f» для вычисления значений в определенных точках.

1011 * * ех. Во второй строке мне нужно получить значение f (x0) (x0 - точка).

1 Ответ

4 голосов
/ 27 марта 2019

Matlab говорит о ручках функций.Это может быть входной параметр как угодно:

Напишите вашу основную функцию:

function a = func(f,x)
   a = f(x) + 7;

Определите вашу функцию для ввода и вызовите "обычно"

>> myfun = @(x) x^2-1;
>> func(myfun,3)
ans =
        15
>> func(@sin,0)
ans =
        7

см.: https://se.mathworks.com/help/matlab/matlab_prog/creating-a-function-handle.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...