Excel 如何找到满足函数的变量的值?

Excel 如何找到满足函数的变量的值?,excel,matlab,solver,inverse,Excel,Matlab,Solver,Inverse,我有一个大约300行的函数,它接受摩擦系数(变量u)和更多的常量参数,并输出负载(变量p)。我们可以说P是u的函数。此代码已完成。我现在需要的是找出一个逆方法来计算u,它给出了一个定义值P。假设我需要P为10,满足这个条件的摩擦系数u是多少 我可以在Excel solver中轻松地完成这项工作,但我正在努力使用MATLAB。我做了一些研究,我认为这不是我想最小化或最大化P的情况,我希望它是一个已知的值,因此我不确定使用MATLAB函数进行优化 我试着在我的整个代码中使用一段时间,测试u的各种值,

我有一个大约300行的函数,它接受摩擦系数(变量u)和更多的常量参数,并输出负载(变量p)。我们可以说P是u的函数。此代码已完成。我现在需要的是找出一个逆方法来计算u,它给出了一个定义值P。假设我需要P为10,满足这个条件的摩擦系数u是多少

我可以在Excel solver中轻松地完成这项工作,但我正在努力使用MATLAB。我做了一些研究,我认为这不是我想最小化或最大化P的情况,我希望它是一个已知的值,因此我不确定使用MATLAB函数进行优化


我试着在我的整个代码中使用一段时间,测试
u
的各种值,而
p
不在我想要的范围内(例如,
u=0.01
,而
p
不是
p>9.5&&p如果你想找到u,使得p(u)=k对于某个常数k,你可以最小化| p(u)-k。你会得到u,这样| p(u)-k |尽可能接近,意味着P(u)尽可能接近k。这可以通过matlab工具实现

如果p(u)是多项式,可以使用的另一种方法是找到p(u)-k的根。这也可以通过matlab实现


还有另一个选项,如评论中所建议的,对某个范围内的u值进行采样,计算这些值的p(u),并假设该范围内有一个值,因此p(u)=k,您可以使用插值来估计它。插值可以使用matlab完成。

计算f(u)对于大范围的u,然后插值求u,使f(u)=P尝试实现这一点,非常感谢。这很有帮助,因为现在我可以看到P随u的不同而变化。谢谢先生!我仍然需要对您的答案做更多的工作,稍后会这样做,但感谢您的洞察力…我可以在我的主代码末尾添加最后一行P=P-10,然后将其最小化。