反演八度音阶

问题描述 投票:-1回答:1

我是八度的新手。我被要求编写一个函数[k,y,info] = ivs(a,b,fun,N),该函数计算给定单变量函数的逆函数的近似值:fun:[a,b]-> R ;在[fun(a),fun(b)](或[fun(b),fun(a)])的间隔上等距N个点。y是结果k-反函数近似值的向量(在等距点上求值)y-等距点的向量信息-如果计算成功结束则为0,否则为0]]

我写了一些代码,它不起作用,我收到很多错误,但是我无法从中找出错误所在。我希望在此代码中有很多错误。我希望有人指出出什么问题。

function [k,y,info]=ltrigp(a,b,fun,N)
  if(a-b==0)
  error('computation cannot take place, a=b');
  else
    if(fun(a)=fun(b))
      error('we have a problem, interval is zero length')
    end
    if(fun(a)<fun(b))
    x=linspace(fun(a), fun(b), N);
      for l in 1:N
      [j,FS,info,out]=fzero(@(j) fun(j)-x(l),[f(a),f(b)]);
      y(i)=j;
        if(info!=1)
        error("Something went wrong with fzero()");
        end
      end
    else
    x=linspace(fun(b), fun(a), N);
      for l in 1:N
      [j,FS,info,out]=fzero(@(j) fun(j)-x(l),[f(a),f(b)]);
      y(l)=j;
        if(info!=1)
        warning("Something went wrong with fzero()");
        end
      end
    end  
  end
end

我是八度的新手。我被要求编写一个函数[k,y,info] = ivs(a,b,fun,N),该函数计算给定单变量函数的逆函数的近似值:fun:[a,b]-> R ;超过N个等距...

octave
1个回答
1
投票

键入时有一些错误,但逻辑上也有

© www.soinside.com 2019 - 2024. All rights reserved.