2

我希望执行如下所示的集成。

我面临一个错误,因为我在插值函数中使用积分变量“u”。(如果我用某个常数替换插值函数内的 'u',则集成运行良好。)

>>syms u
>>double(int(2*interp1(x,y,u),u,0,0.1))
   Error using interp1>Interp1D (line 330)
   Inputs must be floats, namely single or double.
    Error in interp1 (line 220)
    Vq = Interp1D(X,V,Xq,method);

您能否提供一些解决方法。

PS:为澄清起见, y=f(x) [分段函数] 这就是我插值以确定中间值的原因。

非常感谢 !!

4

2 回答 2

1

您应该替换int为更简单的集成例程,并忘记 syms。尝试内置integrate,或https://ece.uwaterloo.ca/~dwharder/NumericalAnalysis/13Integration/romberg/matlab.html

或者,您可以找到 的替代方法interp1,并调用int其每个子间隔。

于 2013-12-01T07:44:28.433 回答
0

谢谢大家的帮助,我发现积分()解决了这个问题,而不是符号积分。非常感谢 !!

于 2013-12-01T15:57:22.397 回答