You are on page 1of 28

Programacin

Construccin de arreglos

CAPTULO 3. OPERACIONES MATEMTICAS CON ARREGLOS


Objetivo: Usar las diferentes formas que existen para realizar operaciones bsicas con arreglos en forma estndar o elemento por elemento.

Las operaciones con arreglos se pueden realizar en la forma elemental con los operadores aritmticos *, /, +, - y ^, siguiendo las reglas de lgebra lineal o haciendo los clculos elemento por elemento mediante los operadores especiales con que cuenta Matlab. La Tabla 3.1 muestra algunos comandos para operar con matrices.
Tabla 3.1 Comandos para operar matrices

Funcin A inv(A) det(A) rank(A) tril(A) triu(A) eye(A) cross(x,y) dot(x,y) sum(A) prod(A) eig(A)

Descripcin Calcula la matriz transpuesta de A Calcula la matriz inversa de A Calcula el determinante de la matriz (A) Calcula el rango de la matriz A Devuelve la parte triangular inferior de la matriz A Devuelve la parte triangular superior de la matriz A Crea la matriz identidad. Calcula el producto cruz (producto vectorial) de dos vectores Calcula el producto escalar (producto punto) de dos vectores Suma los elementos en el vector A suma los elementos en cada columna de la matriz A. Multiplica los elementos del vector A multiplica los elementos en cada columna de la matriz A. Calcula los valores caractersticos de la matriz cuadrada A.

Ing. Luis Lorenzo Jimnez Garca

53

Programacin

Construccin de arreglos

3.1 Suma y resta de arreglos


Las operaciones de suma y resta pueden usarse con arreglos del mismo tamao (igual nmero de renglones y columnas). La suma o resta de dos arreglos es obtenida sumando o restando sus elementos correspondientes. Cuando un escalar (nmero real) es sumado o restado de un arreglo, el escalar es sumado o restado de todos los elementos del arreglo.

Ejercicio de prctica 3.1 Realiza las siguientes operaciones con vectores y matrices en la Ventana de Comandos (Las instrucciones estn en color azul). >> % Se crea el vector A >> A = [5 9 12]; >> % Se crea el vector B >> B = [4,7,3]; >> % Se realiza la suma de vectores A y B >> C = A + B C = 9 16 15

>> % Se crea la matriz D >> D = [5 D = 5 9 -3 2 8 10 -3 8; 9 2 10]

>> % Se crea la matriz E >> E = [10 E = 10 -11 7 15 4 1 7 4; -11 15 1]

Ing. Luis Lorenzo Jimnez Garca

54

Programacin

Construccin de arreglos

>> % Suma de matrices >> S = D + E S = 15 -2 4 17 12 11

>> % Resta de matrices >> R = D E R = -5 20 -10 -13 4 9

>> % Resta de un escalar a la matriz S >> S 8 ans = 7 -10 -4 9 4 3

3.2 Multiplicacin con arreglos.


La operacin de multiplicacin es ejecutada por MatLab respetando las reglas del lgebra lineal. Si A y B son dos matrices, la operacin A*B se puede ejecutar si el nmero de columnas en la matriz A es igual al nmero de renglones de la matriz B. El resultado es una matriz que tiene el mismo nmero de renglones de A y el mismo nmero de columnas de B. Por ejemplo, si A es una matriz de 4x3 y B es una matriz 3x2, entonces la matriz resultante es de 4x2. Recuerde que la multiplicacin de matrices no es conmutativa, A*B B*A. Dos vectores se pueden multiplicar solamente si ambos tienen el mismo nmero de elementos y si uno es vector rengln y el otro vector columna, dando como resultado una matriz 1x1, que es un escalar. Si multiplicamos un vector columna con un vector rengln, ambos con n elementos, da una matriz nxn. Cuando se multiplica un arreglo por un escalar, cada elemento del arreglo es multiplicado por dicho escalar.

Ing. Luis Lorenzo Jimnez Garca

55

Programacin

Construccin de arreglos

Ejercicio de prctica 3.2 Realizar las siguientes operaciones de multiplicacin con vectores y matrices en la Ventana de Comandos.

>> % Se crea una matriz A de 4x4 >> A = [1 A = 1 5 9 4 4 7 1 2 2 3 6 8 4 2; 5 7 3; 9 1 6; 4 2 8]

>> % Se crea una matriz B de 3x2 >> B = [6 B = 6 2 7 1 5 3 1; 2 5; 7 3]

>> % Se efecta la multiplicacin de la matriz A y B >> C = A*B C = 28 65 98 84 27 49 32 38

>> % Se comete error porque la multiplicacin no es >> % conmutativa >> D = B*A ??? Error using ==> mtimes Inner matrix dimensions must agree. Ing. Luis Lorenzo Jimnez Garca 56

Programacin

Construccin de arreglos

>> % Se crea una matriz F de 2x2 >> F = [1 F = 1 5 3 7 3; 5 7]

>> % Se crea una matriz G de 2x2 >> G = [4 G = 4 1 2 6 2; 1 6]

>> % Se multiplica F*G >> F*G ans = 7 27 20 52

>> % Se multiplica G*F que es diferente de F*G >> G*F ans = 14 31 26 45 5 1 1; 4] 1]

>> VectorA = [2 VectorA = 2 5

>> VectorB = [3; VectorB = 3

Ing. Luis Lorenzo Jimnez Garca

57

Programacin 1 4 >> % Se multiplican los vectores >> VectorA*VectorB ans = 15 >> % Se multiplican los vectores al revs >> VectorB*VectorA ans = 6 2 8 15 5 20 3 1 4

Construccin de arreglos

>> % Se crea la matriz M >> M = [2 M = 2 10 6 5 1 2 7 3 11 0 4 5 5 7 0; 10 1 3 4; 6 2 11 5]

>> % Se multiplica la matriz M por el escalar 5 >> C = M*5 C = 10 50 30 25 5 10 35 15 55 0 20 25

>> % Da lo mismo si C = 5*M, comprubalo

Ing. Luis Lorenzo Jimnez Garca

58

Programacin

Construccin de arreglos

3.3

Divisin con arreglos

La operacin de divisin est tambin asociada con las reglas de lgebra lineal. Esta operacin es ms compleja y puede ser explicada con ayuda de la matriz identidad y la matriz inversa. Matriz identidad: Es una matriz cuadrada en la cual los elementos de la diagonal principal son unos y el resto de los elementos son ceros. MatLab tiene el comando eye para generar esta matriz. Tambin se cumple que AI = IA = A. Matriz inversa: La matriz B es la inversa de la matriz A si y solo si el producto de ambas da la matriz identidad. Ambas matrices deben ser cuadradas, y el orden de la multiplicacin puede ser A*B B*A. Esto es, B* A = A*B = I. Obviamente B es la inversa de A, y A es la inversa de B. La matriz inversa A se escribe como [A-1]. En MatLab la matriz inversa puede ser obtenida operando A-1 o con la funcin inv(A).

Ejercicio de prctica 3.3 Efectuar las siguientes operaciones con matrices para comprobar los fundamentos anteriores en la Ventana de Comandos.

>> % Se crea la matriz de 3x3 >> A = [ 2 A = 2 4 2 1 1 -1 4 8 3 1 4; 4 1 8; 2 -1 3]

>> % Se calcula la matriz inversa de A y se asigna a B >> B = inv(A) B = 5.5000 2.0000 -3.5000 -1.0000 2.0000 0 59

Ing. Luis Lorenzo Jimnez Garca

Programacin -3.0000 >> B = A^(-1) B = 5.5000 2.0000 -3.0000 -3.5000 -1.0000 2.0000 2.0000 0 -1.0000 2.0000 -1.0000

Construccin de arreglos

>> % Se obtiene la matriz identidad >> Identidad = A*B Identidad = 1 0 0 0 1 0 0 0 1

>> Identidad = B*A Identidad = 1 0 0 0 1 0 0 0 1

>> Identidad = A*A^(-1) Identidad = 1 0 0 0 1 0 0 0 1

Una matriz tiene inversa solamente si es cuadrada y el determinante es diferente de cero.

Determinantes: Un determinante es una funcin que asocia un nmero, llamado el determinante de la matriz a cada matriz cuadrada A. MatLab calcula el determinante de una matriz cuadrada A con el comando det(A). Ing. Luis Lorenzo Jimnez Garca 60

Programacin

Construccin de arreglos

Divisin de Arreglos: MatLab tiene dos tipos de divisin con arreglos, que son divisin derecha y divisin izquierda. La divisin izquierda es usada para resolver la ecuacin matricial AX = B. En esta ecuacin X y B son vectores columna. La solucin analtica es X = [A-1] B y MatLab la calcula por divisin izquierda X = A\B. La divisin izquierda emplea el mtodo de eliminacin de Gauss y se recomienda para resolver sistemas de ecuaciones lineales. La divisin derecha es usada para resolver la ecuacin matricial XC = D. En esta ecuacin X y D son vectores fila. La solucin analtica es X = D [C-1] y MatLab la calcula por divisin derecha X = D/C.

3.4 Operaciones elemento por elemento


En algunas ocasiones se requiere llevar a cabo operaciones elemento a elemento. Algunas operaciones, como la suma y la resta de arreglos ya vistas, son por definicin operaciones elemento a elemento, ya que cuando dos arreglos se suman o se restan, la operacin se ejecuta con los elementos que ocupan la misma posicin en los arreglos. Las operaciones elemento a elemento se pueden realizar nicamente si los tienen el mismo tamao. La Tabla 3.2 muestra la multiplicacin, divisin y exponenciacin de elemento por elemento de dos vectores o matrices cuando son ejecutadas por MatLab. Los operadores aritmticos tienen antepuesto un punto:
Tabla 3.2 Operadores elemento por elemento

Smbolo .* .^

Descripcin Multiplicacin Exponenciacin

Smbolo ./ .\

Descripcin Divisin derecha Divisin izquierda

Ejercicio de prctica 3.4 Evale las siguientes operaciones con vectores, donde A = (2, 5, 6) y B= (2, 3, 5), en la Ventana de Comandos.

Ing. Luis Lorenzo Jimnez Garca

61

Programacin

Construccin de arreglos

>> A = [2, 5, 6]; B = [2, 3, 5]; 1. ( ) ( ) ( ) >> A.*B ans = 4 >> A.^2 2. ans = 4 >> 1./A 3. 25 36 15 30

ans = 0.5000 >> A./B ans = 1.0000 >> A/2 1.6667 1.200 0.2000 0.1667

4.

5.

ans = 1.0000 2.5000 3.0000

Ejercicio de prctica 3.5 Realice las siguientes operaciones con matrices, en la Ventana de Comandos:

>> % Se genera la matriz A >> A = [ 2 A = 2 5 >> B = [ 1 6 8 4 3 4 10; 3 2 7] 6 3; 5 8 4]

>> % Se genera la matriz B

Ing. Luis Lorenzo Jimnez Garca

62

Programacin B = 1 3 4 2 10 7

Construccin de arreglos

>> % Cada elemento de B se eleva al cubo >> B.^3 ans = 1 27 >> A.*B ans = 2 15 24 16 30 28 64 8 1000 343

>> % Multiplicacin elemento por elemento

>> % Divisin elemento por elemento >> C = A./B C = 2.0000 1.6667 >> A*B ??? Error using ==> mtimes Inner matrix dimensions must agree. 1.5000 4.0000 0.3000 0.5714

Las operaciones elemento a elemento son muy tiles para calcular el valor de una funcin pasndole distintos valores de sus argumentos. Para hacer esto slo es necesario definir un vector que contenga las variables independientes, y despus usar el vector en operaciones elemento a elemento para crear un vector en el cual cada elemento se corresponda con el valor de la funcin en cuestin.

Ing. Luis Lorenzo Jimnez Garca

63

Programacin

Construccin de arreglos

Ejercicio de prctica 3.6 Evaluar las siguientes funciones en la Ventana de Comandos: ;

( ) proporcionando valores arbitrarios.

>> % Se crea un vector X de 8 elementos >> X = X = 1 2 3 4 5 6 7 8 >> % Se evala la primera funcin >> Y1 = X.^2 4*X Y1 = -3 -4 -3 0 5 12 21 32 >> % Se crea un vector Z de 8 elementos >> Z = [ 1:2:15 ] Z = 1 3 5 7 9 11 13 15 >> % Se evala la segunda funcin >> Y2 = (Z.^3 + 5*Z)./(4*Z.^2 10) Y2 = -1.0000 2.9241 >> W = 2:2:16 W = 2 4 6 8 10 12 14 16 >> % Se evala la tercera funcin >> y3 = sqrt(W.^3 + sin(W)) Y3 = 1.7057 3.3858 1.8009 3.8718 2.3918 3.9638 2.9982 3.0751 1.6154 3.3964 1.6667 3.8764 2.0323 2.4650 1:1:8

>> % Se crea un vector W de 8 elementos

Ing. Luis Lorenzo Jimnez Garca

64

Programacin

Construccin de arreglos

3.5

Funciones de anlisis de datos con vectores y matrices

3.5.1 Mximos y mnimos

Tabla 3.3 Funciones para operar con mximos y mnimos

Comando

Descripcin Encuentra el valor ms grande en un vector . Crea un vector rengln que contiene el elemento mximo de cada columna de una matriz . Encuentra tanto el valor ms grande de un vector , representado por a y su ubicacin en el vector x representado por b. Crea un vector rengln que contiene el elemento mximo de cada columna de una matriz , representado por a y presenta un vector rengln con la ubicacin del mximo en cada columna de la matriz , representado por b. Crea una matriz del mismo tamao que (Tanto como deben tener el mismo nmero de renglones y columnas). Cada elemento en la matriz resultante contiene el valor mximo de las posiciones correspondientes de . Encuentra el valor ms pequeo en un vector . Crea un vector rengln que contiene el elemento mnimo de cada columna de una matriz . Encuentra tanto el valor ms pequeo en un vector representado por a y su ubicacin en el vector representado por b. Crea un vector rengln que contiene el elemento mnimo de cada columna de una matriz , representado por a y presenta un vector rengln con la ubicacin del mnimo en cada columna de la matriz , representado por b. Crea una matriz del mismo tamao que . (Tanto como deben tener el mismo nmero de renglones y columnas). Cada elemento en la matriz resultante contiene el valor mnimo de las posiciones correspondientes de .

max(x)

[a,b] = max(x)

max(x,y)

min(x)

[a,b] = min(x)

min(x,y)

Ing. Luis Lorenzo Jimnez Garca

65

Programacin

Construccin de arreglos

Ejercicio de prctica 3.7 Considere la siguiente matriz y realice las operaciones indicadas:

4 2 x 3 1

90 55 78 84

85 65 82 92

75 75 79 93

Escribiendo en la ventana de comandos:

>> x =

Se crea la matriz x

>> x = [4,90,85,75;2,55,65,75;3,78,82,79;1,84,92,93] 4 2 3 1 90 55 78 84 85 65 82 92 75 75 79 93

>> % Calcula el valor mximo en cada columna >> max(x) ans = 4 90 92 93 >> % Calcula en qu rengln se encuentran los mximos >> [maximo, renglon] = max(x) maximo = 4 renglon = 1 1 4 4 90 92 93

>> % Calcula el valor mximo en cada rengln Ing. Luis Lorenzo Jimnez Garca 66

Programacin >> max(x') ans = 90 75 82 93

Construccin de arreglos

>> % Calcula en cul columna ocurre el mximo >> [maximo, columna] = max(x') maximo = 90 columna = 2 4 3 4 75 82 93

>> % Calcula el valor mximo de la matriz >> max(max(x)) ans = 93

3.5.2 Sumas, productos y ordenamiento


Tabla 3.4 Funciones para sumas, productos y acomodos

Comando

Descripcin Suma los elementos en el vector . Calcula un vector rengln que contiene la suma de los elementos en cada columna de una matriz . Calcula el producto de los elementos de un vector . Calcula un vector rengln que contiene el producto de los elementos en cada columna de una matriz . Calcula un vector del mismo tamao que un vector y contiene sumas acumuladas de los elementos del mismo. Calcula una matriz que contiene suma acumulada de los elementos en cada columna de una matriz .

sum(x)

prod(x)

cumsum(x)

Ing. Luis Lorenzo Jimnez Garca

67

Programacin

Construccin de arreglos

cumprod(x)

Calcula un vector del mismo tamao que un vector y contiene productos acumulados de los elementos del mismo. Calcula una matriz que contiene el producto acumulado de los elementos en cada columna de una matriz . Ordena los elementos de un vector en orden ascendente. Ordena los elementos en cada columna de una matriz en orden ascendente. Ordena los elementos de un vector en orden descendente. Ordena los elementos en cada columna de una matriz en orden descendente.

sort(x)

sort(x,descend)

Ejercicio de prctica 3.8 Considere la siguiente matriz y calcule la suma y producto de cada columna, la suma y producto acumulado de cada columna, ordene en forma ascendente y descendente las columnas.
4 2 x 3 1 90 55 78 84 85 65 82 92 75 75 79 93

Escribiendo en la ventana de comandos:

>> % Se crea la matriz x >> x = [4,90,85,75;2,55,65,75;3,78,82,79;1,84,92,93] x = 4 2 3 1 90 55 78 84 85 65 82 92 75 75 79 93

Ing. Luis Lorenzo Jimnez Garca

68

Programacin >> % Calcula la suma de cada columna >> sum(x) ans = 10 307 324 322

Construccin de arreglos

>> % Calcula el producto de cada columna >> prod(x) ans = 24 32432400 41680600 41326875

>> % Calcula la suma acumulada de cada columna >> cumsum(x) ans = 4 6 9 10 90 145 223 307 85 150 232 324 75 150 229 322

>> % Calcula el producto acumulado de cada columna >> cumprod(x) ans = 4 8 24 24 90 4950 386100 32432400 85 5525 453050 41680600 75 5625 444375 41326875

>> % Ordena las columnas en forma ascendente >> sort(x) ans = 1 2 3 55 78 84 65 82 85 75 75 79

Ing. Luis Lorenzo Jimnez Garca

69

Programacin 4 90 92 93

Construccin de arreglos

>> % Ordena las columnas en forma descendente >> sort(x,'descend') ans = 4 3 2 1 90 84 78 55 92 85 82 65 93 79 75 75

3.5.3 Producto punto El producto punto (llamado producto escalar) es la suma de los resultados que se obtiene cuando multiplica dos vectores, elemento por elemento.

Ejercicio de prctica 3.9 Realice las siguientes operaciones y analice los resultados.

>> % Se crean los vectores A y B en forma arbitraria >> A = [1 2 3]; >> B = [4 5 6]; >> % Multiplicacin elemento por elemento >> y = A.*B y = 4 >> sum(y) ans = 32 >> % Obtencin del producto punto directamente con sum Ing. Luis Lorenzo Jimnez Garca 70 10 18 >> % Si suma los elementos obtiene el producto punto

Programacin >> sum(A.*B) ans = 32

Construccin de arreglos

>> % Obtencin del producto punto mediante dot >> dot(A,B) ans = 32

3.5.4 Producto cruz Los productos cruz, son llamados productos vectoriales porque, a diferencia de los productos punto, que regresan un escalar, el resultado de un producto cruz es un vector. El vector resultante siempre est en ngulos rectos (normal) al plano definido por los dos vectores entrada, una propiedad que se llama ortogonalidad.

Ejercicio de prctica 3.10 Realice las siguientes operaciones para el producto vectorial.

>> A = [1 >> B = [4

2 5

3]; 6];

% representa % representa

>> % Se calcula el producto cruz >> cross(A,B) ans = -3 6 -3 % representa

Ing. Luis Lorenzo Jimnez Garca

71

Programacin

Construccin de arreglos

3.6 Aplicaciones
Problema 1. Sistema equivalente de fuerzas (Suma de vectores). Tres fuerzas son aplicadas al soporte mostrado en la Fig. 3.1. Determine la fuerza total (equivalente) aplicada al soporte.

Figura 3.1 Fuerzas aplicadas a un soporte

Solucin: Una fuerza es un vector o cantidad fsica que tiene una magnitud (mdulo) y direccin. En el sistema de coordenadas cartesianas un vector de dos dimensiones puede ser escrito como: ( )

donde: es la magnitud de la fuerza; es el ngulo relativo al eje y son los componentes de en la direccin de los ejes respectivamente. y son los vectores unitarios en esas direcciones. Si y son conocidas, entonces y se determina por:

Ing. Luis Lorenzo Jimnez Garca

72

Programacin

Construccin de arreglos

La fuerza total (equivalente) aplicada sobre el soporte se obtiene por la suma de todas fuerzas que estn actuando sobre el soporte. La solucin MatLab requiere los siguientes pasos: a) Escriba cada fuerza como un vector con dos elementos, donde el primer elemento es el componente X del vector y el segundo elemento es el componente Y. b) Determine la forma del vector de las fuerzas equivalentes por suma de vectores independientes. c) Determine la magnitud y direccin de la fuerza equivalente. Utilizando la Ventana de Comandos de MatLab tenemos: >> % Define variables con la magnitud de cada vector >> f1m = 400; f2m = 500; f3m = 700; >> % Se transforman los ngulo en radianes >> a1 = -20*pi/180; a2 = 30*pi/180; a3 = 143*pi/180; >> % Define los tres >> F1 = f1m*[cos(a1) F1 = 375.8770 -136.8081 >> F2 = f2m*[cos(a2) F2 = 433.0127 250.0000 >> F3 = f3m*[cos(a3) F3 = -559.0449 421.2705 vectores fuerza sin(a1)] sin(a2)] sin(a3)]

>> % Calcula la fuerza total del vector >> Ftot = F1 + F2 + F3 Ftot = 249.8449 534.4625

>> % Calcula la magnitud de la fuerza total del vector >> Ftotm = sqrt(Ftot(1)^2 + Ftot(2)^2) Ftotm =

Ing. Luis Lorenzo Jimnez Garca

73

Programacin 589.9768

Construccin de arreglos

>> % Calcula el ngulo (en grados) de la fuerza total >> ang_grados = (180/pi)*atan(Ftot(2)/Ftot(1)) ang_grados = 64.9453

La fuerza equivalente tiene una magnitud de 589.9768 N y una direccin de 64.9453 relativo al eje X. En notacin vectorial la fuerza es: F = 249.8449 i + 534.4625 j N.

Problema 2. Experimento con la friccin. El coeficiente de friccin, , puede ser determinado en un experimento por medicin de la fuerza requerida para mover una masa m, como se muestra en la Fig. 3.2

Figura 3.2 Experimento con la friccin

Cuando F es una medida y m es conocida, el coeficiente de friccin se calcula por: = F / (mg) ( g = 9.81 m/s2)

Los resultados de la medicin de seis pruebas se muestran a continuacin:

Prueba Masa (m) (kg) Fuerza (F) (N)

1 2 12.5

2 4 23.5

3 5 30

4 10 61

5 20 117

6 50 294

Determine el coeficiente de friccin de cada prueba y el porcentaje de todas las Ing. Luis Lorenzo Jimnez Garca 74

Programacin pruebas. Solucin: Utilizando la Ventana de Comandos de MatLab tenemos:

Construccin de arreglos

>> % Se genera un vector m con los datos de las masas >> m = [2 4 5 10 20 50]; >> % Se crea un vector f con los datos de las fuerzas >> f = [12.5 23.5 30 61 117 294]; >> % Un valor para es calculado para cada prueba usando >> %operaciones elemento a elemento sobre m y f >> mu = f./(m*9.81) mu = 0.6371 0.5989 0.6116 0.6218 0.5963 0.5994

>> % Clculo del porcentaje por medio de la funcin mean >> mu_porc = mean(mu) mu_porc = 0.6109

Problema 3. Clculo del centro de gravedad (Producto punto). La masa de un vehculo espacial es una cantidad extremadamente importante. Grupos enteros de personas en el proceso de diseo siguen la pista de la ubicacin y masa de cada tuerca y tornillo. No slo es importante la masa total del vehculo, tambin la informacin acerca de la masa se usa para determinar el centro de gravedad del vehculo. Una razn por la que el centro de gravedad es importante es que los cohetes caen si el centro de presin est adelante del centro de gravedad (ver Fig. 3.3). Puede demostrar este principio con un avin de papel, ponga un clip en la punta del avin de papel y observe cmo cambia el patrn de vuelo.

Ing. Luis Lorenzo Jimnez Garca

75

Programacin

Construccin de arreglos

Aunque encontrar el centro de gravedad es un clculo bastante directo, se vuelve ms complicado cuando se da cuenta de que tanto la masa del vehculo como la distribucin de masa cambian conforme se quema el combustible.

Fig. 3.3 Centro de gravedad de un cohete

La ubicacin del centro de gravedad se puede calcular al dividir el vehculo en pequeos componentes. En un sistema coordenado rectangular: donde: son las coordenadas del centro de gravedad; W es la masa total del sistema; son las coordenadas x de los componentes del sistema 1, 2, 3, son las coordenadas y de los componentes del sistema 1, 2, 3, son las coordenadas z de los componentes del sistema 1, 2, 3, son los pesos de los componentes del sistema 1, 2, 3, Hallar el centro de gravedad de una pequea coleccin de los componentes que se usan en un complicado vehculo espacial que tiene las ubicaciones y masas de componente siguientes: Objeto Tornillo Perno Tuerca Abrazadera x, metros 0.1 1.0 1.5 2.0 y, metros 2.0 1.0 0.2 2.0 z, metros 3.0 1.0 0.5 4.0 Masa, gramos 3.50 1.50 0.79 1.75

Ing. Luis Lorenzo Jimnez Garca

76

Programacin Solucin: Las coordenadas

Construccin de arreglos

del centro de gravedad son:

Escribiendo los datos en ventana de comandos tenemos: >> % Se crea el vector componente masa de los datos >> masa = [3.5, 1.5, 0.79, 1.75 ]; >> % Se crean los vectores de ubicacin x,y,z de los datos: >> x = [0.1, 1.0, 1.5, 2.0]; >> y = [2.0, 1.0, 0.2, 2.0]; >> z = [3.0, 1.0, 0.5, 4.0]; >> % Se generan las coordenadas x,y,z con el producto punto >> coord_x = dot(x,masa)/sum(masa) coord_x = 0.8667 >> coord_y = dot(y,masa)/sum(masa) coord_y = 1.6125 >> coord_z = dot(z,masa)/sum(masa) coord_z = 2.5723 >> % Se genera la grfica de los vectores y las coordenadas >> % Ms adelante se tratarn los temas de grficas >> plot3(x,y,z,'o',coord_x,coord_y,coord_z,'s'),grid on >> xlabel('Eje X') >> ylabel('Eje Y') >> zlabel('Eje Z') >> title('Centro de gravedad') >> axis([0,2,0,2,0,4])

Ing. Luis Lorenzo Jimnez Garca

77

Programacin

Construccin de arreglos

En la Fig. 3.4 se observa en color rojo, donde se encuentra la ubicacin del centro de gravedad. Esta grfica fue editada en la ventana de grficos Figure en la barra de herramientas Tools Edit Plot. En el captulo 5 y 6 se ver con detalle la elaboracin de las grficas en dos y tres dimensiones.

Fig.3.4 Ubicacin del centro de gravedad grficamente

Uso de la multiplicacin matricial para encontrar el centro de gravedad numricamente:

>> % Se crea la matriz que representa las coordenadas >> % xyz del centro de gravedad por la masa total >> coord_xyz = [0.1 1 1.5 2 2 1 0.2 2 3 1 0.5 4];

>>masa = [3.5, 1.5, 0.79, 1.75 ]; >> % Se generan las coordenadas x,y,z >> localizacion = coord_xyz*masa/sum(masa) localizacion =

Ing. Luis Lorenzo Jimnez Garca

78

Programacin 0.8667 1.6125 2.5723

Construccin de arreglos

Problema 2.4 Momento de una fuerza en torno a un punto (Producto cruz). El momento de una fuerza en relacin con un punto se encuentra al calcular el producto cruz de un vector que define la posicin de la fuerza con respecto al punto, con el vector fuerza:

Considere la fuerza aplicada en el extremo de una palanca, como se muestra en la Fig. 3.5 (c).

Componentes del Vector fuerza (a)

Componentes del Vector posicin (b)

Punto pivote (c)

Figura 3.5 Fuerza aplicada a una palanca

Si se aplica una fuerza a la palanca cerca del punto pivote, el efecto es diferente que si se aplica una fuerza ms alejada sobre la palanca. Dicho efecto se llama momento. Calcule el momento en torno al punto pivote de una palanca para una fuerza descrita como el vector (Ver Fig. 3.5 a):

Ing. Luis Lorenzo Jimnez Garca

79

Programacin

Construccin de arreglos

Suponga que la palanca tiene 12 pulgadas de largo, a un ngulo de 45 grados desde la horizontal. Esto significa que el vector posicin (Ver Fig. 3.5 b) se puede representar como:

Encontrar el momento de un vector fuerza en torno al punto pivote de una palanca. Solucin: En la ventana de comandos de MatLab: >> % Momento en torno a un punto pivote >> % Defina el vector posicin >> r = [12/sqrt(2), 12/sqrt(2), 0]; >> % Defina el vector fuerza >> F = [-100, 20, 0]; >> % Calcule el momento >> momento = cross(r, F) momento = 1.0e+003 * 0 0 1.0182

Esto corresponde a un vector momento:

Note que el momento est en ngulos rectos al plano definido por los vectores posicin y fuerza.

Ing. Luis Lorenzo Jimnez Garca

80

You might also like