我希望执行如下所示的集成。
我正面临一个错误,因为我正在使用整合变量' 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);
请你提供一些指导来解决它。
P.S。:为了澄清,y = f(x)[分段函数]这就是我进行插值以确定中间值的原因。
非常感谢!!
答案 0 :(得分:1)
您应该通过更简单的集成例程替换int
,并忘记syms。试试内置版integrate
或https://ece.uwaterloo.ca/~dwharder/NumericalAnalysis/13Integration/romberg/matlab.html
或者,您可以找到interp1
的替代方案,并在每个子区间调用int
。
答案 1 :(得分:0)
感谢大家的帮助, 我发现integral()修复了问题而不是符号整合。非常感谢!!