matlab - 如何评估多变量函数
问题描述
考虑f(y1,y2,y3,y4,z1)=(-(z1^3)/(y3^2))(3(y2-y1+y3^(-1)-z1/10)^2+(1/5)(y2-y1+y3^(-1)-(z1)/10))-y4
具有 5 个变量的函数。当我f(1,1,1,1,1)
输入时,我找到了答案,但是当我写f(v)
在哪个v=(1,1,1,1,1)
matlab 中不起作用时。我该怎么做(通过第二种方式)?
解决方案
你可以编写一个包装函数,它将一个向量作为输入参数,并在调用你的函数之前“解包”这个向量。
f(y1,y2,y3,y4,z1) = (-(z1^3)/ ...; % your function
fv(v) = f(v(1),v(2),v(3),v(4),v(5));
或者,使用适当的索引使 f 引用输入向量中的元素:
f(v) = (-(v(5)^3)/(v(3)^2)); ... % etc.
推荐阅读
- java - 代理:如何解析来自套接字连接的 https 请求和响应
- excel - 需要将excel的IF AND语句转换成VBA
- python - 基于连续值的“开始”和“结束”日期
- javascript - 无法解决 socket.io 回调中的承诺
- apache-spark - Apache Spark 中的阶段是什么?
- java - Flink:如何理解并行算子的实例有多少?
- typo3 - TYPO3 站点错误处理不适用于异常
- angular - 无法从 Angular 7 应用程序将整数数组传递给 asp.net webapi
- mfc - 在复选框的单击事件上使用用户定义的消息调用 postmessage
- html - 如何在 3D 轮播中隐藏远图像