小编use*_*036的帖子

Mathematica,嵌套优化

我想在另一个函数中使用最大化的解决方案,定义为函数.这是一个例子:

f1[y_] := x /. Last[Maximize[{Sin[x y], Abs[x] <= y}, x]]  (* or any other function *)
Run Code Online (Sandbox Code Playgroud)

这个定义很好,例如,如果我给f1[4],我得到答案-((3 \[Pi])/8).

问题是,当我想在另一个函数中使用它时,我得到错误.例如:

FindRoot[f1[y] == Pi/4, {y, 1}]

给我以下错误:

ReplaceAll :: reps:{x}既不是替换规则列表也不是有效的调度表,因此不能用于替换.>>

FindRoot :: nlnum:函数值{-0.785398+(x/.x)}不是{y} = {1.}处维度为{1}的数字列表.>>

我已经好几天了!任何评论,想法,帮助,...深表感谢!非常感谢你!

wolfram-mathematica

6
推荐指数
1
解决办法
354
查看次数

标签 统计

wolfram-mathematica ×1