matlab - 未定义函数或变量 Matlab

标签 matlab function undefined

我需要编写一个定点迭代算法,它主要是编码的,但我遇到了这个错误:

未定义的函数或变量“g”。

我想将 g 定义为 g(x) = 1/2*(1+5/x)。但是,我是 matlab n00b,不确定如何执行此操作。非常感谢任何帮助,谢谢。

  function [y,k] = fixedpoint(g,p0,tol,max1)
          for k=1:max1
          p = g(p0);
          err = abs(p-p0);
          abserr = abs(sqrt(5)-p);
          ratioerr = abserr/(abs(sqrt(5)-p0));

          if (err<tol)
             break
          end
          p0 = p;

  end
  if (k==max1)
      disp('The algorithm did not converge')
  end
  y = p;

最佳答案

你可以将g定义为匿名函数

g = @(x)1/2*(1+5/x)

然后以通常的方式调用你的函数fixedpoint

关于matlab - 未定义函数或变量 Matlab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18938200/

相关文章:

javascript - Array.includes() 返回未定义

python - OpenCV中的imagesc相当于什么

具有线性时间查找的字符串数组

java - JTransforms FFT DC 分量与 Matlab 不同

javascript - 访问函数作用域外的变量

javascript - electron 的 remote.getGlobal() 在 window.location.replace() 之后返回 "undefined"

matlab - 以图形方式表示迭代密度

javascript - javascript window.stop() 的反义词是什么

python - 使用 Turtle 绘制坐标

c++ - 错误 : undefined reference to `censorship()'