Matlab - problema con solve

 
Vista:

problema con solve

Publicado por andres (4 intervenciones) el 02/06/2007 22:32:14
Hola, tengo el siguiente problema para resolver los sistemas de ecuaciones:
Intento resolver: solve('a(1)+a(2)=5','a(1)-a(2)=6')
Pero me arroja el siguiente error:
Warning: 2 equations in 1 variables.
> In solve at 113
Warning: Explicit solution could not be found.
> In solve at 140
ans = [ empty sym ]

En cambio con: solve('a+b=5','a-b=6') no me hace problema,

Necesito hacer un programa asi q por eso necesito q me acepte incognitas del tipo a(i)

Asi que si alguien me pudiera ayudar se agradeceria...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:problema con solve

Publicado por Juan Carlos (22 intervenciones) el 03/06/2007 23:17:15
Tienes que pasarlo de la segunda manera:
solve('a+b=5','a-b=6')
y recoger el resultado en a(1) y a(2). Así:

[a(1) a(2)] = solve('a+b=5','a-b=6');
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema con solve

Publicado por andre (4 intervenciones) el 04/06/2007 00:19:59
vale, pero el problema es que estoy haciendo un programa para n ecuaciones, entonces es necesario definir a(i) (o sino seria algo como solve('a+b-3c...+7z=5',...,'a-b-34c...+4z=35')), luego tengo que resolverlo con a(i) dentro del solve... :(
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema con solve

Publicado por andres (4 intervenciones) el 04/06/2007 00:26:45
y otra cosa... si tengo guardadas las ecuaciones en un parametro eq, donde eq(1)=x+y+ctte... eq(n)= x-y+z-ctte_n
hay alguna manera de meter estas ecuaciones en un solve?
PD: eq(i) es una ecuacion que es igual a 0
De antemano gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema con solve

Publicado por Juan Carlos (22 intervenciones) el 04/06/2007 23:27:32
La primera duda:
si pones sol = solve(eq1,eq2); devuelve una estrucutura cuyos campos tienen el nombre de las variables. Con las funciones para recoger los nombres de los campos y sus valores podras hacer un programa que lo haga sin necesidad de saber el tamaño a priori.
La segunda duda:
por lo que se tu unica solucion sería:
teniendo una matriz de equaciones de la forma [eq1; eq2; ...; eqn] puedes hacer un switch
switch size(equaciones,1)
case 1
solve(ecuaciones(1,:));
case 2
solve(ecuaciones(1,:), ecuaciones(2,:))
case 3
...
end

Para esto debes definir un numero maximo de equaciones. Otra solucion no se me ocurre.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar