La Web del Programador: Comunidad de Programadores
https://www.lawebdelprogramador.com/foros/Matlab/1268336-Sistema-de-ecuaciones.html

Sistema de ecuaciones

Sistema de ecuaciones

Publicado por Marcos (8 intervenciones) el 26/05/2011 05:57:50
Hola, he tenido problemas para escribir una rutina en Matlab, que calcule la solución del siguiente sistema de ecuaciones algebraicas:

f_1 (x,y)=x exp(xy+0.8)+exp(y^2 ) -3
f_2 (x,y)=x^2-y^2 - 0.5exp(xy)

Ojala me pudieran ayudar a hacer la rutina, porque la verdad no entiendo como xD
De antemano muchas gracias
Imágen de perfil de JOSE JEREMIAS CABALLERO

Sistema de ecuaciones

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 26/05/2011 08:58:59
HOLA MARCO.

%=====================================
clc
clear
f_1='x*exp(x*y+0.8)+exp(y^2)-3=0';
f_2='x^2-y^2-0.5*exp(x*y)=0';
[x,y]=solve(f_1,f_2);
x=double(x);
y=double(y);
display(x);
display(y);
%=====================================

%EJECUCION
>>sistemassolve1
x =
0.7750


y =
0.1716



Saludos.
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR EN MATLAB
[email protected]

Sistema de ecuaciones

Publicado por Marcos (8 intervenciones) el 26/05/2011 12:42:50
Estimado Jose: Muchas gracias por la pronta respuesta, esta perfecto

Si fuera posible, podrias ayudarme con este problema tambien (soy nulo en este tema de matlab, y necesito resolverlo pronto, por esto he tenido que recurrir al foro )

La temperatura inicial de una pieza de metal es de 25ºC. La pieza se calienta internamente mediante una corriente eléctrica a razón de Q= 3000 W. La ecuación para la temperatura es:

dT/dt=(1/(ρ*V*cP )) * (Q - ε*σ*A(T^4 - 298^4) - h*A*(T-298) )

T(0)=298

k 60 W/m K
σ 5.67x10-8 W/m2 K4
A 0.25 m2
V 0.001 m3
cp 900 J/kg K
ρ 3000 kg/m3
h 30 J/m2 K
ε 0.8

Calcular la temperatura para 0<t<10 min utilizando algún solver de Matlab para ecs. diferenciales ordinarias.


De antemano muchisimas gracias, estaria eternamente agradecido si puedes entregarme una rutina simple para resolver este ejercicio tambien
Imágen de perfil de JOSE JEREMIAS CABALLERO

Sistema de ecuaciones

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 26/05/2011 17:36:02
Hola Marcos.
Me alegra que tu primer pregunta ya este resuelta.
En la segunda pregunta, no estan claros los algunos datos.
Por eso no puedo ayudarte.
Vuelve a escribir tu pregunta o mandame a mi correo tu pregunta.

Saludos.
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR EN MATLAB
[email protected]

Sistema de ecuaciones

Publicado por Marcos (8 intervenciones) el 26/05/2011 19:11:03
Muchas gracias por tu respuesta, al escribir el mensaje, la nomenclatura se veia correcta, no me di cuenta qu eal publicar el comentario, se "desconfiguro" todo.

Te he enviado un email con el problema en formato Word, para q este clarisimo

Te agradezco muchisimo la disposición
Imágen de perfil de JOSE JEREMIAS CABALLERO

Sistema de ecuaciones

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 26/05/2011 21:24:26
HOla Marcos.
La funcion dsolve() de matlab no puede resolver tu PVI que me haz enviado a mi correo.
tU PVI tiene este forma.

>> DT='DT=5-T^4-T';
CI='T(0)=298';
T2=dsolve(DT,CI)
Warning: Explicit solution could not be found.
> In dsolve at 102
T2 =
[ empty sym ]


Como ves, los comanos de solve de matlab no puedo resolverlo, por lo tanto he utilizado la funcion ode45 de MATLAB que esta basada en El MÉtodo de Runge Kutta de 4to orden
%===============================================
function [t,T]=sistemasdsolve2
opciones=odeset('RelTol',1e-2,'AbsTol',1e-2);
[t,T]=ode45(@ecua45,[0 10],298,opciones);
figure(gcf)
plot(t,T,'-')
grid

function DT=ecua45(t,T)
DT=(1/(3000*0.001*900))*(3000-(0.8)*(5*67*10^(-8))*(0.25)*(T^4-298^4)-30*0.25*(T-298));
%=====================================================

guardalo con el nombre e sistmasdsovle2.m
y ejecutalo en la ventana de comandos de matlab de la siguiente forma.

>> >> [t,T]=sistemasdsolve2
t =
0
0.2500
0.5000
0.7500
1.0000
1.2500
1.5000
1.7500
2.0000
2.2500
2.5000
2.7500
3.0000
3.2500
3.5000
3.7500
4.0000
4.2500
4.5000
4.7500
5.0000
5.2500
5.5000
5.7500
6.0000
6.2500
6.5000
6.7500
7.0000
7.2500
7.5000
7.7500
8.0000
8.2500
8.5000
8.7500
9.0000
9.2500
9.5000
9.7500
10.0000


T =
298.0000
298.2768
298.5515
298.8243
299.0951
299.3639
299.6307
299.8956
300.1585
300.4195
300.6785
300.9357
301.1909
301.4442
301.6956
301.9452
302.1929
302.4387
302.6826
302.9248
303.1651
303.4035
303.6402
303.8750
304.1081
304.3394
304.5689
304.7967
305.0227
305.2469
305.4695
305.6903
305.9093
306.1267
306.3424
306.5565
306.7688
306.9795
307.1885
307.3959
307.6017


Ahora si no quieres los valores de t y de T, entonces ejecutas de esta manera.
>> [t,T]=sistemasdsolve2;

es decir le pones punto Y coma al final.
En ambas formas de ejecutar el programa, te saldrá una grafica en el primer plano.


Saludos.
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR EN MATLAB
[email protected]

Sistema de ecuaciones

Publicado por Marcos (8 intervenciones) el 27/05/2011 08:00:35
Muchisimas gracias! ha funcionado perfecto!

Nuevamente, muy agradecido por tu disposicion.
Imágen de perfil de JOSE JEREMIAS CABALLERO

Sistema de ecuaciones

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 27/05/2011 15:49:45
Okey Marcos.
Entonces tu problema FUE RESUELTO.

Saludos.
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR EN MATLAB
[email protected]