Matlab上的函数集成

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

我正在尝试将代码从Mathematica重写为Matlab。

Mathematica的原始代码是:

Mathematica code sampple

[好,直到这里没问题,因为我可以在任何需要的地方(x,x + 1,...)求值TT [x]函数并执行数字积分。

我想在Matlab上做完全一样的事情,这是我的问题:

TT = simplify(T);
Fx = 7.734*10^(-2)*vpaintegral(TT,x+1,0,Mu)
Result = double(Fx)

使用sym / vpaintegral时出错(第131行)无法针对“ x +1”进行积分。积分变量必须为符号变量。

我做错了什么?可以在Mathematica上正确评估和集成函数,但在Matlab上不能正确评估和集成函数,还有另一种方法吗?如果我引入“ x”而不是“ x + 1”,那么积分将完美地工作,否则就无法实现。

提前感谢!

matlab integration numeric
1个回答
0
投票

为什么不将TT替换为subs(TT,x,x+1),例如,我要用y替换下面函数中的cos(x)并进行积分

syms x y
f=3/4*(1+cos(x))^2
vpaintegral(subs(f,cos(x),y),y,0,1)
© www.soinside.com 2019 - 2024. All rights reserved.