Неявные функции с 2 переменными - PullRequest
0 голосов
/ 22 января 2019

Благодаря функции fimplicit я могу отображать неявные функции с 2 переменными (x,y).

. Для конкретного x существует конкретный y, который составляет F_imp=0.Теперь примите это y в качестве входа для другой функции g, которая производит z.

Как я могу построить x,z для х между [0,1 1]?

КонечноЯ мог бы найти инверсию g (y) и заменить в F (x, y), но нет закрытой формы инверсии g (y).

Ниже приведены функции, с которыми я имею дело:

F_imp = @(x,y) log(100-x*90) - x*log(10+0.9*y) - (1-x)*log(100-0.1*y);
fimplicit(F_imp,[0.1 1 0 100])

g=0.1*log(10+y*0.9)+0.9*log(100-0.1*y)

1 Ответ

0 голосов
/ 23 января 2019

Вы можете использовать объект ImplicitFunctionLine, который является необязательным возвращаемым значением функции fimplicit().Таким образом, вы получаете доступ к соответствующим x и y данным.Затем просто используйте y для вычисления g и построите график g против x:

clear;

F_imp = @(x,y) log(100-x*90) - x*log(10+0.9*y) - (1-x)*log(100-0.1*y);
fp = fimplicit(F_imp,[0.1 1 0 100]); %returns the ImplicitFunctionLine object

%get calculated data points from the object
x = fp.XData;
y = fp.YData;

%set y as input for g
g=0.1*log(10+y*0.9)+0.9*log(100-0.1*y);

plot(x, g);
grid minor;

Вот результат:

calculating a third variable through the fimplicit return object

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