Está en la página 1de 5

GUIA BÁSICA PRQ 404

Guía básica 1er parcial PRQ404 (Programación y análisis numérico)


Aux. Rodrigo Surculento Villalobos

I. Equivalencias Diagrama de flujo/ Código Matlab/ GUIDE

Elemento Diagrama de flujo Matlab Guide


Entrada A=input(‘texto’); A=str2double(get(handles.edit#,’string’));
de Datos A
 edit# se refiere al tag del
elemento
Procesos A=2; A=2;
A=2
B=A^2 B=A^2; B=A^2;
C=A+B C=A+B; C=A+B;
Impresión fprintf(‘texto %f\n’,A) set(handles.edit#,’string’,num2str(A))
de Datos A disp(‘texto’)
disp(A)  edit# se refiere al tag del
elemento
Gráficas plot(x,y) Axes(handles.axes#)
stem(x)

 x e y son  axes# se refiere al tag del


vectores elemento

II. Funciones

Podemos clasificar las funciones en 4 tipos:


o Funciones que son programa
Al crear el archivo tipo function se creará un archivo con el siguiente
contenido:
function [ output_args ] = Untitled9( input_args )
%UNTITLED9 Summary of this function goes here
% Detailed explanation goes here

end

Donde:
[ output_args ]: Indica los elementos de salida de la función (lo que se espera
que calcule la función)
Untitled#: Indica el nombre del archivo y por tanto de la función (como se le
hará el llamado posteriormente)

AUX. RODRIGO SURCULENTO VILLALOBOS 1


GUIA BÁSICA PRQ 404

(input_args): Indica los elementos de entrada de la función (las variables a


introducir para que el programa pueda realizar los cálculos)
 Toda la programación debe estar comprendida entre function y end.
 El programa tipo function no se ejecuta solo se debe guardar

Ej:
function [ P ] = ecestado( V,T,R,n )
%UNTITLED9 Summary of this function goes here
% Detailed explanation goes here

P=(n*R*T)/V;
end

La forma de ejecutar la función es escribiendo lo siguiente en el comand


window una vez guardado el archivo:

>>ecestado(10,315,0.082,100)

 Los valores dentro del paréntesis corresponden a los input_args y son


arbitrarios.
 El resultado de ejecutar el comando anterior será el de el output_arg
(P).

o Funciones anónimas

Son funciones que se crean y se ejecutan dentro de un determinado programa,


estas no pueden ser llamadas desde otros programas ajenos al del que
provienen.

Ej:
f=@(x,p,kp) (kp-(((1-x)*(3+x)^(1/2))/(x*(x+1)^(1/2)*(p^(1/2)))));

 La característica de este tipo de función es el @, la parte de@(x,p,kp)


del ejemplo indica las variables de las que depende la función que esta
siguiente.
 La manera de ejecución es simplemente evaluar la función, en nuestro
caso: a=f(0.1, 5, 3.6)

o Funciones simbólicas

Son funciones que se apoyan en el comando syms para declarar variables, al


usar este comando se crea una variable simbólica la cual puede ser usada para
crear funciones.
Ej:
syms x
f=sin(x)*exp(sin(x));

AUX. RODRIGO SURCULENTO VILLALOBOS 2


GUIA BÁSICA PRQ 404

Donde la función simbólica está representada por f.


La forma de evaluar este tipo de función consiste en dar un valor a x y
posteriormente usar el comando eval:
x=4;
y=eval(f)

o Funciones inline

Son funciones que se crean a partir de una función simbólica, y se transforman


mediante el comando inline en una función de tipo anónima.
Ej:
syms x
f=sin(x)*exp(sin(x));
g=inline(f)
 En este caso g se convierte en una función tipo g(x) en la que para
evaluarla se aplica la evaluación directa i.e. g(2).

III. Gráficas

Para gráficas subdividiremos los comandos en 2 tipos, las gráficas 2D y las 3D


adjuntando los comandos extra que requieren:
o Gráficas en 2D
Comando Condiciones de uso
plot(x,y) x e y son vectores

stem(x) x es un vector
subplot(m,n,o) m: Filas de gráficas
n: Columnas de gráficas
o: La división en la que se desea
poner la gráfica.
 El comando sirve para poner
varias graficas de manera
simultanea
comandos adicionales:
title(‘texto’) Título de la gráfica
xlabel(‘texto’) Título del eje x
ylabel(‘texto’) Título del eje y
grid on Cuadricula normal
grid minor Cuadrícula menuda
hold on Para superponer una gráfica

AUX. RODRIGO SURCULENTO VILLALOBOS 3


GUIA BÁSICA PRQ 404

o Gráficas en 3D

Comando Condiciones de uso


ezsurf(fun) fun: es una función que depende de
x, y, z además estas variables deben
ser de tipo syms
fsurf(@(x,y) fun) fun: es una función que depende de
las variables definidas dentro de
@().
plot3(x,y,z) x, y, z: deben ser vectores

IV. Ejemplos

1. Hallar el valor de pi mediante la serie de Taylor


clc
clear all
N=input('introduzca el numero de iteraciones: ');
S=1;
D=1;
for i=1:1:N
T=1/(D+(i+1))*(-1)^i;
S=S+T;
D=D+1;
end
S=S*4
test=pi;
error=abs((test-S)/test)*100;
fprintf('el valor calculado es: %f con un error de %f\n',S,error);

Para este caso se usó un ciclo for, sin embargo, es posible también realizarlo con un ciclo
while.

2. Hallar el valor de sin(x) mediante series de Taylor

clc
clear all
N=input('introduzca el numero de iteraciones: ');
x=input('introduzca el valor de x que desea calcuar: ');
S=x;
T=x;
D=0;
for i=1:1:N
T=-T*((x^2)/((D+i+1)*(D+i+2)));
S=S+T;
D=D+1;
end
test=sin(x);
error=abs((test-S)/test)*100;
fprintf('el valor calculado es: %f con un error de %f\n',S,error);

AUX. RODRIGO SURCULENTO VILLALOBOS 4


GUIA BÁSICA PRQ 404

3. Hallar el valor de la integral por el método del paralelogramo

clc
clear all
n=input('introduzca el valor ');
xo=0;
xn=5;
h=(xn-xo)/n;
f=@(x) (x-sin(x));
for i=1:1:n-1;
x(i)=xo+i*h;
y(i)=f(x(i));
end
s=0;
for i=1:1:n-1
s=s+y(i);
end
yo=f(xo);
yn=f(xn);
I=(h/2)*(yo+2*s+yn);
fprintf('El valor de la integral es: %f\n',I)

4. Hallar el valor del volumen mediante el método de newton Raphson


clc
clear all
Vo=input('el volumen inicial es: ');
tol=input('la tolerancia es: ');
P=204;
T=21+273;
a=2.25;
b=0.0428;
R=0.082;
f=@(P,T,V,a,b,R) ((P+(a/V^2))*(V-b))-R*T;
error=1;
while error>tol
df=(f(P,T,Vo+10^-6,a,b,R)-f(P,T,Vo,a,b,R))/10^-6;
V1=Vo-(f(P,T,Vo,a,b,R)/df);
error=abs(Vo-V1);
Vo=V1;
end
fprintf('el resultado es: %f\n',Vo)

AUX. RODRIGO SURCULENTO VILLALOBOS 5

También podría gustarte