查看: 577|回复: 6|关注: 0

[已解决] 如何在符号表达式中使用min()

[复制链接]

入门

81 麦片

财富积分


50500


16

主题

79

帖子

1

最佳答案
本帖最后由 南海鱼游 于 2020-8-17 15:23 编辑

如下代码的目的是想在符号表达式中使用min()函数,而后转为匿名函数;
代码的意义在于 方便将比较最小这种形式代入到其他式子中,在最终形成的更复杂式子中再将参数代入值。
不成功的代码如下:
  1. clear;clc;
  2. syms a b
  3. A=[a^2,a*b^2,a^2+b^2-2*b];
  4. % Not Work
  5. Ay=min(A);
  6. Af=matlabFunction(Ay)
  7. Af(1,2)
  8. %Bf=Af^2+Cf...;
  9. %Bf(1,2)
复制代码


错误使用 sym/min (line 123)
Input arguments must be convertible to floating-point
numbers.
出错 Untitled4 (line 5)
Ay=min(A);




回复主题 已获打赏: 0 积分

举报

入门

81 麦片

财富积分


50500


16

主题

79

帖子

1

最佳答案
 楼主| 发表于 2020-8-18 22:11:52 | 显示全部楼层
暂未解决的尝试:
以下代码可用,但参数列表无法自动获取
  1. clear;clc;
  2. syms a b c
  3. A=[a^2,a*b^2,a^2+b^2-2*b];
  4. Af=@(a,b,c)min([a^2,a*b^2,a^2+b^2-2*b])
  5. Af(1,1,2)
复制代码


回复此楼 已获打赏: 0 积分

举报

入门

81 麦片

财富积分


50500


16

主题

79

帖子

1

最佳答案
 楼主| 发表于 2020-8-18 23:04:01 | 显示全部楼层
南海鱼游 发表于 2020-8-18 22:11
暂未解决的尝试:
以下代码可用,但参数列表无法自动获取

难道就这样放弃Matlab转向Python的怀抱了吗:)
回复此楼 已获打赏: 0 积分

举报

论坛优秀回答者

权威

4530 麦片

财富积分



5

主题

4502

帖子

972

最佳答案
  • 关注者: 222
发表于 2020-8-19 11:34:02 | 显示全部楼层 |此回复为最佳答案
min函数只针对数值,转为匿名函数再使用。
  1. syms a b
  2. A=[a^2,a*b^2,a^2+b^2-2*b];
  3. fun_temp=matlabFunction(A,'vars',{[a,b]});
  4. fun=@(x)min(fun_temp(x))
复制代码

回复此楼 已获打赏: 0 积分

举报

入门

81 麦片

财富积分


50500


16

主题

79

帖子

1

最佳答案
 楼主| 发表于 2020-8-19 14:05:11 | 显示全部楼层
maple1314168 发表于 2020-8-19 11:34
min函数只针对数值,转为匿名函数再使用。

请问这里最后一行的fun该如何调用?
回复此楼 已获打赏: 0 积分

举报

论坛优秀回答者

权威

4530 麦片

财富积分



5

主题

4502

帖子

972

最佳答案
  • 关注者: 222
发表于 2020-8-19 16:46:34 | 显示全部楼层
南海鱼游 发表于 2020-8-19 14:05
请问这里最后一行的fun该如何调用?

这个,很清楚了吧。
两个输入参数合在一起。
如:
fun([1 2])
回复此楼 已获打赏: 0 积分

举报

入门

81 麦片

财富积分


50500


16

主题

79

帖子

1

最佳答案
 楼主| 发表于 2020-8-20 10:04:19 | 显示全部楼层
maple1314168 发表于 2020-8-19 16:46
这个,很清楚了吧。
两个输入参数合在一起。
如:

又试了一下,运行通过,谢谢:P
  1. syms a b
  2. A=[a^2,a*b^2,a^2+b^2-2*b];
  3. fun_temp=matlabFunction(A,'vars',{[a,b]});
  4. fun=@(x)min(fun_temp(x))

  5. ab=[1,2]
  6. fun(ab)
复制代码
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表