首页 > 解决方案 > 具有 2 个变量的隐式函数

问题描述

多亏了这个fimplicit函数,我可以用 2 个变量绘制隐式函数(x,y)

对于一个特定的x,有一个特定yF_imp=0。现在把它y作为另一个g产生z.

如何x,z在 [0.1 1] 之间绘制 x?

当然,我可以找到 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)

标签: matlab

解决方案


您可以使用ImplicitFunctionLine对象,它是fimplicit()函数的可选返回值。通过这种方式,您可以访问通讯员xy数据。然后只需用于计算yg绘图:gx

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;

结果如下:

通过隐式返回对象计算第三个变量


推荐阅读