Documente Academic
Documente Profesional
Documente Cultură
Archivos m.
En el momento de ejecutar una aplicación en alguna área de interés, a veces es necesario
realizar varias secuencias de algunas operaciones, algunas de ellas en forma repetida, lo
cual resulta sumamente tedioso. Usualmente se quiere corregir un valor, pero ya no
puedes regresar a ello.
Todas estas preocupaciones pueden ser resueltas en un archivo script. En el cual debe
escribirse el programa respectivo, que es una secuencia lógica de ordenes (comandos)
que desde luego debe estar bien estructurado, y entendible por la computadora. Para ello
se usan los ficheros script, también llamado archivos .m
Un fichero script es un conjunto de sentencias u órdenes que se ejecutan en forma
secuencial. En algunos casos debido a la estructura misma del programa se llamara
función.
Para que estos programas sean coherentes y los pueda leer el programa Matlab, deben
seguir un orden lógico. Estos ficheros tienen extensión m. y se pueden editar y/o
ejecutar las veces que sea necesario.
En algunos casos es necesario que el programador ingrese algunos datos para que el
programa funcione. Estos deberán ser ingresados por teclado posiblemente, y en algún
formato adecuado. Para esto hay comandos adecuados.
01 archivos .m 1
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
>> what
M-files in the current directory C:\Users\Malca\Documents\MATLAB
DistPaL curva3d05 datos prom
curva3d01 curva3d06 dfun prom_2
curva3d02 curvar3 ejemplo01 prom_3
curva3d03 curvasR3 ejemplo4_2 prommult5
curva3d04 curvatemp fun solcuad
>> pwd
ans = C:\Users\Malca\Documents\MATLAB
>> dir
. curva3d04.m datos.asv prom.m
.. curva3d05.m datos.m prom_2.m
DistPaL.asv curva3d06.m datos.xlsx prom_3.m
DistPaL.m curvar3.asv datos_lluvia.xls prommult5.m
curva3d01.m curvar3.m dfun.m solcuad.m
curva3d02.m curvasR3.asv ejemplo01.m
curva3d03.asv curvasR3.m ejemplo4_2.m
curva3d03.m curvatemp.asv fun.asv
curva3d04.asv curvatemp.m fun.m
>> cd
C:\Users\Malca\Documents\MATLAB
Es una buena práctica escribir ficheros script que sean fáciles de entender por nosotros
mismos, después de un cierto tiempo y por otros lectores que tengan acceso al código
que hemos creado. Esto implica al menos, las siguientes tareas:
01 archivos .m 2
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
La carpeta de trabajo
La carpeta de trabajo es el lugar donde se guardan los ficheros .m que hemos creado. La
carpeta de trabajo se muestra y se selecciona debajo de la barra de botones pulsando en
la flecha hacia abajo situada a la derecha
>> cd C:\Users\Usuario\Documents\MATLAB\malca
01 archivos .m 3
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
Ahora crearemos un programa, para ello abriremos un archive Nuevo, de tipo m-file,
segun lo indicado en los siguientes gráficos.
solcuad.m Ejecucucion
% programa que resuelve una >> solcuad
ecuación cuadrática sol_1 = 1.2899
% 5x2-8x+2=0 sol_2 = 0.3101
>> help solcuad
sol_1=(8+sqrt(8^2-4*5*2))/10 programa que resuelve una
sol_2=(8-sqrt(8^2-4*5*2))/10 ecuación cuadrática
5x2-8x+2=0
>>
01 archivos .m 4
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
Ejemplo: En el siguiente caso se construirá una función, la cual tiene una pequeña
diferencia en su estructura que contiene una línea adicional, que será explicada con
mayor detalle en el siguiente acápite.
Se creara la función: y f x x3 5x 2 8x 4 . Luego de lo cual se podrá evaluar,
graficar y hacer algunas cosas más propias de las funciones matemáticas.
fun.m Ejecucucion
function y=fun(x) >> fun(3),fun(1),fun(7),fun(13)
ans = 34
% programa que calcula el valor ans = 0
de ans = 438
% una función dado el valor de x. ans = 2604
>>
y=x.^3+3*x.^2-8*x+4; >> x=-6:0.1:5;
>> y=fun(x);
>> plot(x,y)
>>
>> help fun
programa que calcula el valor de
una función dado el valor de x.
>>
200
150
100
50
-50
-100
-6 -4 -2 0 2 4 6
01 archivos .m 5
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
VARIABLES GLOBALES
Recuerde que las variables escritas en un archivo script (programa), se ejecutan como si
estuvieran en la ventana de comandos, salvo las que están en un ficheros tipo fuction.
Cuando se ejecuta un fichero script, las variables utilizadas en los cálculos dentro del
fichero deben tener valores asignados previamente en el mismo script. Esta asignación
se puede hacer de tres formas:
- Variable definida y asignada en el fichero script.
- Variable definida y asignada en la ventana de comandos.
- Variable definida y asignada en el fichero script, pero luego se cambia en la
ventana de comandos
01 archivos .m 6
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
Prom_2.m
% Calculo del promedio de cuatro jugadas
% los valores se ingresan por la ventana de comandos
% con las variables j1, j2, j3 y j4
Puntuacion_Media=(j1+j2+j3+j4)/4
Ejecución en MatLab
>> clear % para limpiar memoria de variables pre asignadas
>> prom_2
??? Undefined function or variable
'j1'.
Error in ==> prom_2 at 5
Puntuacion_Media=(j1+j2+j3+j4)/4
>> j1=87, j2=90, j3=86, j4=64 % corrigiendo el problema de las variables
j1 = 87
j2 = 90
j3 = 86
j4 = 64
01 archivos .m 7
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
>> prom_2
Puntuacion_Media = 81.7500
>> help prom_2
Calculo del promedio de cuatro jugadas
los valores se ingresan por la ventana de comandos
con las variables j1, j2, j3 y j4
Prom_3.m
% este programa calcula el promedio
% de un conjunto de tres jugadas
% las cuales se ingresan en la ventana de comandos
% usando el comando input
j1=input('Ingrese la primera puntuación:')
j2=input('Ingrese la segunda puntuación:')
j3=input('Ingrese la tercera puntuación:')
j4=input('Ingrese la cuarta puntuación:')
Puntuacion_Media=(j1+j2+j3+j4)/4
Ejecucion en MatLab
>> prom_3
Ingrese la primera puntuacion:87
j1 = 87
Ingrese la segunda puntuacion:98
j2 = 98
Ingrese la tercera puntuacion:67
j3 = 67
Ingrese la cuarta puntuacion:82
j4 = 82
Puntuacion_Media = 83.5000
>> help prom_3
este programa calcula el promedio
de un conjunto de tres jugadas
las cuales se ingresan en la ventana de comandos
usando el comando input
>>
01 archivos .m 8
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
01 archivos .m 9
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
Ejemplo:
>> disp('Hola a todos')
Hola a todos
>> A=[1 7 -2;4 -5 6;8 5 -9]
A=
1 7 -2
4 -5 6
8 5 -9
>> disp(A)
1 7 -2
4 -5 6
8 5 -9
>> disp('La matriz buscada es:')
La matriz buscada es:
>> disp(A)
1 7 -2
4 -5 6
8 5 -9
>> B=[1 7 -2]
B = 1 7 -2
>> disp(['la matriz buscada es:',num2str(B)])
la matriz buscada es:1 7 -2
>>
Ejemplo:
>> x=[1:10]';
>> P=[x x.^2 x.^3];
>> disp(' numero cuadrado cubo'),disp(P)
numero cuadrado cubo
1 1 1
2 4 8
3 9 27
4 16 64
5 25 125
6 36 216
7 49 343
8 64 512
9 81 729
10 100 1000
>>
Ejemplo
>> disp(['La ','matemática ','es ','la ','madre ','de ','todas ','las ','ciencias'])
La matemática es la madre de todas las ciencias
01 archivos .m 10
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
>> disp(['La','matematica','es','la','madre','de','todas','las','ciencias'])
Lamatematicaeslamadredetodaslasciencias
>> disp(['La ','matemática ','es ','la ','madre ','de ','todas ','las ','ciencias'])
La matemática es la madre de todas las ciencias
>> disp(['Aritmetica';'Algebra';'Geometria';'Analisis';'Discreta'])
??? Error using ==> vertcat
CAT arguments dimensions are not consistent.
>> disp(['Aritmetica';'Algebra ';'Geometria ';'Analisis ';'Discreta '])
Aritmetica
Algebra
Geometria
Analisis
Discreta
>>
En la última línea de los comandos las palabras debían tener la misma longitud, de 10
letras, incluyendo espacios.
Ejemplo: Mostrar una tabla con los n primeros enteros positivos, sus cuadrados y sus
cubos.
Solución:
Ejemplo4_2.m
% Este programa crea una tabla de los
primeros n números enteros positivos
01 archivos .m 11
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
01 archivos .m 12
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
7 2793
8 4672
9 7371
10 11100
El comando fprintf
Este comando visualiza salidas de programas en la pantalla, a diferencia del disp., aquí
se puede dar algún formato a la presentación de los datos.
Visualizando mensajes de texto:
fprintf(‘Mensaje en forma de cadena’)
ejemplo02.m
%ahora tenemos un programa que obtiene cuadrados
y cubos
n=[1:5]';
cuadrado=n.^2;
cubo=n.^3;
disp(' n n^2 n^3')
tabla=[n,cuadrado,cubo];
disp(tabla)
fprintf('ahi tenemos la relación de cuadrado y
cubos')
Ahora viene la ejecución, en la ventana de comandos de Matlab:
>> prog01
n n^2 n^3
1 1 1
2 4 8
3 9 27
ahi tenemos la relación de cuadrado y cubos >>
01 archivos .m 13
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
Los elementos del formato para los datos (variable), son cuatro algunos opcionales
otros obligatorios: %-5.2f
El primero
% Es el símbolo que indica formato
El segundo llamado flag o bandera (opcional)
- Alinea el numero hacia la izquierda
+ Imprime el signo (+ si es positivo, - si es negativo)
0 Añade ceros
El tercero ‘5’, indica cinco caracteres que es el ancho del campo donde se imprime el
valor numérico, si el número es más corto se añaden espacios o ceros delante del
número.
El cuarto ‘2’, indica la precisión. Indica el número de decimales que se mostraran a la
derecha del punto decimal.
El quinto indica el formato de presentación del número (Obligatorio)
e Notación exponencial en minúsculas (ej: 2.456e+002)
E Notación exponencial en mayúsculas (ej: 2.456E+002)
f Notación de punto fijo (entero decimal) (ej: 245.63)
g Representación en formato corto de e o f
G Representación en formato corto de E o f
i Entero
Ejemplo:
ej03.m
% tenemos un conjunto de doce datos de lluvia en miles de litros,
en forma
% mensual. En la amazonia peruana
%p representa el valor promedio de las lluvias
D=[286 253 254 305 274 203 165 190 161 228 224
280]
P=mean(D)
fprintf('\nEl valor medio de las lluvias es %6.2e mensual.\n',P)
fprintf('\nEl valor medio de las lluvias es %-16.2f mensual.\n',P)
fprintf('\nEl valor medio de las lluvias es %08i mensual.\n',P)
fprintf('\nEl valor medio de las lluvias es %6g mensual.\n',P)
La ejecución en MatLab
>> ej03
D = 286 253 254 305 274 203 165 190 161 228 224
280
P = 235.2500
El valor medio de las lluvias es 2.35e+002 mensual.
El valor medio de las lluvias es 235.25 mensual.
El valor medio de las lluvias es 2.352500e+002 mensual.
El valor medio de las lluvias es 235.25 mensual.
>>
01 archivos .m 14
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
Aquí va un ejemplo en el cual hay insertados varios valores numéricos, dentro del
texto.
ej04.m
% tenemos un conjunto de doce datos de lluvia en miles de litros,
en forma
% mensual. En la amazonia peruana
%p representa el valor promedio de las lluvias
D=[286 253 254 305 274 203 165 190 161 228 224
280]
m=min(D);
M=max(D);
S=sum(D);
P=mean(D);
fprintf('\nEl valor medio de las lluvias es %6.2e mensual.\n',P)
fprintf('\nEl valor mínimo es %4i , el máximo es %4i y el total de
lluvias es %6i.\n',m,M,S)
La ejecución en Matlab
>> ej04
D = 286 253 254 305 274 203 165 190 161 228 224
280
El valor medio de las lluvias es 2.35e+002 mensual.
01 archivos .m 15
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
2.8284
el numero 1 su cuadrado 1 su raíz 1.000000
el numero 2 su cuadrado 4 su raíz 1.414214
el numero 3 su cuadrado 9 su raíz 1.732051
el numero 4 su cuadrado 16 su raíz 2.000000
el numero 5 su cuadrado 25 su raíz 2.236068
el numero 6 su cuadrado 36 su raíz 2.449490
el numero 7 su cuadrado 49 su raíz 2.645751
el numero 8 su cuadrado 64 su raíz 2.828427
>>
Ejemplo adicional
ejem06.m
% archivo ejecutable de nombre: ejem06.m
% uso de los comandos de entrada por teclado, y salida por pantalla.
01 archivos .m 16
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
-8 0 0 0
0 0 -7 0
5 0 0 0
0 0 0 1
El producto A*B, la division A/B es :
46 15 48 33
92 32 87 52
95 20 60 46
75 19 41 53
ejem07.m
% archivo ejecutable de nombre: ejem07.m
% uso de los comandos de entrada por teclado, y salida por
pantalla.
01 archivos .m 17
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
34.1 grados F
la temperatura en la mañana es
35.6 grados F
la temperatura en la mañana es
36.8 grados F
ejem08.m
% archivo ejecutable de nombre: ejem08.m
% uso de los comandos de entrada por teclado, y salida por
pantalla.
w=[1:10;sqrt(1:10)]
fprintf('Un entero es %g y su raíz cuadrada es %g \n',w)
z=[1:10;sqrt(1:10);(1:10).^2;(1:10).^3]
fprintf(' n=%g sqrt(n)=%g n^2=%g n^3=%g \n',z)
z=[1000555:1000560;sqrt(1000555:1000560)]
fprintf('n=%2.3g sqrt(n)=%1.10g\n',z)
fprintf('n=%2.6g sqrt(n)=%1.10g\n',z)
fprintf('n=%2.6g sqrt(n)=%4.10g\n',z)
La ejecución en Matlab
>> ejem08
w= Columns 1 through 10
1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000
8.0000 9.0000 10.0000
z = 1.0e+003 *
01 archivos .m 18
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
z = 1.0e+006 *
n=1e+006 sqrt(n)=1000.277462
n=1e+006 sqrt(n)=1000.277961
n=1e+006 sqrt(n)=1000.278461
n=1e+006 sqrt(n)=1000.278961
n=1e+006 sqrt(n)=1000.279461
n=1e+006 sqrt(n)=1000.279961
n=1.00056e+006 sqrt(n)=1000.277462
n=1.00056e+006 sqrt(n)=1000.277961
n=1.00056e+006 sqrt(n)=1000.278461
n=1.00056e+006 sqrt(n)=1000.278961
n=1.00056e+006 sqrt(n)=1000.279461
n=1.00056e+006 sqrt(n)=1000.279961
n=1.00056e+006 sqrt(n)=1000.277462
n=1.00056e+006 sqrt(n)=1000.277961
n=1.00056e+006 sqrt(n)=1000.278461
n=1.00056e+006 sqrt(n)=1000.278961
n=1.00056e+006 sqrt(n)=1000.279461
n=1.00056e+006 sqrt(n)=1000.279961
Ejemplo 09
Ejemplo 09 alcance.m
% cálculo del alcance de un proyectil que tiene una
% velocidad inicial, con un ángulo de tiro
01 archivos .m 19
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
>> alcance
ángulo de tiro 30°, alcance 186.99 m
La función sprintf
La función sprintf es similar a printf salvo que imprime en una variable. Se utiliza en
combinación con la función gráfica text para mostrar valores de una variable en un
gráfico
Ejemplo: grafico20.m
%código para dibujar un gráfico
t=0:60;
d=-t.^2+40*t+12;
plot(t,d,'r')
p=400;
text(20,440,sprintf('Máximo %1.3f',p))
>> prog02
>>
01 archivos .m 20
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
600
Máximo 400.000
400
200
-200
-400
-600
-800
-1000
-1200
0 10 20 30 40 50 60
N =
el valor de pi es 3.142
Al final de fprintf se pone el carácter \n que indica una nueva línea, no es necesario en
la función sprintf
01 archivos .m 21
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
donde:
num: Es una matriz de tipo numérico en el cual serán guardados todos los datos
numéricos encontrados dentro de la hoja y rango especificado.
text: Matriz de tipo celda donde se guardaran todos las cadenas que sean encontradas
dentro de la hoja y rango especificado. Cada cadena se guarda en una celda dentro de
la matriz.
NombreArchivo: El nombre o ruta del archivo a leer. Este parámetro debe ser una
cadena.
Ejemplo: Ahora se leerá un archivo en Excel, llamado datos.xlsx
Aquí vemos una hoja de datos en formato Excel: datos1.xlsx
01 archivos .m 22
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
'numero'
'cuadrado'
'cubo'
Leyendo por separado la información
>> [A,B]=xlsread('datos.xlsx','hoja2','c2:j3')
A=
1 2 3 4 5 6 7
180 156 147 206 210 235 222
B=
'Mes'
'LLuvia'
Lo que sigue
>> [C,D]=xlsread('datos.xlsx','hoja2','c6:j8')
C=
1 2 3 4 5 6 7
1 4 9 16 25 36 49
1 8 27 64 125 216 343
D=
'numero'
'cuadrado'
'cubo'
Y lo ultimo
>> xlsread('datos.xlsx','hoja2','c6:j8')
ans =
1 2 3 4 5 6 7
1 4 9 16 25 36 49
1 8 27 64 125 216 343
Lo primero que debemos conocer es la función y la sintaxis necesaria para realizar esta
operación; Esta se llama xlswrite y su sintaxis es la siguiente:
xlswrite( NombreArchivo, Datos)
01 archivos .m 23
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
Donde:
Estado= regresa 1 cuando la operación de escritura ha sido un éxito, 0 en caso
contrario.
NombreArchivo: El nombre o ruta del archivo al que se escribirá, si no se escribe la
ruta completa, tomara por deafult que el archivo se encuentra en el current directory,
si el archivo no existe lo creará. Este parámetro debe ser una cadena.
Datos: Son los datos que se escribirán en el archivo, pueden ser numéricos o
caracteres.
Hoja: Es la hoja en la que se escribirá, por default Hoja1, este parámetro debe ser una
cadena.
CeldaInicial: A partir de esta se empezara la escritura de los datos, este parámetro
debe ser una cadena.
Ejemplo: Ahora se creara una matriz A, y luego se grabara en un archivo de Excel
Creando la matriz y escribiendo en la hoja de calculo
>> A=[1 7 -2;4 -5 6;8 5 -9]
A=
1 7 -2
4 -5 6
8 5 -9
>> xlswrite('arch_datos.xlsx',A)
Archivo en la PC, en la carpeta de trabajo de MatLab
Archivo de Excel
01 archivos .m 24
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
Archivo de Excel
01 archivos .m 25
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
EJEMPLOS ADICIONALES
El area de un triangulo
area.m
function [A] = area(a,b,c)
% Calcula el area de un triangulo cualquiera
% se tienen las longitudes de los lados a, b y c
% Ingreso: a,b,c: Longitudes de los lados
% Salida: A: area del triangulo
%
p = (a+b+c)/2;
A = sqrt(p*(p-a)*(p-b)*(p-c));
La ejecución en Matlab
>> help area
Calcula el area de un triangulo cualquiera
se tienen las longitudes de los lados a, b y c
Ingreso: a,b,c: Longitudes de los lados
Salida: A: area del triangulo
>> area(5,7,12)
ans = 0
>> area(3,4,5)
ans = 6
>> area(3,4,50)
ans = 0 +6.1872e+002i
>> area(13,45,50)
ans = 282.3190
F=zeros(1,n);
F(1)=1;
F(2) = 1;
for i = 3:n
01 archivos .m 26
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
01 archivos .m 27
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
70
60
50
40
30
20
10
0
0 2 4 6 8 10 12
4. FICHEROS SCRIPT
PROBLEMAS
01 archivos .m 28
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
Nota: Además de los problemas que se proponen a continuación, todos los problemas del acápite
anterior se pueden resolver también utilizando ficheros script.
Los siguientes problemas deben ser resueltos creando un programa en un fichero script y
posteriormente ejecutándolo en la ventana de comandos.
1. Se ha diseñado sobre papel una copa cónica que tiene un volumen de 250 cm3. Determine el radio r
de la base y el área de la superficie S de este diseño para una serie de distintos bocetos de copas que
tienen de altura h de 5, 6, 7, 8 y 9 cm.
El cálculo del volumen V y el área superficial vienen dados por las formulas:
1 2
V r hS r r2 h2
3
r
x
h 24 pies
6 pies
8º
2. En un cine, el ángulo a partir del cual un espectador ve la película depende de la distancia x del
espectador a la pantalla. Para un cine de las dimensiones como las que se muestran en la figura adjunta,
calcule el ángulo (en grados) para los espectadores que están sentados a distancias de 30, 45, 60, 75 y
90 pies de la pantalla.
3. La población de un determinado país es de 50 millones, cantidad que se duplicara previsiblemente en
20 años. Calcule la población en 5, 10 y 15 años definiendo un vector t con tres elementos y utilizando
operaciones elemento a elemento para el cálculo. El crecimiento de la población se puede modelar
mediante la ecuación P P0 2t / d , donde P es la población en el instante t, P0 es la población en el
instante t = 0 y d es el doble del tiempo.
4. Un excursionista necesita cruzar un área arenosa para poder ir del punto A a un campamento que se
encuentra en el punto B. Para hacer esto puede cruzar una zona arenosa perpendicularmente al camino
y a continuación andar a lo largo de el, o también puede cruzar la zona arenosa con un ángulo hasta
el camino, y luego caminar a lo largo del camino. El excursionista camina a una velocidad de 3,5 km/h en
la arena, y a 5 km/h por el camino. Calcule el tiempo que le lleva alcanzar el campamento contemplando
distintos ángulos de 0, 10, 20, 30, 40, 50 y 60 grados.
Las distancias w y u son, respectivamente, w = 4,5 km, y u = 14 km. Escriba un programa en un fichero
script que resuelva este problema. Calcule todas las variables dentro del fichero script. Visualice los
resultados en una tabla de dos columnas en la cual la primera columna sea y la segunda columna sea
el tiempo t correspondiente.
u
B
A
5. Escriba un fichero script que calcule el balance de una cuenta de ahorros al final del año, durante 10
años. La cuenta tiene un capital inicial de $ 1000 y un interés de 6,5% que produce beneficios
anualmente. Visualice la información en una tabla.
01 archivos .m 29
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
Para un capital inicial A, y una tasa de interés r, el balance B, después de n años, viene dado por la
n
expresión: B
r
A1
100
6. La velocidad v y la distancia d, en función del tiempo, de un coche que tiene una aceleracion
1 2
constante a, vienen dados por: v t at y d t at
2
Determine v y d para cada segundo, durante 10 segundos, para un coche con una aceleración a = 1,55
2
m/s . Muestre los resultados en una tabla de tres columnas en la cual la primera sea el tiempo (s), la
segunda sea la distancia (m) y en la tercera la velocidad (m/s).
7. Cuando se conectan diferentes resistencias en paralelo en un circuito eléctrico, la corriente a través
de cada una de estas resistencias viene dada por: in vs / Rn donde in y Rn representan la intensidad
de corriente a través de la resistencia n y su valor de resistencia propiamente dicho, siendo vs el
10
45
34
26
60
Vs 48 V
8. La grafica de la función f x ax3 bx 2 cx d pasa por los puntos (-2, -3.4), (-0.5, 5.525), (1,
16.7) y (2.5, 70.625). Calcule las constantes a, b, c y d escribiendo para ello un sistema de ecuaciones
con cuatro incógnitas, utilizando posteriormente MATLAB para resolver el sistema.
9. Cuando se llevan cálculos de estructuras es habitual trabajar con sistemas como el que se muestra en
la figura adjunta, consistente en una estructura compuesta de miembros o elementos encadenados
unos con otros por sus extremos, y donde lo que se trata es determinar las fuerzas que inciden sobre
cada elemento. Para la estructura que se muestra en la figura adjunta, las fuerzas de los siete miembros
vienen determinadas por las siguientes siete ecuaciones:
F1sen 36,87º 2000 F1cos 36,87º F2 0
F3 F1sen 36,87º 0 F4 F1 cos 36,87º 0
F3 F5 sen 36,87º 3000 F6 F5 cos 36,87º F2 0
F5 sen 36,87º F7 0
Escribe las ecuaciones en forma matricial y utilice MATLAB para calcular las fuerzas de los elementos de
esta estructura. Una fuerza positiva implica una fuerza de tensión, mientras que una fuerza negativa
implica una fuerza de comprensión. Visualice los resultados en una tabla.
01 archivos .m 30
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
2000 N 3000 N
2 6
o o o
36,87º 36,87º
3 5 7
1
4
o o
>> cap04p1
h = 5 6 7 8 9 10
r = 6.9099 6.3078 5.8399 5.4627 5.1503 4.8860
S = 185.1512 172.5171 167.2512 166.2487 167.7802 170.8419
>>
Cap04p02.m
>> cap04p2
>>
Cap04p03.m
% capitulo 04 ejercicio 03
t=[0:5:25]
p=50*(2.^(t/20))
plot(t,p)
>> cap04p03
t = 0 5 10 15 20 25
p = 50.0000 59.4604 70.7107 84.0896 100.0000 118.9207
>>
Cap04p04.m
%ejercicio 04 del capítulo 04
a=[0:5:60];
r=(pi/180)*[0:5:60];
w=4.5;u=14;
v1=3.5;v2=5;
t=(w./(v1*cos(r)))+(u-w*tan(r))/(v2);
disp(' grados radian tiempo')
01 archivos .m 31
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
tabla=[a;r;t]';
disp(tabla)
plot(a,t)
>> cap04p04
grados radian tiempo
0 0 4.0857
5.0000 0.0873 4.0119
10.0000 0.1745 3.9469
15.0000 0.2618 3.8899
20.0000 0.3491 3.8407
25.0000 0.4363 3.7990
30.0000 0.5236 3.7650
35.0000 0.6109 3.7394
40.0000 0.6981 3.7232
45.0000 0.7854 3.7183
50.0000 0.8727 3.7276
55.0000 0.9599 3.7562
60.0000 1.0472 3.8126
>>
4.15
4.1
4.05
3.95
3.9
3.85
3.8
3.75
3.7
0 10 20 30 40 50 60
Cap04p05.m
%capitulo 04 ejercicio 05
n=[0:10];
A=1000;
i=6.5;
B=A*((1+(i/100)).^n);
fprintf('\taños\tbeneficio\n')
tabla=[n;B];
fprintf('\t%-5i \t%-5.4f\n',tabla)
plot(n,B)
>> cap04p05
años beneficio
0 1000.0000
1 1065.0000
2 1134.2250
3 1207.9496
4 1286.4664
5 1370.0867
6 1459.1423
01 archivos .m 32
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
7 1553.9865
8 1654.9957
9 1762.5704
10 1877.1375
>>
1900
1800
1700
1600
1500
1400
1300
1200
1100
1000
0 1 2 3 4 5 6 7 8 9 10
Cap04p06.m
%capitulo 04 ejercicio 06
a=1.55;
t=[0:10:600];
v=a*t;
d=0.5*a*(t.^2);
fprintf('\t tiempo(s)\t velocidad(m/s)\t distancia(m)\n')
tabla=[t;v;d];
fprintf('\t%-5i \t\t%-5.4f \t\t%-5.4f\n',tabla)
>> cap04p06
tiempo(s) velocidad(m/s) distancia(m)
0 0.0000 0.0000
10 15.5000 77.5000
20 31.0000 310.0000
30 46.5000 697.5000
40 62.0000 1240.0000
50 77.5000 1937.5000
60 93.0000 2790.0000
70 108.5000 3797.5000
…………………………………………………………………..
590 914.5000 269777.5000
600 930.0000 279000.0000
>>
Cap04p07.m
%capitulo 04 ejercicio 07
>> cap04p07
Cap04p08.m
% capitulo04 problema 08
% un problema de interpolacion polinomial
01 archivos .m 33
Métodos numéricos 01. Archivos m. Mg. Amado Malca Villalobos
>> cap04p08
x = -2.0000 -0.5000 1.0000 2.5000
n= 4
A = -8.0000 4.0000 -2.0000 1.0000
-0.1250 0.2500 -0.5000 1.0000
1.0000 1.0000 1.0000 1.0000
15.6250 6.2500 2.5000 1.0000
b = -3.4000
5.5250
16.7000
70.6250
sol = 2.0000
3.5000
4.2000
7.0000
>>
01 archivos .m 34