How to customize a complex differentiated equation?
显示 更早的评论
I have an equation as s = diff(Z,u)= sqrt((r^2+e3*G*H*x^4e2-f^3*b)/(c^7+r*x*w*p));
I want to put this equation (diffrentiated term) equal to 0 and get x (x on one side and everything else on the other side). x is the only variable in this equation and the rest are parameters. How can I do that in MATLAB?
回答(1 个)
Torsten
2022-4-8
0 个投票
The term is 0 if r^2+e3*G*H**x^4e2-f^3*b = 0. Can you solve for x ?
9 个评论
Sherwin
2022-4-8
Torsten
2022-4-8
You don't need to assign values to parameters.
If you tell us what H**x^4e2 means, we can give you the solution.
Sherwin
2022-4-8
Torsten
2022-4-8
And you really mean x^4e2, thus x^400 ?
Sherwin
2022-4-8
syms b c e3 f G H p r w x Z(u)
assume(G ~= 0)
assume(H ~= 0)
assume(e3 ~= 0)
s = diff(Z(u),u) == sqrt((r^2+e3*G*H*x^4e2-f^3*b)/(c^7+r*x*w*p))
sol = solve(s, x, 'returnconditions', true)
sol.x
sol.conditions
ch1 = children(sol.conditions, 1);
isolate(ch1, sol.parameters)
You cannot get any further because there is no closed form solution to polynomals with degree 400.
Sherwin
2022-4-8
Walter Roberson
2022-4-8
diff(Z, u) is independent of x, so you can replace that term by a variable.
Now multiply both sides by the denominator, getting a polynomial in x on one side and square root of a polynomial on the other. square both sides to get a polynomial in x and both sides. Subtract one side from the other, getting a polynomial on one side and 0 on the other side. You can now use sym2poly to extract the coefficients as a vector.
Now substitute specific numeric values into the vector. double() to make the vector pure numeric. roots() to generate the potential solutions.
Now substitute the roots and the values for the coefficients back into the original (after the replacement of the derivative with a symbol) in order to validate them. Taking the square along the way potentially introduced false roots.
Sherwin
2022-4-8
类别
在 帮助中心 和 File Exchange 中查找有关 Calculus 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

