Solving of vectorial equations

1 view (last 30 days)
Mepe on 13 Feb 2020
Answered: John D'Errico on 17 Feb 2020
Hi there,
I have the following problem:
Given are two equations:
y = 2*x.^2+2*x+5
x = 3*y.^3-C
C is a vector constant.
Now the solutions for x should be searched component by component.
I would like to avoid merging the equations beforehand.
How then can I best compute the solutions vectorially?
Thanks a lot
Mepe on 17 Feb 2020
I see that ;-). I think I have not described my problem precisely enough.
I'll try again. In principle, the equations can be combined into one with an unknown one. Now I'm looking for solutions to x for the different values in c.

Sign in to comment.

Answers (1)

John D'Errico
John D'Errico on 17 Feb 2020
You cannot do it, at least if these are completely general nonlinear equations, since there may be no unique solution for nonlinear equations, and even infinitely many such solutions. In your example, of course, it is simple enough, since you can visualize the problem by substituting y into the second equation. Thus we would implicitly have
x = 3*(2*x.^2+2*x+5) - C
so a 6'th degree polynomial in x, parameterized by C. For any given value of C, there will be 6 solutions, probably not all of which will be real. Of course, for any given C, there will be a differing number of real solutions, either 0, 2, 4, or 6 of them in this case.
Of course, if the relationships between x, y, and C are completely arbitrrily nonlinear (I assume this is a trivial example you gave), then there may indeed be infinitely many solutions, or at least some arbitrary number of them.
Of course, the solution is simple, at least in theory. For any given C, just solve for the set of ALL solutions of a pair of nonlinear equations. But I can easily provide a problem that has no easy solution for that, and no simple way to do it. So if you will insist on a magical answer to your problem, it ain't gonna happen.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!