Matlab - grafico 3d en dos variables

   
Vista:

grafico 3d en dos variables

Publicado por Melisandre (7 intervenciones) el 02/06/2011 19:34:21
Hola a todos:

estoy intentando dibujar una funcion de dos variables en matlab, a ser posible en tres dimensiones, el problema es que la variable x de la funcion no la puedo despejar en funcion de los otros valores (chi y theta1).
esta es la funcion en cuestion

syms x

f = ((1/(2*x))*(1+x^2-((1-x^2)/(1-x+2*x*chi))^2)-cos(theta1));

a ver si alguien me puede ayudar

muchas gracias por adelantado
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 JOSE JEREMIAS CABALLERO

grafico 3d en dos variables

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3433 intervenciones) el 02/06/2011 20:14:28
HOla Melisandre.

1).variable independiente x; variable dependiente y=f(x), se grafica los puntos (x,y) en 2D
2).variables independientes x , y; variable dependiente z=f(x,y), se grafica los puntos (x,y,z) en 3D

En conclusion mejora tu pregunta.

Saludos.
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR EN MATLAB
jjcc94@hotmail.com
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

grafico 3d en dos variables

Publicado por Melisandre (7 intervenciones) el 02/06/2011 21:17:20
Hola, te explico

la variable dependiente es x, es decir tendria x=x(chi, theta1), es decir, opcion numero 2

muchas gracias por tu atención!
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
Imágen de perfil de JOSE JEREMIAS CABALLERO

grafico 3d en dos variables

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3433 intervenciones) el 02/06/2011 21:59:00
HOLA Melisandre.

¿en que intervalo varia chi?
¿en que intervalo varia theta1?.

Saludos.
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR EN MATLAB
jjcc94@hotmail.com
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

grafico 3d en dos variables

Publicado por Melisandre (7 intervenciones) el 02/06/2011 22:24:19
Cierto!! lo siento, es que le llevo dando vueltas a la función tanto rato que ya se me olvida anotar detalles como ese

pues chi varia entre 0 y 1, y theta1 entre 0 y pi radianes

no se si algo más hace falta

muchisimas gracias otra vez
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
Imágen de perfil de JOSE JEREMIAS CABALLERO

grafico 3d en dos variables

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3433 intervenciones) el 02/06/2011 22:26:14
HOLA MELISANDRE.

%====================================
clear,clc
syms x chi theta1
f1=((1/(2*x))*(1+x^2-((1-x^2)/(1-x+2*x*chi))^2)-cos(theta1));
f2=solve(f1,'x');
f3=inline(f2(1),'chi','theta1');
Chi=2:0.2:10;
Theta1=2:0.2:10;
[CHI,THETA1]=meshgrid(Chi,Theta1);
X=real(f3(CHI,THETA1));
figure(gcf);
surf(CHI,THETA1,X);
view(-82,30)
xlabel('EJE X')
ylabel('EJE Y')
zlabel('EJE Z')
%=================================


Saludos.
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR EN MATLAB
jjcc94@hotmail.com
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

grafico 3d en dos variables

Publicado por Melisandre (7 intervenciones) el 02/06/2011 23:44:03
Hola Jose

estoy probando el codigo que me acabas de poner, pero me sigue dando errores, he cambiado algunas cosas para ver si asi me lo ejecutaba, pero nada, te pongo lo que he cambiado yo, porque algunas cosas aparecen en mayusculas, y lo he pasado a minusculas

clear,clc
syms x chi theta1
f1=((1/(2*x))*(1+x^2-((1-x^2)/(1-x+2*x*chi))^2)-cos(theta1));
f2=solve(f1,'x');
f3=inline(f2(f1),'chi','theta1');
chi=2:0.2:10;
theta1=2:0.2:10;
[CHI,THETA1]=meshgrid(chi,theta1);
X=real(f3(CHI,THETA1));
figure(gcf);
surf(CHI,THETA1,X);
view(-82,30)
xlabel('EJE X')
ylabel('EJE Y')
zlabel('EJE Z')

y me aparece esto en la command window

??? Error using ==> subsindex
Function 'subsindex' is not defined for values of class 'sym'.

Error in ==> grafica3d at 7
f3=inline(f2(f1),'chi','theta1');


la verdad es que ya llevo hoy bastante tiempo con el ordenador liada, y es bastante probable que no coordinen bien mis neuronas

muchisimas gracias por tu ayuda
un saludo
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
Imágen de perfil de JOSE JEREMIAS CABALLERO

grafico 3d en dos variables

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3433 intervenciones) el 03/06/2011 05:29:43
Hola Melisandre.

Antes de poner un programa el foro , lo ejecuto varias veces, para ver que todo este correcto, despues de que todo este ok. Lo pongo al foro. Por lo tanto debe ejecutarse.
Los cambios que haz hecho son innecesarios. Al hacer los cambios, haz hecho que el falle el programa, en pocas palabras tus cambios estan mal.


Los posibles problemas serian.
1). Derepente no estas ejecutando como debe ser.
2). Tu version de matlab, derepente es demasiado antiguo y hay comandos que yo utilizo y el matlab que utilizas no soporta (Utilizo MATLAB R2011a)

Saludos.
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR EN MATLAB
jjcc94@hotmail.com
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

grafico 3d en dos variables

Publicado por Melisandre (7 intervenciones) el 05/06/2011 11:12:33
Muchas gracias otra vez!

pues no se me habia ocurrido pensar que podia ser por la version, porque en mi ordenador personal trabajo con la version 7, y en el trabajo con la version del 2009
siento no haber contestado antes, pero he estado viendo a mi familia
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