在MATLAB中求积分的未知极限

在MATLAB中求积分的未知极限,matlab,integration,Matlab,Integration,我有一个形式为c=f(t)dt的积分的方程,从常数限制为变量(我不想显示完整的方程,因为它很长很复杂)。是否有任何方法可以在MATLAB中计算该变量的值(没有其他变量,且方程太难手动求解)?这是一个非常不清楚的问题-如果您不想发布完整的方程,请发布一个示例 我假设这就是你想要的:你有一个被积函数f(x),你知道,被积函数被积分,得到一些常数c,你知道,在x=0的范围内,到x=y,例如,其中y可能改变,你想要找到y 我的建议是手动积分f(x),填入第一个极限,然后从c中减去该部分。接下来,您可以使

我有一个形式为
c=f(t)dt的积分
的方程,从常数限制为变量(我不想显示完整的方程,因为它很长很复杂)。是否有任何方法可以在MATLAB中计算该变量的值(没有其他变量,且方程太难手动求解)?

这是一个非常不清楚的问题-如果您不想发布完整的方程,请发布一个示例

我假设这就是你想要的:你有一个被积函数f(x),你知道,被积函数被积分,得到一些常数c,你知道,在x=0的范围内,到x=y,例如,其中y可能改变,你想要找到y


我的建议是手动积分f(x),填入第一个极限,然后从c中减去该部分。接下来,您可以使用一些技术,例如牛顿-拉尔夫森方法来迭代搜索方程的根,它应该只在x中

假设您的极限是从
cons
t
g(t)
作为变量
t
的函数。现在,

syms t
f(t) = int(g(t),t);
这将给出不定积分。现在
f(t)

f(t) = f(t)+f(cons);
您的值为
f(t)=c
。所以只要解这个方程

S = solve(f(t)==c,t,'Real',true);
eval(S)
将给出答案,我认为

您可以使用a和函数进行积分

myFunc = @(t) exp(t*3); % or whatever
t0 = 0;
t1 = 3;
L = 50;
f = @(b) quad(@(t) myFunc(t,b),t0,t1);
bsolve = fzero(f,2);
希望能有帮助