Matlab - Sustituir todos los símbolos de una expresión por su valores numérico sin subs

 
Vista:
sin imagen de perfil

Sustituir todos los símbolos de una expresión por su valores numérico sin subs

Publicado por Francisco Javier (1 intervención) el 06/05/2017 19:43:45
Hola a todos,

Tengo el siguiente código:

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
%%%%%%DATOS%%%%%%
Q=4;    %Kp/m
L14=5;  %m
L12=3.5;   %m
L25=5;  %kN
L23=3.5;  %kN
E=2E5;     %kp/m    
 
%%%%%%INCIALIZAR%%%%%%
syms O1 O2 I1 I2 I3 E L14 L12 L25 L23;
I1=67500;   %cm^4
I2=40000/3;   %cm^4
I3=112500;   %cm^4
 
%%%%%%ECUACIONES%%%%%%
 
M14=[4*E*I3/L14             0 ];
M12=[4*E*I2/L12             2*E*I2/L12];
M21=[2*E*I2/L12             4*E*I2/L12];
M25=[0                      4*E*I3/L25];
M23=[0                      4*E*I1/L23];
 
 
P=[M14+M12; M21+M25+M23];
D=[-Q*L14^2/12; -Q*L25^2/12];
IND=[0;0];
RES=P\D


El resultado es una matriz de símbolos, pero me gustaría poder ver tanto el resultado simbólico como posteriormente sustituir todos los símbolos por sus valores y que me de un resultado numérico.

¿Es posible esto porque me está costando encontrarle solución?
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

Sustituir todos los símbolos de una expresión por su valores numérico sin subs

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 10/10/2018 17:08:07
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
28
29
30
clear all
%%%%%%DATOS%%%%%%
 Q=4;    %Kp/m
% L14=5;  %m
% L12=3.5;   %m
% L25=5;  %kN
% L23=3.5;  %kN
% E=2E5;     %kp/m    
%  
%%%%%%INCIALIZAR%%%%%%
syms O1 O2 I1 I2 I3 E L14 L12 L25 L23;
I1=67500;   %cm^4
I2=40000/3;   %cm^4
I3=112500;   %cm^4
 
%%%%%%ECUACIONES%%%%%%
 
M14=[4*E*I3/L14             0 ];
M12=[4*E*I2/L12             2*E*I2/L12];
M21=[2*E*I2/L12             4*E*I2/L12];
M25=[0                      4*E*I3/L25];
M23=[0                      4*E*I1/L23];
 
 
P=[M14+M12; M21+M25+M23];
D=[-Q*L14^2/12; -Q*L25^2/12];
IND=[0;0];
RES=P\D
Res=inline(RES)
%res=subs(RES,{E,L12,L14,L23,L25},{1 2 3 4 5})


1
2
3
4
5
6
7
8
9
10
11
12
13
14
>> symbolicos
 RES =
  -(L12*L14*(135*L12*L14^2*L23 - 8*L23*L25^3 + 81*L12*L14^2*L25 + 16*L14^2*L23*L25))/(30000*E*(6075*L12^2*L23 + 3645*L12^2*L25 + 720*L12*L14*L23 + 432*L12*L14*L25 + 720*L12*L23*L25 + 64*L14*L23*L25))
                          -(L12*L23*L25*(- 8*L14^3 + 16*L14*L25^2 + 135*L12*L25^2))/(30000*E*(6075*L12^2*L23 + 3645*L12^2*L25 + 720*L12*L14*L23 + 432*L12*L14*L25 + 720*L12*L23*L25 + 64*L14*L23*L25))
 
Res =
     Inline function:
     Res(E,L12,L14,L23,L25) = [(L12.*L14.*(L23.*L25.^3.*-8.0+L12.*L14.^2.*L23.*1.35e2+L12.*L14.^2.*L25.*8.1e1+L14.^2.*L23.*L25.*1.6e1).*(-3.333333333333333e-5))./(E.*(L12.^2.*L23.*6.075e3+L12.^2.*L25.*3.645e3+L12.*L14.*L23.*7.2e2+L12.*L14.*L25.*4.32e2+L12.*L23.*L25.*7.2e2+L14.*L23.*L25.*6.4e1));(L12.*L23.*L25.*(L12.*L25.^2.*1.35e2+L14.*L25.^2.*1.6e1-L14.^3.*8.0).*(-3.333333333333333e-5))./(E.*(L12.^2.*L23.*6.075e3+L12.^2.*L25.*3.645e3+L12.*L14.*L23.*7.2e2+L12.*L14.*L25.*4.32e2+L12.*L23.*L25.*7.2e2+L14.*L23.*L25.*6.4e1))]
 
>> Res(1,2,3,4,5)
ans =
   1.0e-04 *
   -0.1364
   -0.4426


Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación 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