2017-05-31 216 views
0

我试图整合功能F其定义为:积分分段函数的matlab

function F   
    x = -3:0.1:3; 
    F = zeros(1, length(x)); 
    for i = 1:length(x) 
     if (1.4<= x(i)) && (x(i) <= 1.6) 
      F(i) = x(i).^2; 
     else 
      F(i) = 2; 
     end 
    end 
end 

integral功能给了我一个错误说,有太多的争论。我认为功能被定义为一个点的问题?

+4

请为我们所有人的动摇,正确缩进代码。另外,向我们展示错误的代码。你基本上不了解如何调用积分。函数的形式是'f(x)',你的F没有输入。你不应该定义'x',否则'F'是一个数组,而不是一个函数。 –

+0

问题出在你称之为“积分”功能的那一行,向我们展示*你的代码行! – Wolfie

+0

我称之为int函数,如 积分(F,0,1) 和我得到错误 错误使用F 输出参数太多。 正如你所说我认为我的函数F是一个数组,如果这个问题,那么我怎么可以将F定义为一个函数? – Imran

回答

0

与您的功能有关的问题是,integral无法将您提供的参数传递给您的函数F。该函数不知道它只能从你创建的向量中拉出某些元素。如果你重写你的函数,使得对于一个输入(或x值),返回F的输出,然后integral将工作,因为你需要给定两个值之间的集成。