Establecer restricciones en un sistema de ecuaciones
Publicado por Juan Manuel (1 intervención) el 02/04/2018 12:38:22
Buenos días,
Ante todo especificar que soy completamente lego en el uso del MatLab y que las matemáticas no son mi área de conocimiento, por lo que por favor tratad de ser lo más explícitos posible en vuestras respuestas.
Tengo un sistema de 6 ecuaciones con 5 incógnitas que un amigo matemático ha resuelto utilizando la regla de Cramer y me lo ha programado en MatLab. El sistema calcula el número de átomos de los diversos elementos químicos que forman un compuesto químico a partir de los porcentajes en peso de cada elemento, que medimos experimentalmente utilizando diversas técnicas analíticas.
El problema es que, o bien debido a la propagación de los errores experimentales o bien debido a que el cálculo que hacemos es teórico y en la práctica la composición química podría contener algún otro elemento que desconocemos, la solución exacta del sistema acaba dando valores negativos a algunas de las incógnitas, lo que carece de sentido químico.
Por ello me gustaría introducir restricciones en el sistema de ecuaciones. En concreto, que la suma de tres de las variables no puede ser superior a 50 (n+x+z<=50) y que las variables no pueden ser negativas. Como esto podría significar que el sistema de ecuaciones podría no tener una solución exacta, también me gustaría indicarle al programa un límite de tolerancia en el error de las variables, es decir, que en lugar de darme la solución exacta de las variables el programa calculase estas variables con un margen de error (pongamos un 5%, por ejemplo) pero que cumpliesen con esas dos premisas anteriores (variables siempre positivas y la suma de tres de ellas no superior a 50).
Sin embargo, no se cómo introducir estas tres condiciones en el programa. Alguien podría ayudarme y explicarme cómo programar estas restricciones?
Muchas gracias por adelantado.
Un saludo a tod@s
Ante todo especificar que soy completamente lego en el uso del MatLab y que las matemáticas no son mi área de conocimiento, por lo que por favor tratad de ser lo más explícitos posible en vuestras respuestas.
Tengo un sistema de 6 ecuaciones con 5 incógnitas que un amigo matemático ha resuelto utilizando la regla de Cramer y me lo ha programado en MatLab. El sistema calcula el número de átomos de los diversos elementos químicos que forman un compuesto químico a partir de los porcentajes en peso de cada elemento, que medimos experimentalmente utilizando diversas técnicas analíticas.
El problema es que, o bien debido a la propagación de los errores experimentales o bien debido a que el cálculo que hacemos es teórico y en la práctica la composición química podría contener algún otro elemento que desconocemos, la solución exacta del sistema acaba dando valores negativos a algunas de las incógnitas, lo que carece de sentido químico.
Por ello me gustaría introducir restricciones en el sistema de ecuaciones. En concreto, que la suma de tres de las variables no puede ser superior a 50 (n+x+z<=50) y que las variables no pueden ser negativas. Como esto podría significar que el sistema de ecuaciones podría no tener una solución exacta, también me gustaría indicarle al programa un límite de tolerancia en el error de las variables, es decir, que en lugar de darme la solución exacta de las variables el programa calculase estas variables con un margen de error (pongamos un 5%, por ejemplo) pero que cumpliesen con esas dos premisas anteriores (variables siempre positivas y la suma de tres de ellas no superior a 50).
Sin embargo, no se cómo introducir estas tres condiciones en el programa. Alguien podría ayudarme y explicarme cómo programar estas restricciones?
Muchas gracias por adelantado.
Un saludo a tod@s
Valora esta pregunta


0