Matlab - Favor ayuda con meshgrid

 
Vista:

Favor ayuda con meshgrid

Publicado por Dagor (3 intervenciones) el 07/12/2009 13:22:37
Hola estimados,

Me estoy cabeceando con un grafico que debo hacer desde hace 1 semana y todavía no puedo arreglarlo. Les mando mi codigo:

c_pila=3;
lambda_u=0.057:0.005:0.087;
lambda_d=0.091:0.005:0.121;
lambda_p=0.7;
mu_u=0.77:0.005:0.8;
mu_d=0.52:0.005:0.55;
alpha=(1/lambda_p)*(lambda_d.*mu_u-lambda_u.*mu_d).*((1./(lambda_u+lambda_d))+(1./(mu_u+mu_d)));
k=exp(alpha*c_pila);
k2=(lambda_u+lambda_d)./(lambda_u.*lambda_d);
rho1=[0.53 0.55 0.59 0.71 0.73 0.75 0.77];
rho2=[0.89 0.90 0.92 0.93 0.94 0.95 0.97];
d1=lambda_u./mu_u;
d2=lambda_d./mu_d;
[D1,D2]=meshgrid(d1,d2)
ETA=1./(1+(rho1*D1+rho2*D2));
surface(D1, D2, ETA);
xlabel('x1'); ylabel('y2'); zlabel('z3');
view(3);

Y cuando quiero graficar me arroja el error:
??? Error using ==> surface
Matrix dimensions must agree.

Error in ==> Untitled33 at 16
surface(D1, D2, ETA);

Les comento que cuando lo corro en la ventana de comandos (sin graficarlo), funciona sin ningun problema y me calcula los ETA (claro que cambio la formula de ETA, usando los vectores "d" en vez de los "D" del comando meshgrid). El problema está cuando lo quiero graficar.

También intenté graficar usando rho1 y rho 2 como escalares (valores únicos, no vectores) y sí funciona. Pero no es lo que necesito, porque así me da un plano. Lo que espero es una superficie curva (cóncava posiblemente) y requiero que los rho sean los vectores mostrados.

Soy nuevo en este foro, pero FAVOR les pido que me ayuden. Le he dado 20 mil vueltas y simplemente no puedo solucionarlo. Hasta me ha dolido la cabeza tratando de arreglarlo.
De antemano, muchísimas gracias.
Saludos.
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:Favor ayuda con meshgrid

Publicado por fismat (391 intervenciones) el 07/12/2009 14:42:40
Hola Dagor,

Tu problema esta relacionado con el tamanho de matrices, puedes verificar el tamanho de las matrices que vas a graficar, te sugiero que ejcutes "whos" en la ventana de comandos de Matlab y veas las dimensiones de las variables.

Saludos
Fismat
[email protected]
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:Favor ayuda con meshgrid

Publicado por Dagor (3 intervenciones) el 07/12/2009 22:04:55
Hola,
Muchas gracias por tu respuesta. Del mensaje de error deducí algo así, pero cambiando los rho por meshgrid(rho) para que los vectores pasen de 1x7 a matrices de 7x7, el gráfico me resulta pero me da valores poco razonables (a medida que aumenta D, el valor ETA debiera bajar y produce una curva en forma de U en vez de eso)... seguiré intentando. Si tienes un consejo para hacerlo (quizás meshgrid para pasar los rho a matrices no es lo mejor) de otra forma te lo agradecería.
Saludos.
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:Favor ayuda con meshgrid

Publicado por Dagor (3 intervenciones) el 07/12/2009 22:11:39
Con el comentario de la curva en forma de U, me refería a esta formula que estoy calculando:
ETA_DIG=((D2.*meshgrid(k))-D1)./(((D2.*(1+D2)).*meshgrid(k))-(D1.*(1+D1)))
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:Favor ayuda con meshgrid

Publicado por fismat (391 intervenciones) el 08/12/2009 14:12:32
Hola Dagor,

Vamos al corazon:

De lo que comentas en el mensaje anterior, llego a comprender que deseas calcular un perfil de velocidad en funcion de la profundidad, si es asi, deberias trabajar con las dos componentes es decir con modulo de velocidad (z), eso te dara mejores resultados.
Respecto a la formula, quizas podrias enviar un link donde se vea la formula en su expresion original, tendrias mayor chance.

Saludos
Fismat

Ps: Son datos de experimentos numericos de circulacion?
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