129 views (last 30 days)

Show older comments

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.

sixwwwwww
on 20 Oct 2013

Edited: sixwwwwww
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!

Walter Roberson
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()

David
on 21 Oct 2013

Edited: David
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().

David
on 22 Oct 2013

anjali wavhale
on 1 Dec 2020

how to do least square estimation for system with the prbs as input to it

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

Start Hunting!