【发布时间】:2013-12-01 23:57:22
【问题描述】:
我希望执行如下所示的集成。
我正面临一个错误,因为我在插值函数中使用积分变量“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) [分段函数] 这就是我插值以确定中间值的原因。
非常感谢!!
【问题讨论】:
-
你为什么使用
syms u?输入是数值数据,我也会使用数值插值和积分。 -
@DanielR,感谢您的回复。如果我省略
syms u集成失败:>> double(int(2*interp1(x,y,u),u,0,0.1))Undefined function or variable 'u'.如果我初始化 u=0 那么我得到:>> u=0;>> double(int(2*interp1(x,y,u),u,0, 0.1))`Undefined function 'int' for input arguments of type 'double'.我肯定不是很熟悉,所以请原谅我的无知:)
标签: matlab interpolation symbolic-math numerical-integration