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.
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
0