Matlab - Sistema de ecuaciones trigonométricas

 
Vista:

Sistema de ecuaciones trigonométricas

Publicado por Ainhoa (2 intervenciones) el 12/12/2019 16:52:50
Hola,
Estoy intentando resolver el siguiente sistema de ecuaciones trigonométricas en Matlab:

1
2
A*cos(x1)+B*cos(x2)+C*cos(x3)=D
A*sin(x1)-B*sin(x2)+C*sin(x3)=E

Los valores A, B, C, D y E son conocidos y constantes y la idea es ir dándole valores a x3 y obtener un valor de x1 y x2 para cada valor de x3,es decir resolverlo numéricamente y no analíticamente. Para ello x3 se ha definido así:

1
x3=(0.175:0.01:0.73);

Sin embargo, no se que comando utilizar para obtener los valores de x1 y x2. Si alguien sabe como obtener estas soluciones sería de gran ayuda.

Gracias,
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
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Sistema de ecuaciones trigonométricas

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 12/12/2019 22:51:07
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
clear
format short
A=rand;
B=rand;
C=rand;
D=rand;
E=rand;
x3=0.175:0.1:0.73;
syms x1 x2 real
for i=1:length(x3)
ec1=A*cos(x1)+B*cos(x2)+C*cos(x3(i))==D;
ec2=A*sin(x1)-B*sin(x2)+C*sin(x3(i))==E;
R(:,i)=double(vpa(struct2cell(solve([ec1, ec2],[x1 x2]))));
end
R

1
2
3
4
5
6
>> sistema_trigonometrica
R =
    1.8290    2.0907    2.3514    2.5980    2.8245    3.0303
   -1.5073   -1.2570   -1.0335   -0.8436   -0.6868   -0.5586
    1.7446    1.4902    1.2541    1.0465    0.8705    0.7237
   -2.0663   -2.3240   -2.5720   -2.8009   -3.0082    3.0878


Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab
Servicio de Asesoría Online en Matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
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

Sistema de ecuaciones trigonométricas

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 12/12/2019 23:43:59
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
clear
format short
A=rand;
B=rand;
C=rand;
D=rand;
E=rand;
x3=0.175:0.1:0.73;
syms x1 x2 real
k=1;
x1_x2_x3=[];
for i=1:length(x3)
ec1=A*cos(x1)+B*cos(x2)+C*cos(x3(i))==D;
ec2=A*sin(x1)-B*sin(x2)+C*sin(x3(i))==E;
U=double(vpa(struct2cell(solve([ec1, ec2],[x1 x2]))));
 
if ~isempty(U)
    x1_x2_x3(k,:)=[U(1,1) U(3,1) x3(i)];
    x1_x2_x3(k+1,:)=[U(2,1) U(4,1) x3(i)];
    k=k+2;
end
end
x1_x2_x3

1
2
3
4
5
6
7
8
9
10
11
12
>> sistema_trigonometrica
x1_x2_x3 =
    2.5051   -2.0000    0.1750
    2.3401   -2.8452    0.1750
    2.6484   -1.4876    0.2750
    2.3105    2.8120    0.2750
    2.7375   -1.1106    0.3750
    2.3372    2.3191    0.3750
    2.7892   -0.7126    0.4750
    2.4046    1.8020    0.4750
    2.7728   -0.1213    0.5750
    2.5440    1.0876    0.5750
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

Sistema de ecuaciones trigonométricas

Publicado por Ainhoa (2 intervenciones) el 13/12/2019 08:36:30
Muchas gracias por tu respuesta,
Tendría otra duda, que pasaría en caso de que D no fuese una constante sino que su valor se fuese incrementando también con el valor de x3 ,es decir, que fuese algo así:

D=2F*cos(x4)

siendo F constante y x4 lo siguiente:

x4=acos((A*cos(x3)-d)/(B/2))



Muchas gracias por tu ayuda de nuevo .)
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

Sistema de ecuaciones trigonométricas

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 16/12/2019 10:26:46
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
clear
format short
A=rand;
B=rand;
C=rand;
F=rand;
E=rand;
d=rand;
x3=0.175:0.1:0.73;
syms x1 x2 real
k=1;
x1_x2_x3=[];
for i=1:length(x3)
x4=acos((A*cos(x3(i))-d)/(B/2));
D=2*F*cos(x4);
ec1=A*cos(x1)+B*cos(x2)+C*cos(x3(i))==D;
ec2=A*sin(x1)-B*sin(x2)+C*sin(x3(i))==E;
U=double(vpa(struct2cell(solve([ec1, ec2],[x1 x2]))));
 
if ~isempty(U)
    x1_x2_x3(k,:)=[U(1,1) U(3,1) x3(i)];
    x1_x2_x3(k+1,:)=[U(2,1) U(4,1) x3(i)];
    k=k+2;
end
end
x1_x2_x3

1
2
3
4
5
6
7
8
9
10
11
12
>> sistema_trigonometrica1
x1_x2_x3 =
    2.5051   -2.0000    0.1750
    2.3401   -2.8452    0.1750
    2.6484   -1.4876    0.2750
    2.3105    2.8120    0.2750
    2.7375   -1.1106    0.3750
    2.3372    2.3191    0.3750
    2.7892   -0.7126    0.4750
    2.4046    1.8020    0.4750
    2.7728   -0.1213    0.5750
    2.5440    1.0876    0.5750


Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab
Servicio de Asesoría Online en Matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
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