2 views (last 30 days)

Show older comments

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

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.

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

Start Hunting!