我有一个
c = integral of f(t)dt
形式的方程,将常数限制为变量(我不想显示完整的方程,因为它非常长且复杂)。有什么方法可以在 MATLAB 中计算该变量的值(没有其他变量并且方程太难手工求解)?
假设您的限制是从
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)
会给出我想的答案
这是一个极其不清楚的问题 - 如果您不想发布完整的方程式,请发布一个示例
我假设这就是你的意图:你有一个你知道的被积函数 f(x),并且已被积分以给出一些你知道的常数 c,超过 x = 0 的限制,到 x = y,对于例如,y 可能会改变,而您希望找到 y
我的建议是手动积分 f(x),填写第一个限制,然后从 c 中减去该部分。接下来,您可以采用一些技术(例如牛顿-拉尔夫森方法)来迭代搜索方程的根,该根应该仅在 x 中