首页 > 解决方案 > 如何在 Matlab 中反转内联函数?

问题描述

如果我有匿名函数,例如:

a=3;
b=4;
y = @(x) (x)./(a+b+x);

所以我很容易找到 x=4 的 a,但是我怎样才能找到一个 x 给我 y=0.4?我实际上正在寻找一种简单的方法来使用 x(y) 而不是 y(x)。

标签: matlab

解决方案


一种简单的方法是使用数值算法找到 的零y(x) - 0.4

target = 0.4;
x = fzero(@(x) y(x)-target, 0)

现在,x4.6667y(x)返回0.4

请注意,这是一种简单的方法,但在计算上并不便宜。此外,您需要一个合适的起点,我在这里设置为0. 如果您的函数有多个到达点0.4,那么您将获得最接近此起点的点。


推荐阅读