matlab - 如何在 Matlab 中反转内联函数?
问题描述
如果我有匿名函数,例如:
a=3;
b=4;
y = @(x) (x)./(a+b+x);
所以我很容易找到 x=4 的 a,但是我怎样才能找到一个 x 给我 y=0.4?我实际上正在寻找一种简单的方法来使用 x(y) 而不是 y(x)。
解决方案
一种简单的方法是使用数值算法找到 的零y(x) - 0.4
:
target = 0.4;
x = fzero(@(x) y(x)-target, 0)
现在,x
是4.6667
和y(x)
返回0.4
。
请注意,这是一种简单的方法,但在计算上并不便宜。此外,您需要一个合适的起点,我在这里设置为0
. 如果您的函数有多个到达点0.4
,那么您将获得最接近此起点的点。
推荐阅读
- unicode - 给定一个 UTF-8 字符串,我可以在搜索 ASCII 字符时将其视为字节字符串吗?
- tomcat - Cookie 安全标签在登录页面上工作,但在登录后不起作用
- javascript - 使用鼠标滚轮时绝对定位元素的闪烁
- typo3 - Typo3 自定义页脚菜单
- java - 具有不同 idp 的多个 SSO 集成
- python - LightGBM:ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()
- javascript - 在 Codeceptjs 中没有有效负载的 SendPostRequest
- java - Apache Lucene 索引器搜索
- ruby-on-rails - 使用 Ruby on Rails 仔细检查/帮助建模关系
- python - 无法使用pymysql连接到mysql