在MATLAB中找到未知的集成限制

时间:2014-05-26 15:04:09

标签: matlab integration

我有一个c = integral of f(t)dt形式的等式,从常数变量到变量(我不想显示完整的等式,因为它非常长且复杂)。有没有办法在MATLAB中计算出该变量的值是什么(没有其他变量,而且这个等式很难手工求解)?

3 个答案:

答案 0 :(得分:1)

假设您的限制是从constg(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)会给出我认为的答案

答案 1 :(得分:0)

这是一个非常不明确的问题 - 如果您不想发布完整的等式,请发布示例

我假设这是你想要的:你有一个积分f(x),你知道,并且已经被积分给你一些常数c你知道,在x = 0的范围内,到x = y例如,y可能会改变,你想找到y

我的建议是手动整合f(x),填写第一个限制,然后从c中减去该部分。接下来你可以使用一些技术,比如Newton-Ralphson方法迭代搜索你的方程的根,它应该只在x中

答案 2 :(得分:0)

您可以使用function handlequad函数作为积分

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);

希望有所帮助!