Matlab - valor de x en una func trigonometrica

 
Vista:

valor de x en una func trigonometrica

Publicado por andres (7 intervenciones) el 20/11/2013 18:22:43
0=sin(x+y-z)-sin(y-z)*exp(-x/tan(z))

los valores de y & z los conozco necesito despejar el posible valor de x
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 Jorge
Val: 30
Ha disminuido su posición en 12 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

valor de x en una func trigonometrica

Publicado por Jorge (213 intervenciones) el 20/11/2013 20:23:51
Hola Andrés...

Para resolverlo de manera simbólica tendrías que hacer lo siguiente:

1
2
syms x y z
sol=solve(sin(x+y-z)-sin(y-z)*exp(-x/tan(z)), x)

Pero es muy posible que MATLAB no te devuelva un resultado satisfactorio como lo haría otros paquetes de cálculo simbólico como Maple.

De manera que, si conoces los valores numéricos de y & z puedes hacer lo siguiente por ejemplo:

1
2
3
4
5
y=0.1;
z=0.2;
x0=0;
funx=@(x) sin(x+y-z)-sin(y-z)*exp(-x/tan(z));
sol=fzero(funx, x0);

Y con ello obtendrías la solución, puedes cambiar el valor de x0 para restringir la búsqueda de la raíz en un intervalo o a partir de un número específico.

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

valor de x en una func trigonometrica

Publicado por Andrés (7 intervenciones) el 20/11/2013 21:52:00
Muchas gracias jorge
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
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

valor de x en una func trigonometrica

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 24/11/2013 10:43:55
1
2
3
4
5
6
7
8
9
10
11
12
function fsolvecaballero2(y,z)
if nargin <1
    y = 0.1;% define parameter first
    z=0.5;
end
x = fsolve(@(x) myfun1(x,y,z),[-5;-5],optimset('Display','off'));
G = myfun1(x(1),y,z);
fprintf('x=%13.10f\n',x(1))
fprintf('G=%13.10f\n',G)
 
 function G = myfun1(x,y,z)
G=sin(x+y-z)-sin(y-z)*exp(-x/tan(z));


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
>> fsolvecaballero2
x=-0.2139399814
G= 0.0000003657
 
>> fsolvecaballero2(0.5,0.5)
x=-6.2831853072
G=-0.0000000000
 
>> fsolvecaballero2(2,0.5)
x=-0.0000000011
G=-0.0000000020
 
>> fsolvecaballero2(2,7)
x=-0.0000000000
G=-0.0000000000
 
>> fsolvecaballero2(-3,7)
x=-0.3004574537
G=-0.0000041354
 
>> fsolvecaballero2(-3,-2)
x=-0.2895928978
G= 0.0000006245
 
>> fsolvecaballero2(-0.1,-0.2)
x=-6.3831853073
G=-0.0000000001



Saludos.
JOSE JEREMÍAS CABALLERO
Asesorías en Matlab
programador en matlab
Servicios de programación matlab
[email protected]


http://matlabcaballero.blogspot.com


http://www.lawebdelprogramador.com/foros/Matlab/1371532-FORMA_DE_APRENDER_MATLAB.html
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