Error al usar solve dentro de bucles
Publicado por Juanito4 (9 intervenciones) el 15/08/2015 12:03:24
Hola voy a intentar de explicar mi problema ya que es muy denso.
Me aparece este error:
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Error using mupadengine/feval (line 157)
MuPAD error: Error: Invalid variable to solve for. [solve]
Error in solve (line 172)
sol = eng.feval('symobj::solvefull',eqns,vars,options);
--------------------------------------------------------------------------------------------------------------------------------------------------------------
El problema se da al resolver con solve una ecuacion con dos incognitas previamente definidas simbolicas.
Este solve está dentro de la que llamaremos funcion "1". Hay una función "2" la cual tiene un bucle for. En cada iteración del for se llama a la función"1" correctamente. En la primera iteracion no da error y resuelve todo bien, pero el problema aparece en la siguiente iteracion del for ya que salta y aparece el error mostrado arriba en la linea del solve.
(se que se suele poner el codigo pero creo que con lo q he explicado se entiende la idea del fallo).
No se si hay algo que se me escapa que tenga que actualizar o borrar o algo ya que el error dice que hay una variable no valida y la ecuacion es:
--------------------------------------------------------------------------------------------------------------------------------------------------------------
[xx,yy]=solve(sqrt((AA(k,1)-x)^2 +(AA(k,2))^2 ) + alpha*(y-x) + sqrt((AA(kk,1)-y)^2 +(AA(kk,2))^2 ) == D(k,kk),...
sqrt((AA(i,1)-x)^2 +(AA(i,2))^2 ) + alpha*(y-x) + sqrt((AA(ii,1)-y)^2 +(AA(ii,2))^2 ) == D(i,ii),'Real',true);
--------------------------------------------------------------------------------------------------------------------------------------------------------------
siendo todo dato salvo x e y que son las simbolicas.
Muchas gracias.
Cualquier ayuda es bienvenida.
Me aparece este error:
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Error using mupadengine/feval (line 157)
MuPAD error: Error: Invalid variable to solve for. [solve]
Error in solve (line 172)
sol = eng.feval('symobj::solvefull',eqns,vars,options);
--------------------------------------------------------------------------------------------------------------------------------------------------------------
El problema se da al resolver con solve una ecuacion con dos incognitas previamente definidas simbolicas.
Este solve está dentro de la que llamaremos funcion "1". Hay una función "2" la cual tiene un bucle for. En cada iteración del for se llama a la función"1" correctamente. En la primera iteracion no da error y resuelve todo bien, pero el problema aparece en la siguiente iteracion del for ya que salta y aparece el error mostrado arriba en la linea del solve.
(se que se suele poner el codigo pero creo que con lo q he explicado se entiende la idea del fallo).
No se si hay algo que se me escapa que tenga que actualizar o borrar o algo ya que el error dice que hay una variable no valida y la ecuacion es:
--------------------------------------------------------------------------------------------------------------------------------------------------------------
[xx,yy]=solve(sqrt((AA(k,1)-x)^2 +(AA(k,2))^2 ) + alpha*(y-x) + sqrt((AA(kk,1)-y)^2 +(AA(kk,2))^2 ) == D(k,kk),...
sqrt((AA(i,1)-x)^2 +(AA(i,2))^2 ) + alpha*(y-x) + sqrt((AA(ii,1)-y)^2 +(AA(ii,2))^2 ) == D(i,ii),'Real',true);
--------------------------------------------------------------------------------------------------------------------------------------------------------------
siendo todo dato salvo x e y que son las simbolicas.
Muchas gracias.
Cualquier ayuda es bienvenida.
Valora esta pregunta
0