Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Guía 1 MatLab - Sistemas Lineales PDF
Guía 1 MatLab - Sistemas Lineales PDF
LABORATORIO DE PROGRAMACIÓN
MATLAB
CONCEPTOS BÁSICOS Y SISTEMAS LINEALES
GUÍA 1
Teoría - Mg (c) Ingeniero Civil Mecánico – Marcelo Gallardo Maluenda
MATLAB
1. Variables
1.1 Escalares
1.1.1 Asignación
Asignación: Con el caracter “=” se designa un valor a una variable. Luego oprimir enter, la
ventana de comando muestra su valor. Esto se lee “a r se le asigna el valor 5”.
>> r=5
r=
5
Al contrario, si luego de asignar valor a la variable se digita “;”, entonces no se muestra
su valor.
>> r=5;
>>
Otra manera de asignar un valor a una variable, es por medio de otras. Por ejemplo
>> r=5;,h=10;
>> x=r+h
x=
15
El operador asignación es muy distinto a una igualdad. Considerando el enunciado
>> x=x-5
x=
10
Obviamente, x no es igual a x-5, pero lo anterior se entiende como “se sustituye el
valor actual de x por su valor antiguo menos 5”.
Cuando se realiza una operación y ésta no es asignada a una variable, por defecto se
crea una variable llamada “ans” que almacena el valor de la operación realizada. Si se realizan
varias operaciones sin asignación a variables, entonces ans toma el valor de la última
operación.
>> 4/3
ans =
1.3333
>> 4/3+1
ans =
2.3333
Ejemplo
Cálculo del manto de un cilindro
>> r=5;
>> h=10;
>> A=2*pi*r^2+2*pi*r*h
A=
471.2389
En este ejemplo, MATLAB realiza las operaciones algebraicas en el siguiente orden:
1) Exponenciación: r^2
2) Primer producto: 2*pi*r^2
3) Segundo producto: 2*pi*r*h
4) Suma: 2*pi*r^2+2*pi*r*h
Ejercicio
Calcule manualmente las siguientes operaciones y luego verifique sus resultados en
MATLAB. Primero realice las operaciones sin asignación por orden de prioridad para cada
término y luego por medio de asignaciones de cada término a una variable, incluyendo el
resultado.
Ejemplo
7 7
+ 5 =? ⇒ 𝑎 = ∧ 𝑏 = 5 ⇒ 𝑐 = 𝑎 + 𝑏 =?
6 6
>> 7/6
ans =
1.1667
>> 7/6+5
ans =
6.1667
>> a=7/6
a=
1.1667
>> b=5
b=
5
>> c=a+b
c=
6.1667
Programar
1) 2 × 63 ⇒ 𝑎 = 2 ∧ 𝑏 = 6 ∧ 𝑐 = 3 ⇒ 𝑑 = 𝑎 × 𝑏 𝑐
2) (3 + 5) × 2 ⇒ 𝑎 = 3 ∧ 𝑏 = 5 ∧ 𝑐 = 2 ⇒ 𝑑 = (𝑎 + 𝑏) × 𝑐
3 𝑏
3) 4 × 2 × 5 ⇒ 𝑎 = 4 ∧ 𝑏 = 3 ∧ 𝑐 = 2 ∧ 𝑑 = 5 ⇒ 𝑒 = 𝑎 × 𝑐 × 𝑑
5+7 𝑎+𝑏
4) 2×3
⇒ 𝑎=5 ∧ 𝑏=7 ∧ 𝑐=2 ∧ 𝑑=3 ⇒ 𝑒= 𝑐×𝑑
5+7 𝑎+𝑏
5) ( )× 3 ⇒ 𝑎=5 ∧ 𝑏=7 ∧ 𝑐=2 ∧ 𝑑=3 ⇒ 𝑒=( )×𝑑
2 𝑐
(5+7) ×2 (𝑎+𝑏) ×𝑐
6) 3
⇒ 𝑎=5 ∧ 𝑏=7 ∧ 𝑐=2 ∧ 𝑑=3 ⇒ 𝑒= 𝑑
1.2.1 Vectores
1.2.2 Matrices
d) Matriz mágica: Matriz tal que la suma de las filas, columnas y diagonales son iguales.
>> M=magic(3)
M=
8 1 6
3 5 7
4 9 2
b) Determinante
>> C=diag(E)
C=
1 0 0 0 0
0 2 0 0 0
0 0 3 0 0
0 0 0 4 0
0 0 0 0 5
>> d=det(C)
d=
120
c) Matriz inversa
>> Cinv=inv(C)
Cinv =
1.0000 0 0 0
0 0.5000 0 0
0 0 0.3333 0
0 0 0 0.2500
2. Aplicaciones de SEL en ingeniería
Solución
Desarrollando el diagrama de cuerpo libre por cada nodo, tenemos
Nodo 1
√3
−( ) 𝐹1 + 0,5𝐹3 + 0 = 0
2
−0,866𝐹1 + 0,5𝐹3 = 0
√3
−0,5𝐹1 − ( ) 𝐹3 − 1000 = 0
2
Nodo 2
∑ 𝐹ℎ : 𝐹2 + 𝐹1 cos(30°) + 𝐹2,ℎ + 𝐻2 = 0
√3
𝐹2 + 𝐹1 ( ) + 0 + 𝐻2 = 0
2
0,866𝐹1 + 𝐹2 + 𝐻2 = 0
∑ 𝐹𝑣 : 𝐹1 sin(30°) + 𝐹2,𝑣 + 𝑉2 = 0
0,5𝐹1 + 0 + 𝑉2 = 0
0,5𝐹1 + 𝑉2 = 0
Nodo 3
∑ 𝐹ℎ : − 𝐹2 − 𝐹3 cos(60°) + 𝐹3,ℎ = 0
−𝐹2 − 0,5𝐹3 + 0 = 0
𝐹2 + 0,5𝐹3 = 0
∑ 𝐹𝑣 : 𝐹3 sin(60°) + 𝐹3,𝑣 + 𝑉3 = 0
√3
( ) 𝐹3 + 0 + 𝑉3 = 0
2
0,866𝐹3 + 𝑉3 = 0
−0,866 0 0,5 0 0 0 𝐹1 0
0,5 0 0,866 0 0 0 𝐹2 1000
0,866 1 0 1 0 0 𝐹3 0
0 = ⇒ 𝐴𝑥 = 𝑏
0,5 0 0 1 0 𝐻2 0
0 1 0,5 0 0 0 𝑉2 0
( 0 0 0,866 0 0 1) ( 𝑉3 ) ( 0 )
En MATLAB
>> A1j=[-0.866,0,0.5,0,0,0];
>> A2j=[0.5,0,0.866,0,0,0];
>> A3j=[0.866,1,0,1,0,0];
>> A4j=[0.5,0,0,0,1,0];
>> A5j=[0,1,0.5,0,0,0];
>> A6j=[0,0,0.866,0,0,1];
>> A=[A1j;A2j;A3j;A4j;A5j;A6j]
A=
-0.8660 0 0.5000 0 0 0
0.5000 0 0.8660 0 0 0
0.8660 1.0000 0 1.0000 0 0
0.5000 0 0 0 1.0000 0
0 1.0000 0.5000 0 0 0
0 0 0.8660 0 0 1.0000
>> B=[0,1000,0,0,0,0]'
B=
0
1000
0
0
0
0
>> Ainv=inv(A)
Ainv =
-0.8660 0.5000 0 0 0 0
-0.2500 -0.4330 0 0 1.0000 0
0.5000 0.8660 0 0 0 0
1.0000 0.0000 1.0000 0 -1.0000 0
0.4330 -0.2500 0 1.0000 0 0
-0.4330 -0.7500 0 0 0 1.0000
>> X=Ainv*B
X=
500.0220
-433.0191
866.0381
0.0000
-250.0110
-749.9890
Asignamos cada coeficiente del vector de incógnitas X a las variables que corresponda.
Observando la solución del SEL, claramente está con signo cambiado respecto a los valores
esperados, por ejemplo esto se puede notar al revisar los resultados de las fuerzas verticales
en los apoyos de la estructura. Lo anterior se deriva de la convención de signos para los
sentidos de las direcciones x e y al imponer las fuerzas en el diagrama de cuerpo libre de cada
nodo. Por lo tanto, la solución del problema para las incógnitas fuerzas en libras (lb) es:
>> F1=-X(1)
F1 =
-500.0220
>> F2=-X(2)
F2 =
433.0191
>> F3=-X(3)
F3 =
-866.0381
>> H2=-X(4)
H2 =
-4.8075e-014
>> V2=-X(5)
V2 =
250.0110
>> V3=-X(6)
V3 =
749.9890
Además, otra opción es utilizar un el comando linsolve para resolver el SEL, que toma
como entradas solo la matriz A y B.
>> X=linsolve(A,B)
X=
500.0220
-433.0191
866.0381
0.0000
-250.0110
-749.9890