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

### Omar (view profile)

on 19 Oct 2013
Latest activity Commented on by David

### David (view profile)

on 22 Oct 2013

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.

Qasim Manzoor

### Qasim Manzoor (view profile)

on 19 Oct 2013

do you have to use a mathematical method or any way would be fine?

Omar

### Omar (view profile)

on 20 Oct 2013

I don't know what you mean exactly. How would you solve this in a non-mathematical way?

## Products

No products are associated with this question.

### sixwwwwww (view profile)

on 20 Oct 2013
Edited by sixwwwwww

### sixwwwwww (view profile)

on 20 Oct 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!

sixwwwwww

### sixwwwwww (view profile)

on 20 Oct 2013

You can use:

```disp(solutions_t1)
disp(solutions_t2)
disp(q)
```

Or you can also see your solutions in the Workspace where your variables are stored

Omar

### Omar (view profile)

on 20 Oct 2013

ok I got what I'm looking for. Thank you for your help.

sixwwwwww

### sixwwwwww (view profile)

on 20 Oct 2013

You are welcome dear

### Walter Roberson (view profile)

Answer by Walter Roberson

### Walter Roberson (view profile)

on 20 Oct 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()

on 21 Oct 2013
Edited by David

### David (view profile)

on 21 Oct 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().
```

Walter Roberson

### Walter Roberson (view profile)

on 21 Oct 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

### David (view profile)

on 22 Oct 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...

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi test

### Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.