具有2个变量的隐式函数

时间:2019-01-22 13:19:44

标签: matlab

借助fimplicit函数,我可以绘制具有2个变量(x,y)的隐式函数。

对于特定的x,有一个特定的y构成了F_imp=0。现在,将此y用作另一个产生g的函数z的输入。

如何在{0.1 1]之间绘制x的x,z

当然,我可以找到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 :(得分:0)

您可以使用ImplicitFunctionLine对象,它是fimplicit()函数的可选返回值。这样,您就可以访问相应的xy数据。 然后只需使用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