Matlab - Ayuda

   
Vista:

Ayuda

Publicado por Novato1 (2 intervenciones) el 10/11/2015 18:57:09
Hola estimados programadores , acudo a uds con el siguiente problema
el programa es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
syms y
  Q=80;
  b=5;
  z=1;
 
%Trapezoidal
T=b + 2*z*y;
A=y*(b + z*y);
 
fr=Q^2*T/(9.81*A^3)-1;
 
[yc]=solve(fr,y)
n=length(yc);
 for i=1:n
   if yc(i) >= 0
      yc=yc(i);
   end
 end

Del vector Yc solo necesito extraer la solucion positiva por lo que planteo el if correspondiente, pero este me tira el siguiente error :

1
2
3
4
5
6
7
8
??? Error using ==> sym.sym>notimplemented at 2514
Function 'ge' is not implemented for MuPAD symbolic objects.
 
Error in ==> sym.sym>sym.ge at 814
            notimplemented('ge');
 
Error in ==> Tarea_hidraulica at 15
   if yc(i) >= 0

No se que más hacer , he agotado mis recursos .

Agradezco su ayuda.
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
Imágen de perfil de Royeth

Ayuda

Publicado por Royeth jesus.royeth@gmail.com (749 intervenciones) el 10/11/2015 19:39:25
esta es una forma más práctica y además no estás teniendo en cuenta que si el solve te da un imaginario con parte real positiva esta también haría parte de tu solución entonces lo mejor es hacer esto :


1
2
3
4
5
6
7
8
9
10
syms y
Q=80;
b=5;
z=1;
%Trapezoidal
T=b + 2*z*y;
A=y*(b + z*y);
fr=Q^2*T/(9.81*A^3)-1;
[yc]=eval(solve(fr,y));
yc=yc(and(yc>=0,imag(yc)==0));


y con esto tienes tu(s) solucion(es) positiva(s) y real(es)


saludos
https://www.facebook.com/royethmatlab/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

Ayuda

Publicado por Novato1 (2 intervenciones) el 10/11/2015 22:43:07
EStimado muchas gracias , funciona de maravilla
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