Объединение нескольких функций производных - PullRequest
0 голосов
/ 25 апреля 2018

Работая с попыткой создать метод Олвера, мой код работает, однако я хочу попробовать объединить 3 функции в функцию множественного вывода с использованием diff (), но я изо всех сил пытаюсь манипулировать входами, не подвергая опасности выходы.

% Defining the function in the equation f(x)=0
function y = f(x)
y = x-exp(1/x);
end

% Defining the derivative of the function in the equation f(x)=0
function y = fd(x)
y = 1+exp(1/x)/(x^2);
end

% Defining the second derivative of the function in the equation f(x)=0
function y = fdd(x)
y = exp(1/x)*(2*x+1)/(x^4);
end

1 Ответ

0 голосов
/ 25 апреля 2018

Это не очень понятно, но иметь все это как одну функцию (с использованием Symbolic Toolbox) можно следующим образом:

function [y1, y2, y3] = getDerivatives(a)
syms f(x)
f(x) = x-exp(1/x);
fd = diff(f,x);
fdd = diff(f,x,2);
y1 = double(f(a));
y2 = double(fd(a));
y3 = double(fdd(a));
end

, и вы можете запустить его следующим образом:

[y1, y2, y3] = getDerivatives(1)

y1 =

   -1.7183


y2 =

    3.7183


y3 =

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