Solve returns empty result although solution exists

Hello I'm trying to solve the following system of equations,
This should be easy to solve by hand. However using solve returns an empty sym struct. what am i missing here?
variables used are attached.
Thank you.
EDIT: re-uploaded variables and added code.
EDIT2:provided working example as per @Walter Roberson's comment.

5 comentarios

Torsten
Torsten el 19 de Mzo. de 2019
Editada: Torsten el 19 de Mzo. de 2019
But as far as I can see, there is nothing in your equations that must be treated symbolically.
Just use "\" to solve the linear system in p_ij.
Your .mat file fails. It is impossible to read its contents.
Post or attach your code as a text .m file, and attach your data in a readable form (.txt, .mat, or something else).
Is it possible that you have Maple installed on your system?
yes I installed Maple specifically to see if it produces different outcome.
same problem occurred.
Hazem Abdelghany
Hazem Abdelghany el 19 de Mzo. de 2019
Editada: Hazem Abdelghany el 19 de Mzo. de 2019
@Torsten do you mean linsolve()?

Iniciar sesión para comentar.

 Respuesta aceptada

Walter Roberson
Walter Roberson el 19 de Mzo. de 2019
You are accidentally using Maple's sym() and solve() calls. The .mat you provided for us is only useable by people who have installed "MATLAB Connector for Maple" .
You need to use pathtool to give the Maple functions a lower priority than the MATLAB functions and recreate the equations matrix and try again.

5 comentarios

Did as you said, you should be able to reproduce the error using Matlab's default symbolic toolbox now.
Thanks.
You have 15 equations in 14 variables and your system is inconsistent.
Part of the reason for inconsistency is your use of floating point numbers.
[A,b] = equationsToMatrix(eqns);
sol = A(1:14,:)\b(1:14);
A*sol-b
The final inconsistent row will be about 1E-13. A single bad round-off in your floating point values could lead to that.
wow, thanks, finally some hope.
s there a way I can solve this? maybe some tolerance parameter?
i
Walter Roberson
Walter Roberson el 19 de Mzo. de 2019
Editada: Walter Roberson el 21 de Mzo. de 2019
The lines above show a solution in which the only inconsistency is on the order of 1E-13 , The order of the variables in sol will be the same as symvar(eqns)
Note: if you vpa(eqn) and compare that to your posted equations, you will see that they do not round exactly the same way. The equations in your .mat are not exactly the same as you would get by converting your posted equations to rationals. That matters because the correction you would need to make the equations consistent is less than the difference in stored versus posted values -- whatever round-off you have going in creating those coefficients is causing problems.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Productos

Versión

R2018b

Etiquetas

Preguntada:

el 19 de Mzo. de 2019

Editada:

el 21 de Mzo. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by