【问题标题】:MATLAB: fzero with a matrix as input to function?MATLAB:以矩阵作为函数输入的 fzero?
【发布时间】:2013-04-10 07:13:06
【问题描述】:

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

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

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

例如

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

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

minme(Y,x)

对于 x 的某些值有效。

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

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

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

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

有人知道有没有办法做到这一点?

谢谢, 伊莫

【问题讨论】:

    标签: matlab


    【解决方案1】:

    看看这个

    arrayfun(@(i) fzero(@(x) minme(y(i),x),1),1:numel(y))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-15
      • 1970-01-01
      • 2015-05-13
      • 1970-01-01
      • 1970-01-01
      • 2018-05-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多