Well, simplify function did sort of worked, but it didn’t simplify anything, regarding moving variables to the same side. This is the original equation I am trying to simplify/solve: (diff(x(t),t)==(1-x(t)/K)*x(t))
Unable to find explicit solution.
15 次查看(过去 30 天)
显示 更早的评论
I have already tried reading some other similar questions but I had no luck. Does Matlab have problem then the same variable is on both sides or something? Simplify function also didn’t work.
采纳的回答
Walter Roberson
2023-11-16
Well, let us test the hypothesis that the problem is that the same variable is on both sides:
syms x(t) y(t) c
K = 1072764;
eqn1 = (x==int((1-(x/K))*x,t,0,3))
eqn2 = (y==int((1-(x/K))*x,t,0,3))
eqn3 = (c==int((1-(x/K))*x,t,0,3))
eqn4 = (4321==int((1-(x/K))*x,t,0,3))
sol1 = solve(eqn1, x)
sol2 = solve(eqn2, x)
sol3 = solve(eqn3, x)
sol4 = solve(eqn4, x)
So the problem is not that the same variable occurs on both sides of the equation -- if it were then having y(t) on the left side would have worked. The problem is also not that the left side is a function x(t) instead of a constant -- if it were then using c on the left side instead of x(t) or y(t) would have worked. The problem is also not that using a symbolic variable instead of a specific numeric value makes the equation "too complicated" -- if that were the case then using 4321 on the left side would have worked.
What is left?
Well... there is the fact that you tried to find an explicit solution for an integral equation.
Generally speaking, MATLAB just doesn't know how to solve many integral equations.
3 个评论
Walter Roberson
2023-11-16
I tested this equation with wolfram alpha, which was not able to solve it.
更多回答(2 个)
Walter Roberson
2023-11-16
编辑:Walter Roberson
2023-11-16
If we assume that x is a function of one variable, t, then the definite integral of an expression involving only x and constants, is an expression that does not involve t. So by inspection you are asking to solve x(t) = constant. We can then substitute constant into the equation, say X, getting
X == int((1-X/K)*X,t,0,3)
This gives you a definite result on the right, and you can solve the quadratic by factoring, for solutions x(t) = 0 and x(t) = 2/3 * K
The solutions proposed by Torsten do not work except for the 0.
6 个评论
Walter Roberson
2023-11-19
The original equation you posted was an integral equation in which an expression in t was integrated over a definite range of t. A definite integral no longer has the variable of integration in the expression (unless the variable was used in the limit.) The finished definite integral is effectively constant with respect to the variable of integration... so if you then take the derivative with respect to the variable of integration then the definite integral vanishes.
f(x) = int(g(x), x, a, b)
take derivative of both sides to get
df/dx = d(int(g(x), x, a, b)/dx
but the int will not have x in it so the derivative is 0, leading to
df/dx = 0
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Calculus 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!