octave error:subs:我们不支持从工作区替换单输入

时间:2018-03-28 22:25:54

标签: matlab octave

所以我正在编写一个用于寻找根的二分法的matlab代码。我没有使用matlab,所以我使用的是GNU octave,以下是我的代码:

a=3*pi/2; b=2*pi; dig=35;
n=0;
x=0;

for tol=[.5e-7 .5e-15 .5e-33]
  [n,x]=sbisec(dig,a,b,tol)
end

n=0;
function [ntol,x]=sbisec(dig,a,b,tol)
  ntol=ceil(log((b-a)/tol)/log(2));
  digits(dig);
  a=vpa(a); 
  b=vpa(b);
    for n=1:ntol
      x=vpa((a+b)/2);
      fx=subs(f(x));
    if fx<0
      a=x;
    else
      b=x;
    end
    end
endfunction

function y=f(x)
y=cos(x)*cosh(x)-1;
endfunction

当我运行flile.m时,我收到以下错误

error: subs: we do not support single-input w/ substitution from workspace

因为错误我认为这是一个八度问题,但我不知道。

我的问题是这个错误意味着什么以及我在做什么来引起它。

0 个答案:

没有答案