0

我试图找到函数 f(x,y) 的值 x,它为给定的 y 生成函数值 0。在 Matlab 中,我编写了一个小函数句柄,例如

minme = @(y,x) y-x.^2;

并使用 fzero 函数找到 x 的值,称之为 x*。

所以例如

fzero(@(x) minme(5,x),1)

效果很好。但是,现在我想为一个大的 y 值向量(称为 Y)找到 x*。

minme(Y,x)

对于 x 的某些值有效。

现在我正在尝试类似的东西

fzero(@(x) minme((3:1:5),x),1)

和 fzero(@(x) minme(Y,x),1)

但这会产生错误: ??? || 的操作数 和 && 运算符必须可转换为逻辑标量值。==> fzero 中的错误 333 elseif ~isfinite(fx) || 〜现实(外汇)

有谁知道是否有办法做到这一点?

谢谢,伊莫

4

1 回答 1

2

看一下这个

arrayfun(@(i) fzero(@(x) minme(y(i),x),1),1:numel(y))
于 2013-04-17T13:41:10.937 回答