Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FUNDAMENTOS DE INFORMTICA
Profesor: Dra. Sonia Benz.
Auxiliares: Ing. Evangelina Delfratte - Ing. Patricia Mores
ENTORNO DE TRABAJO
MANEJO BSICO
1.
DECLARACIN DE VARIABLES.
2.
3.
4.
20
5.
24
6.
32
EJERCITACIN RESUELTA.
38
38
43
52
52
54
Qu es Matlab (MATrixLABoratory)?
Es una herramienta para hacer clculos matemticos. Como su nombre lo indica, utiliza la matriz
como elementos bsico.
Es un lenguaje de programacin interactivo y avanzado, pero fcil de utilizar.
Es una plataforma de desarrollo para determinadas reas (herramientas para el procesamiento de
seales, simulacin de sistemas dinmicos, etc.)
Entorno de trabajo
1. Inicio del programa
Se debe iniciar desde el men inicio del sistema operativo/ programas/ Matlab o bien desde el cono de acceso
directo presente en el escritorio de Windows.
2. Pantalla inicial
La siguiente figura corresponde a la ventana de inicio del programa.
Espacio de trabajo (Workspace): contiene informacin sobre todas las variables que se hayan
definido en esta sesin y permite ver y modificar las matrices con las que se est trabajando. Es la
memoria visible del programa.
Tambin se muestra informacin acerca del directorio y/o archivo en el que se est trabajando
(Current directory). Este directorio se puede cambiar desde esta misma ventana con el
procedimiento caracterstico de Windows.
Hay una barra de herramientas que muestra los tpicos conos para el manejo de archivos, que en este
caso corresponden al editor de archivos *.m del que hablaremos a continuacin.
3. Editor de archivos-M.
Otra herramienta que presenta Matlab es el Editor de archivos M (scripts).
Un script es simplemente una lista de comandos escritos segn la sintaxis de Matlab, que ha sido guardado en
un archivo con extensin .m y que tienen la ventaja de poder ejecutarse y/o modificarse sin tener que tener
que escribir las sentencias cada vez que se desea obtener un nuevo resultado.
Para crear un archivo nuevo o abrir un archivo existente desde Matlab solo se debe hacer un clic en el cono
correspondiente segn se indica en la figura.
Al crear un archivo nuevo o abrir un archivo existente, se trabajar en una nueva ventana. La siguiente
imagen es una pantalla tpica del editor de archivos de Matlab.
Ejecutar
En el editor aparecen en color negro las
instrucciones, en color verde los comentarios, en
color violeta las cadenas de texto y en azul los
comandos predefinidos.
Para trabajar con el editor se utilizan los comandos tradicionales de manejo de archivos (Archivo nuevo
Abrir archivo Guardar archivo, etc.)
El nombre del archivo puede formarse por caracteres alfanumricos, sin embargo se debe tener en cuenta que:
Luego de asignar un nombre al archivo, se est en condiciones de escribir el cdigo (las sentencias) que se
desean ejecutar. En el editor se usa la misma sintaxis que en la ventana de comandos.
Finalmente, para ejecutar un script creado en el editor, se tienen diferentes alternativas:
Ejecutar el programa desde el editor mediante el cono de ejecucin (En versiones anteriores el cono
es una flecha azul hacia abajo).
Ejecutar el programa desde el editor utilizando los atajos de teclado: presionar F5
Ejecutar el programa desde la ventana de comandos. Deber ingresar el nombre del archivo
(inmediatamente despus del prompt y sin la extensin) + intro.
Al seleccionar la primera opcin se indica que el directorio actual de Matlab (Current directory) sea el
directorio en el que se ha guardado el archivo. De esta manera, si no hay errores de sintaxis, se ejecutarn
secuencialmente todas las sentencias del script y los resultados (parciales y/o totales) se mostrarn en la
ventana de comandos. Adems ser posible ver todas las variables definidas y sus caractersticas en el espacio
de trabajo (workspace).
Manejo bsico
1. Declaracin de variables.
Como se mencion anteriormente, Matlab tiene como estructura bsica de almacenamiento de datos y/o
resultados a una estructura de tipo matricial (arrays) y cada uno de sus elementos se identificar mediante
ndices que indiquen el nmero de fila y el nmero de columna en el que se encuentre un elemento
determinado del arreglo matricial. Esos elementos pueden ser nmeros (Reales o complejos) cadenas de
texto (strings).
Por otro lado, dependiendo del tamao de la matriz es posible manejar:
9 Escalares (matriz 1x1)
9 Vectores (matriz de 1xn vector fila, matriz de nx1 vector columna)
9 Matrices propiamente dichas (nxm).
6
who
whos
A=
a1,1
a1,2
a2,1
a2,2
.
.
.
af-1,1
.
.
.
af-1,2
af,1
af,2
.
.
.
a1,c-1
a2,c-1
a1,c
a2,c
.
.
.
.
.
.
af-1,c-1
af-1,c
af,c-1
af,c
Tambin es posible utilizar el operador : para referirse a un conjunto de elementos de una matriz o vector.
Por ejemplo, cuando se escribe:
A(:,1) la expresin se refiere a los elementos que se encuentran en todas las filas, columna 1 de la matriz A.
8
9 Vector columna: introduciendo sus valores, separados por Intro o por puntos y comas (;), entre
corchetes.
9 Matrices: Las matrices se definen por filas. Los elementos de una misma fila estn separados por
comas o espacios y las filas estn separadas por intro o por punto y coma (;).
9 Utilizando el operador :
Aqu, el operador : se utiliza para crear un vector. La sintaxis general es:
x=valor incial:incremento:valor final.
A diferencia del comando linspace en el que hay que indicar la cantidad de elementos del vector, con el
operador : es necesario especificar el incremento. En este caso, en el que se genera una secuencia de
valores, el incremento puede ser cualquier nmero real. Otra diferencia importante entre estos comandos es
que con linspace los intervalos son siempre cerrados, es decir que el vector generado siempre incluye el valor
10
Vector fila de n
A=ones(n,1)
A=ones(n)
A=ones(n,m)
11
A= eye (n,m)
A=magic(n)
A= rand (n,1)
A= rand (n)
12
A= randn(n,1)
A= randn (n)
A= randn (n,m)
13
Crear un vector v5 con los elementos de las posiciones 10, 8, 6, 4 del vector r.
v5=r(10:-2:4)
14
v6=[r(8),r(9),r(1),r(3),r(7)]
Crear un vector v7 elementos con todos los elementos del vector v6, ceros en las posiciones 6 a 8 y 0.5 en
la posicin 9.
v7=v6
v7(6:8)=0
v7(9)=0.5
15
M1=
M2=
4
3
2
1
5
1
7
9
6
3
9
5
16
Adicin o suma
Sustraccin o resta
Multiplicacin
Potenciacin
En la siguiente tabla se lista una serie de comandos que permiten calcular el determinante, la transpuesta y la
inversa de una matriz A.
det(A)
A'
inv(A)
.^
./
Hay una serie de funciones que solo se pueden aplicar elemento a elemento (no se aplican en lgebra
matricial). Algunas de ellas son:
sqrt()
Raz cuadrada
exp()
Exponencial de base e
log()
Logaritmo neperiano
log10()
Logaritmo decimal
sin()
Seno
cos()
Coseno
tan()
Tangente
abs()
Valor absoluto
Ejemplo 3.
Dadas las siguientes matrices:
0.1 0.3 0.85
M1= 0.2 0.7 0.6
0.9 0.25 0.68
1 2 9
M2= 8 7 2
3 0 5
18
M2=[1,2,9;8,7,2;3,0,5];
M3=M1+M2
M4=M1*M2
M5=det(M1)
M6=M2'
M7=inv(M1)
M8=M1^2
M9=M1.*M2
M10=M1./M2
M11=M1.^2
M12=sin(M1)
M13=exp(M1)
19
Un sistema de ecuaciones lineal que no tenga soluciones nicas se lo denomina sistema singular.
Se presentan tres maneras de resolver sistemas de ecuaciones con Matlab:
Tanto con el mtodo de la matriz inversa como con el mtodo de la divisin izquierda, es necesario definir
una matriz de coeficientes y un vector columna de trminos independientes. Utilizando el comando solve las
ecuaciones se definen como cadenas de texto (strings).
Los mtodos de resolucin se presentan mediante ejemplos.
Ejemplo 4.
20
1)
2 x + 4 y + 6 z = 18
4 x + 5 y + 6 z = 24
3x + y 2 z = 4
2)
2 x + 4 y + 6 z = 18
4 x + 5 y + 6 z = 24
2 x + 7 y + 12 z = 30
3)
2 x + 4 y + 6 z = 18
4 x + 5 y + 6 z = 24
2 x + 7 y + 12 z = 40
Las soluciones del sistema de ecuaciones utilizando el comando solve se presentan en las siguientes imgenes
de la ventana de comandos. Se observa que este comando nos permite saber si el sistema es compatible
determinado, compatible indeterminado o incompatible.
Soluciones
Infinitas
Sin
nicas.
soluciones.
solucin
21
22
Mediante el mtodo de la matriz inversa, cuando el valor del determinante vale 0, no es posible calcular la
inversa de la matriz de los coeficientes, generndose un error durante la ejecucin. En el caso 2 y 3 no es
posible identificar entre un sistema compatible indeterminado o un sistema incompatible (Inf=infinito).
% c) Mediante el mtodo de la divisin izquierda
disp('Sistema de ecuaciones 1)')
A1=[2,4,6;4,5,6;3,1,-2];
b1=[18;24;4];
x1=A1\b1
pause
clc
disp('Sistema de ecuaciones 2)')
A2=[2,4,6;4,5,6;2,7,12];
b2=[18;24;30];
x2=A2\b2
pause
clc
disp('Sistema de ecuaciones 3)')
A3=[2,4,6;4,5,6;2,7,12];
b3=[18;24;40];
x3=A3\b3
23
Utilizando el mtodo de la divisin izquierda, tampoco es posible resolver los sistemas 2 y 3 (NaN= not a
number).
De acuerdo a los resultados presentados, se concluye que el mtodo de la matriz inversa y el mtodo de la
divisin izquierda son tiles para resolver sistemas de ecuaciones lineales siempre y cuando el sistema sea
compatible. De esta manera, si el determinante de la matriz de los coeficientes es cero, no se debe continuar
con el mtodo. Por otro lado, utilizar el comando solve permite identificar entre sistemas de ecuaciones
determinados o indeterminados, adems es posible utilizarlo para resolver sistemas de ecuaciones lineales y
no lineales.
24
Se pueden modificar tres aspectos del formato de cada funcin representada: tipo de lnea, tipo de marcador y
color. Si no se asigna ningn formato a las lneas, Matlab utiliza valores por defecto. Combinando el tipo de
lnea, el color y el marcador de acuerdo a la nomenclatura presentada en las tablas siguientes, es posible
conseguir una gran variedad de representaciones visuales.
Colores
y
m
c
r
g
b
w
k
Amarillo
Magenta
Cyan
Rojo
Verde
Azul
Blanco
Negro
Tipos de lnea
Lnea continua
:
Lnea punteada
-.
Lneas y puntos
-Lnea discontinua
A fin de aadir ttulos a las grficas, nombres a los ejes y a las series se utilizan los siguientes comandos:
title(texto)
xlabel(texto)
ylabel(texto)
zlabel(texto)
legend(texto1, texto2,.., texton)
Adems, cuando se desea presentar u ocultar las lneas de divisin se activa/ desactiva la grilla con los
comando grid on/ grid off.
Grficas en el plano.
Utilizando los conceptos presentados se ejemplifica la metodologa de graficacin.
Ejemplo 5.
2
Graficar la siguiente funcin: y = x e ( x ) para el siguiente dominio 3 x 3
x = 0.05
x=-3:0.1:3;
y=x.*exp(-(x.^2));
plot(x,y,'r*-')
title('Grfica de funciones en el plano') % Ttulo del grfico
xlabel('x')
% Ttulo de la abscisa
ylabel('f(x)')
% Ttulo de la ordenada
grid on
% Muestro la grilla
25
Ejemplo 6.
Graficar las siguientes funciones en una misma grfica:
2
y = x e ( x ) con 3 x 3
x = 0.05
x2 = 0.01
x3 = 0.025
Las lneas de comando que definen las variables son las mismas en ambos casos.
x=-3:0.05:3;
y=x.*exp(-(x.^2));
x2=-1.5:0.1:1.5;
y2=sin(x2);
x3=-1.5:0.25:1.5;
26
Sintxis especfica
hold on
plot(x,y,'k-')
plot(x2,y2,'m-.')
plot(x,y,'rd-',x2,y2,'bo:',x3,y3,'g-')
plot(x3,y3,'cs--')
hold off
Y finalmente se definen las lneas de cdigo que le dan formato al grfico (ttulos, nombres de las series, etc.)
que son las mismas para ambos casos.
title(' Grfica de funciones en el plano')
xlabel('x')
ylabel('f(x)')
legend('y1','y2','y3')
El resultado es el mismo en ambos casos, excepto porque se han utilizado diferentes colores, marcadores y
tipos de lnea.
Hold on- hold off
Sintxis especfica
Como se puede observar en el cdigo, mediante hold on se le indica a Matlab que se van a graficar varias
curvas, a continuacin se escriben tantas sentencias de graficacin (en este caso plot) como curvas se desee
representar, y finalmente se escribe el comando hold off.
27
% Ventana 1
plot(x,y,rd-)
title(y1=f(x1))
xlabel(x)
ylabel(f(x))
figure(2)
% Ventana 2
plot(x2,y2,bo:)
title(y2=f(x2))
xlabel(x)
ylabel(f(x))
figure(3)
% Ventana 3
plot(x3,y3,g-)
title(y3=f(x3))
xlabel(x)
ylabel(f(x))
28
29
g ( x) = x 3
( )
h( x) = 2 cos x 2 3
con 0 x 3
x1=linspace(0,3,30);
y1=exp(x1.^(1/3))-3;
y2=x1.^2-3;
y3=2*cos(x1.^2)-3;
subplot(2,2,1)
% Grfica en la subventana 1
plot(x1,y1,bo)
title(Figura 1)
xlabel(x)
ylabel(y)
legend(f(x))
subplot(2,2,2)
% Grfica en la subventana 2
plot(x1,y2,gd)
title(Figura 2)
xlabel(x)
ylabel(y)
legend(g(x))
subplot(2,2,3)
% Grfica en la subventana 3
plot(x1,y3,rs)
title(Figura 3)
xlabel(x)
ylabel(y)
legend(h(x))
subplot(2,2,4)
% Grfica en la subventana 4
30
El comando subplot permite tratar a cada seccin individualmente, de manera tal que es posible asignarle
distintos ttulos, nombres de ejes, leyendas, etc. a cada seccin en particular.
Grficas en el espacio.
Todos los comandos presentados son aplicables en la representacin de puntos en el espacio. La nica
diferencia radica en que se utiliza el comando plot3.
Ejemplo 9.
0 s 10
x = sen( s)
y = cos(s)
z=s
s=0:pi/50:10*pi;
x=sin(s);
y=cos(s);
31
Las operaciones de suma, resta, multiplicacin y divisin se realizan mediante los siguientes comandos:
p3=p1+p2
p4=p1-p2
[p]=conv(p1,p2)
32
Las races de un polinomio se determinan utilizando el comando roots a partir de un polinomio definido en
forma completa, mientras que con el comando poly es posible hallar el polinomio elemental dadas sus races.
poly(A)
roots(B)
Dos comandos tiles en el ajuste de datos experimentales a un polinomio son polyval y polyfit.
polyval(p1,x)
polyfit(x,y,n)
Ejemplo 10.
Dados los siguientes polinomios:
p1 = 2 x 2 + 5 x 3
p2 = 7 x 2 + 3 x
Calcular:
a.
b.
c.
d.
e.
f.
p1+p2
p1-p2
p1*p2
p1/p2
races
p1 y p2 en -5 x 5
p1=[2,5,-3];
p2=[7,1,0];
a=p1+p2
b=p1-p2
pause
clc
33
a) y b)
c) y d)
e)
f)
34
x=[10 11 12 13 14 15 16 17 18 19 20];
y=[247 294 345 400 459 522 589 660 735 814 897];
p=polyfit(x,y,2)
p=2x2+5x-3
Ajuste de datos experimentales a polinomios.
En ingeniera qumica se realiza el ajuste de datos experimentales a funciones con el fin de corroborar una ley
existente o determinar (predecir) una ley a partir de datos medidos. En el primer caso, se tendr una funcin
matemtica que representa dicha ley mientras que en el segundo caso se desea determinar una funcin
matemtica que represente el comportamiento de las variables medidas.
El valor de residuo (R2) da una idea del error que se comete al considerar una funcin determinada. Cuanto
ms cercano a 1 (uno) sea dicho estimador, mejor ser el ajuste que se ha realizado.
El valor de residuo se calcula segn las siguientes ecuaciones:
SSE
R = 1
;
SST
2
( Y )
SST = Y
n
SSE =
(Y y )
n = tamao de la muestra
; Donde:
Y = datos medidos
y = valores de la funcin ajustada
Ejemplo 12.
A fin de estudiar la velocidad de desaparicin de una sustancia (A) al reaccionar con una sustancia (B), se ha
realizado la medicin de la variacin de concentracin del compuesto A con el tiempo y los resultados
obtenidos son:
Tiempo 0.3 2.1 4.3 6.5 8.3 10.6 12.3 14.2 16.5 18.2 20
Conc.
55.5 44.7 38 34.7 30.6 27.2 22
15.9 8.1 2.9 1.5
35
y=polyval(p1,x);
La variacin de la concentracin de A con el tiempo sigue una tendencia lineal segn la siguiente expresin:
y= -2.6169 x + 52.5084, con un valor de residuo R2=0.9845.
36
y= - 2.6169 x + 52.5084
R2=0.9845
37
Ejercitacin resuelta.
Manejo de vectores y matrices.
1. Dado el vector A, probar los siguientes comandos e identificar cual es su utilidad.
A = [5,8,5,7,1,2,9,3,5,3]
B=A(2) ; C=A(1:4) ;
A=[5,8,5,7,1,2,9,3,-5,-3]
B=A(2)
% Genera un vector A (escalar) a partir del 2 elemento del vector A
C=A(1:4)
% Genera un vector C a partir de todos los elementos de la col. 1 a la 4
D=A(3:-1:1)
% Genera un vector D a partir de todos los elementos de la col. 3 a la 1
E=A([2 7 1])
% Genera un vector E, a partir del 2, 7 y 1 elementos del vector A.
2. Dada la matriz B, probar los siguientes comandos e identificar cual es su utilidad.
3 2 1
B = 6 5 4
9 8 7
B(2,3) ; B(1,2) ; B(:,1) ; B(2,:) ; B(2:3,1:2) ; B(2,2)=200 ; B(:,:)=1
B=[3,2,1;6,5,4;9,8,7]
B1=B(2,3)
% Extrae de la matriz B el elemento ubicado en la fila 2 columna 3 y lo
% almacena en la variable B1 (escalar).
B2=B(1,2)
% Extrae de la matriz B el elemento ubicado en la fila 1 columna 2 y lo
% almacena en la variable B2 (escalar).
B3=B(:,1)
% Extrae de la matriz B todos los elementos de la columna 1 y los almacena
% en la variable B3 (vector columna)
B4=B(2,:)
38
39
4. Identificar en que se diferencian los siguientes comandos a partir de las matrices generadas en el paso
anterior.
A^2 con A.^2 ; A/B con A./B ; A\B con A.\B
A=magic(4)
B=ones(4)
a1=A.^2
a2=A./B
a3=A.\B
% Se realizan operaciones elemento a elemento y no operaciones
% de lgebra matricial.
5. Generar un vector cuyos elementos estn comprendidos entre 5 y 50, con intervalos de 5 unidades.
Determinar el tamao del vector anterior.
v=5:5:50
f=length(v)
A1 =
2 3
3 7
a.
A3 = A1 + A1
b.
A4 = A1 A2
c.
A5 = 2 A2
A6 = A2 '
d.
A2 =
2 5 3
7 2 8
40
e.
A8 = A1
f.
A7=A6^2
% En este caso, Matlab genera un error ya que no se puede
% aplicar la potenciacin a una matriz rectangular (3x2)
A8=A1^2
% En este caso si es posible aplicar el lgebra matricial ya que
% la matriz es cuadrada (de tamao 2x2)
7. Generar un vector M de 20 elementos, cuyos valores estn comprendidos entre 100 y 200. Calcular
N=sin(M).
M=linspace(100,200,20);
N=sin(M);
b.
c.
d.
A=magic(5);
a=A(1,1);
b=A(3,:);
c=A(:,4:5);
d=A(4:-1:1,1:3);
9.
10. Dado el siguiente sistema de ecuaciones, resulvalo utilizando el mtodo de la matriz inversa.
4x + 5 y = 3
2 x + 9 y = 6
A=[-4,5;2,9];
b=[3,-6]';
X=inv(A)*b
11. Siendo A y B las matrices mostradas a continuacin, calcule las matrices solicitadas.
A=
1 2 3
4 5 6
B=
4 2 1
1 2 1
42
J=rand(5)
d1=diag(J)'
% nd1=length(d1);
d2=[J(1,5),J(2,4),J(3,3),J(4,2),J(5,1)]
% nd2=length(d2);
ult1=d1(3)
ult2=d2(3)
par=J(2:2:24)'
% npar=length(par);
impar=J(1:25)'
% nimpar=length(impar);
whos
y = xe
( )
x2
y=x.*exp(-(x.^2));
z=0.025*x.^2-0.1*x-0.05;
plot(x,y,'r',x,z,'b')
title('Grfica de funciones')
xlabel('x')
ylabel('y')
legend('y','z')
43
14. Dados :
x = 0 : / 50 : 2
y = 0.3sin(2 x)
z = cos( x)
h = sin( x 2 ) + cos( x 2 )
Graficar:
a. Una funcin en cada grfica
b. Las tres funciones en una misma grfica
c. En una misma ventana:
1 cuadrante: y=f(x)
2 cuadrante: z=f(x)
3 cuadrante: h=f(x)
4 cuadrante: las tres funciones en la misma imagen.
Graficar las curvas con diferentes colores y marcadores
Indicar leyendas
Mostrar grilla
Etiquetar los ejes
Titular las grficas
44
y=0.3*sin(2*x);
z=cos(x);
h=sin(x.^2)+cos(x.^2)
% a
figure(1)
plot(x,y,'b*')
title('Grfica de funciones')
xlabel('x')
ylabel('y')
legend('y')
grid on
figure(2)
plot(x,z,'ro')
title('Grfica de funciones')
xlabel('x')
ylabel('y')
legend('z')
grid on
figure(3)
plot(x,h,'g-')
title('Grfica de funciones')
xlabel('x')
ylabel('y')
legend('h')
grid on
%b
figure(4)
plot(x,y,'b*',x,z,'ro',x,h,'g-')
title('Grfica de funciones')
xlabel('x')
ylabel('y')
legend('y','z','h')
45
%c
figure(5)
subplot(2,2,1)
plot(x,y,'b*')
title('Grfica de funciones')
xlabel('x')
ylabel('y')
legend('y')
grid on
subplot(2,2,2)
plot(x,z,'ro')
title('Grfica de funciones')
xlabel('x')
ylabel('y')
legend('z')
grid on
subplot(2,2,3)
plot(x,h,'g-')
title('Grfica de funciones')
xlabel('x')
ylabel('y')
legend('h')
grid on
subplot(2,2,4)
hold on
plot(x,y,'b*')
plot(x,z,'ro')
plot(x,h,'g-')
title('Grfica de funciones')
xlabel('x')
ylabel('y')
legend('y','z','h')
46
a)
b)
c)
47
0 x 5 (250 elementos)
y = cos(x)
z = y cos(x)
x=linspace(0,5*pi,250);
y=cos(x);
z=y.*cos(x);
plot3(y,z,x,'*r')
title('Grfica de curvas en el espacio')
xlabel('x')
ylabel('y')
zlabel('z')
48
6
16. Graficar la curva r = 20sin(x),1.5cos(x),2x definiendo los siguientes dominios:
a.
25 x 25 , con 10 elementos
b.
25 x 25 , con 50 elementos.
c.
i1=20*sin(x1);
i2=20*sin(x2);
i3=20*sin(x3);
j1=1.5*cos(x1);
j2=1.5*cos(x2);
j3=1.5*cos(x3);
k1=2*(x1).^6;
49
subplot(1,3,1)
plot3(i1,j1,k1,'*-r')
xlabel('x')
ylabel('y')
zlabel('z')
legend('r1')
subplot(1,3,2)
plot3(i2,j2,k2,'--b')
xlabel('x')
ylabel('y')
zlabel('z')
legend('r2')
subplot(1,3,3)
plot3(i3,j3,k3,'g')
xlabel('x')
ylabel('y')
zlabel('z')
legend('r3')
ur
r1 = ( y1 , z1 , x1 )
4 x1 3
ur
r2 = ( y2 , z2 , x2 ) 10 x2 4.8
y1 = 2 cos3 ( x1 )
z1 = 2 y1 sin 3 ( x1 )
x1=linspace(-4,3,150);
x2=linspace(-10,4.8,150);
y1=2*(cos(x1)).^3;
y2=exp(0.25)*sin(2*x2);
z1=2*y1.*(sin(x1)).^3;
z2=y2+cos(2*x2);
plot3(y1,z1,x1,'r-*',y2,z2,x2,'b-o')
title('Grfica de curvas en el espacio')
xlabel('x')
ylabel('y')
zlabel('z')
legend('r1','r2')
51
P1 = 2 x 4 +3x 3 + 7 x 2 + 8 x + 1
P2 = x 4 +3x 3 + x 2 + 3 x + 1
calcular:
a. Races
b. P1/P2
c. P1*P2
d. P1+P2
P1=[2,3,7,8,1];
P2=[1,3,1,3,1];
a1=roots(P1)
% Races de un polinomio
a2=roots(P2)
% Races de un polinomio
[Q,R]=deconv(P1,P2)
% Divisin de polinomios
c=conv(P1,P2)
% Producto de polinomios
d=P1+P2
% Suma de polinomios
% Evala el polinomio P1 en x
p=poly(r)
52
datos=[0,12.3;10,20;20,30;30,40.5;50,63;60,65];
pol=polyfit(datos(:,1),datos(:,2),2);
datos(:,3)=polyval(pol,datos(:,1));
plot(datos(:,1),datos(:,2),'*k',datos(:,1),datos(:,3),'r');
title('Ajuste de datos experimentales a una funcin');
legend('Datos exp.','Funcin ajustada');
xlabel('x');
ylabel('y');
[f,c]=size(datos);
SSE=sum((datos(:,2)-datos(:,3)).^2);
SST=sum(datos(:,2).^2)-sum(datos(:,2))^2/f;
R2=1-SSE/SST
53
9a 3b = 24
11a + 2b = 1
A=[9,-3;11,2]
b=[24;1]
%a
x1=inv(A)*b
%b
x2=A\b
%c
p1='9*x1-3*x2-24=0';
p2='11*x1+2*x2-1=0';
[c1,c2]=solve(p1,p2)
23. En las estaciones de servicio es preciso aadir cido sulfrico diluido a las bateras secas a fin de
activarlas. Se nos pide preparar un lote nuevo de cido al 18.63% utilizando una disolucin ms dbil
que contiene 12.43% de H2SO4 (el resto es agua pura) y que se encuentra en un tanque. Si se agregan
200 kg de H2SO4, al 77.7% al tanque, y la disolucin final tiene que ser H2SO4, al 18.63%, Cuntos
kilogramos de cido de batera se han preparado? Vea la figura.
Plantear el sistema de ecuaciones y resolverlo con Matlab.
p1='200+x=y';
p2='0.777*200+0.1243*x=0.1863*y';
[x,y]=solve(p1,p2)
Alt + 58
Alt + 47
Alt + 92
'
Alt + 39
Alt + 40
Alt + 41
Alt + 91
Alt + 93
Alt+179
Alt+126
Alt+37
&
Alt+38
Alt+59
Alt+94
<
Alt+60
Alt+61
>
Alt+62
==
Es igual?
~=
Es distinto?
<
Es menor?
<=
Es menor o igual?
>
Es mayor?
>=
Es mayor o igual?
&
NO
55