# How would I write a code to solve a system of equations?

22 visualizzazioni (ultimi 30 giorni)
Omar il 19 Ott 2013
Risposto: anjali wavhale il 1 Dic 2020
I need to solve a system of equations but I do not know the syntax for doing so. The equations are:
q1 = (1.53*10^-5)*t1^4 + (1.67*10^-2)*t1^3 + 6.85*t1^2 + 2746*t1 - 57793
q2 = 13.3*(t1-t2)
q3 = (1.53*10^-5)*t2^4 + (1.67*10^-2)*t2^3 + 6.85*t2^2 + 4846*t2 - 49161
also; q1=q2=q3
I'm new to MATLAB and not sure how to handle this many variables along with the scientific notation.
##### 2 CommentiMostra NessunoNascondi Nessuno
Qasim Manzoor il 19 Ott 2013
do you have to use a mathematical method or any way would be fine?
Omar il 20 Ott 2013
I don't know what you mean exactly. How would you solve this in a non-mathematical way?

Accedi per commentare.

### Risposte (4)

sixwwwwww il 20 Ott 2013
Modificato: sixwwwwww il 20 Ott 2013
Dear Omar, you can solve your system of equations using the following way:
t = sym('t%d', [1 2]);
q1 = 1.53e-5 * t(1)^4 + 1.67e-2 * t(1)^3 + 6.85 * t(1)^2 + 2746 * t(1) - 57793;
q2 = 13.3 * (t(1) - t(2));
q3 = 1.53e-5 * t(2)^4 + 1.67e-2 * t(2)^3 + 6.85 * t(2)^2 + 4846 * t(2) - 49161;
[solutions_t1, solutions_t2] = solve(q1 == q2 == q3, t(1), t(2))
Or
[solutions_t1, solutions_t2] = solve(q1 == q2, q2 == q3, t(1), t(2))
You can check which solutions are better because in first case you will get 4 solutions for both t1 and t2 and in second case you will get 16 solutions for both t1 and t2. I hope it helps. Good luck!
##### 25 CommentiMostra 23 commenti meno recentiNascondi 23 commenti meno recenti
Omar il 20 Ott 2013
ok I got what I'm looking for. Thank you for your help.
sixwwwwww il 20 Ott 2013
You are welcome dear

Accedi per commentare.

Walter Roberson il 20 Ott 2013
{q = 2003.839045, t1 = -819.5264017, t2 = -970.1909915},
{q = -10982.94224, t1 = -817.9943073, t2 = 7.790823431},
{q = 133.2164095, t1 = 20.04280634, t2 = 10.02653495},
{q = 13235.45859, t1 = 24.30348638, t2 = -970.8437757}
provided that you only want real-valued solutions.
This was done by substituting t1 for t(1) and t2 for t(2), and then plugging the three q equations into solve()
##### 0 CommentiMostra -2 commenti meno recentiNascondi -2 commenti meno recenti

Accedi per commentare.

David il 21 Ott 2013
Modificato: David il 21 Ott 2013
In addition to the answers already posted, be sure to put sym() around each of your equations. That is to say, do the following:
syms t1 t2
q1 = sym( 1.53e-5*t(1)^4 + 1.67e-2*t(1)^3 + 6.85*t(1)^2 + 2746*t(1) - 57793 );
q2 = sym( 13.3*(t(1) - t(2)) );
q3 = sym( 1.53e-5*t(2)^4 + 1.67e-2*t(2)^3 + 6.85*t(2)^2 + 4846*t(2) - 49161 );
[solutions_t1, solutions_t2] = solve(q1 == q2, q2 == q3, t1, t2);
solve requires that your equations be symbolic objects which is guaranteed by using sym().
##### 2 CommentiMostra NessunoNascondi Nessuno
Walter Roberson il 21 Ott 2013
As long as anything in the equation is sym, the whole expression will be treated as sym. So
t = sym('t%d', [1 2]);
is enough to make the equations sufficiently sym() without requiring sym() around the equations.
David il 22 Ott 2013
Oh? This seemed to correct a problem I was having earlier in using the solve function. You actually saw that question and made useful suggestions, though suggestions that did not quite do the trick. Maybe we are both missing something or maybe it's just me...

Accedi per commentare.

anjali wavhale il 1 Dic 2020
how to do least square estimation for system with the prbs as input to it
##### 0 CommentiMostra -2 commenti meno recentiNascondi -2 commenti meno recenti

Accedi per commentare.

### Categorie

Scopri di più su Calculus in Help Center e File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by