Você está na página 1de 7

ALGORITMOS Y LENGUAJE DE PROGRAMACIN 17 de julio de 2011

4toTRABAJO DOMICILIARIO
Soluciones a los problemas de Funciones programa MATLAB:

Problema 1
Matlab: a) Para este problema se emplea lo ya estudiado en todo el seudocodigo function Y=fact(L) n=L ; ft=1 ; for i=1:n ft=ft*i ; end Y=ft ; b) Para este problema se usa comandos de suma, es decir, una simple suma de cada valor ingresado para dar con la combinatoria function Z=combinatoria(a,b) fact=1 ; c=a-b ; for i=1:a fact=fact*i ; end fact0=1 ; for i=1:b fact0=fact0*i ; end fact1=1 ; for i=1:c fact1=fact1*i ; end Z=fact/(fact0*fact1) ;

c)En este problema nos piden allar la !unci"n #ue calcule las ra$ces de una ecuaci"n cuadr%tica&

UNI

ALGORITMOS Y LENGUAJE DE PROGRAMACIN 17 de julio de 2011

function [r1,r2]=raice (!,m,n) di c=m"2-#*!*n ; r1=(-m$(di c"0%&))/(2*!) ; r2=(-m-(di c"0%&))/(2*!) ; d)Se guardo con un nombre interpolacion en la carpeta 'or( del programa Matlab& function [L]=int'o!ar((,),Y) n=!en*t+()) ; for i=1:n-1 if (,=)(i) -- (.=)(i$1) ; L=(Y(i$1)-Y(i))/()(i$1)-)(i))*((-)(i))$Y(i); end end e)Este problema es una variante de lo ec o en traba)os domiciliarios con la una di!erencia de usar una !unci"n& function [/,0]=re*!inea!((,1) /=(( um((%*1)*!en*t+(())-( um(()* um(1)))/ (( um((%*()*!en*t+(())-(( um(())"2)); 0=( um(1)/!en*t+(())-((/* um(())/!en*t+(());

!) Se reali*a una !unci"n para indicar el menor valor de un vector ingresado& function L=min2ector(() n=!en*t+(() ; menor=((n) ; for i=1:n if ((i).= menor menor=((i) ; end end L=menor ; g) Se reali*a una !unci"n para indicar el mayor valor de un vector ingresado& function 3=ma(2ector(b) n=!en*t+(b) ; ma4or=0 ; for i=1:n if b(i),= ma4or ma4or=b(i) ; end end
UNI 2

ALGORITMOS Y LENGUAJE DE PROGRAMACIN 17 de julio de 2011 3=ma4or ;

) Se guardar% con un nombre sumavector en la carpeta 'or(& function Y= uma2ector(() n=!en*t+(() ; uma=0 ; for i=1:n uma= uma$((i) ; end Y= uma ; i) se guardar% con un nombre promvector en la carpeta 'or( & function Y='rom2ector(5) n=!en*t+(5) ; uma=0 ; for i=1:n uma= uma$5(i); end 'rom= uma/!en*t+(5) ; Y='rom ; )) se guardar% con un nombre ordenamiento en la carpeta & function 6=ordenamiento(1) n=!en*t+(1) ; for i=1:n-1 for 7=i$1:n if 1(i),1(7) tem'=1(i) ; 1(i)=1(7) ; 1(7)=tem' ; end end end for i=1:n 6(i)=1(i) ; end

Problema 2
Matlab: a) En este problema se calcular% la presi"n de vapor para una sustancia&
UNI 3

ALGORITMOS Y LENGUAJE DE PROGRAMACIN 17 de julio de 2011 Se reali*ar% el programa en!ocado a una matri* por ello para la constante #ue representa b se escribir% b+,) ,b+-) y b+.)& Luego de esto se guardar% con un nombre presion en la carpeta 'or( del programa Matlab& /Se ingresar% la temperatura y las constantes espec$!icas como matri* function Y='re ion(a,b) 8=e('(b(1)-(b(2)/(b(9)$a))) ; Y=8 ; b) /Se ingresar% la presion de vapor y las constantes espec$!icas como vector function Y=tem'eratura((,1) :=(1(2)/(1(1)-!o*m(()))-1(9) ; Y=: ;

Problema 3
Matlab: a) En este problema se calcular% la presi"n de burbu)a para n sustancias& Se reali*ar% el programa pero como se necesita usar la presi"n de vapor e0traemos la !unci"n presionbur+T,A,n) #ue ya ab$a creado para !acilitar el proceso& Luego de esto se guardar% con un nombre presionbur . function ;='re ionbur(!,m,n) f=fraccionmo!(n); a=e('(m(:,1)-(m(:,2)%/(!$m(:,9)))) ; (=f ; '= um((%*(a<)) ; ;=' ;

b) En este problema se calcular% la presi"n de rocio para n sustancias& Se reali*ar% el programa pero como se necesita usar la presi"n de vapor e0traemos la !unci"n presionros+T,A,n) #ue ya ab$a creado para !acilitar el proceso& function :='re ionro (=,>,m) =fraccionmo!(>) ;
UNI 4

ALGORITMOS Y LENGUAJE DE PROGRAMACIN 17 de julio de 2011 a=e('(m(:,1)-(m(:,2)%/(=$m(:,9)))) ; *= ; 'r=1/( um(a%/*<)) ; :='r ;

c) En este problema se calcular% la presi"n de burbu)a para n sustancias& Se reali*ar% el programa en este se aplicar% el m1todo del punto !i)o usando 2 ile y dentro de este como se necesita usar la presi"n de vapor e0traemos la !unci"n temperaturabur+T,A,n) #ue ya ab$a creado para !acilitar el proceso tambi1n se usa la columna a+:,,) #ue representa los valores de A en la !"rmula as$ mismo a+:,-) para B y a+:,.) para 3& 4uard%ndolo con un nombre temperaturabur en la carpeta 'or(& function ?=tem'eraturabur(a,b,c) d=fraccionmo!(b) ; te=(c(:,2)%/(c(:,1)-!o*10(a)))-c(:,9) ; +=d ; to= um(+%*(te<)) ; error=1 ; emin=0%0001 ; @+i!e error,emin 'i=e('(c(:,1)-(c(:,2)%/(to$c(:,9)))) ; '1=('i(1)*a)/ um(+%*('i<)) ; t1=(c(1,2)/(c(1,1)-!o*10('1)))-c(1,9) ; error=ab (to-t1) ; to=t1 ; end ?=to ; d) En este problema se calcular% la presi"n de rocio para n sustancias& Se reali*ar% el programa en este se aplicar% el m1todo del punto !i)o usando 2 ile y dentro de este como se necesita usar la presi"n de vapor e0traemos la !unci"n temperaturaros+T,a,n) #ue ya ab$a creado para !acilitar el proceso tambi1n se usa la columna a+:,,) #ue representa los valores de A en la !"rmula as$ mismo a+:,-) para B y a+:,.) para 3& function L=tem'eraturaro (a,b,c) d=fraccionmo!(b) ; te=(c(:,2)%/(c(:,1)-!o*10(a)))-c(:,9) ; +=d ; to= um(+%/(te<)) ; error=1 ;
UNI 5

ALGORITMOS Y LENGUAJE DE PROGRAMACIN 17 de julio de 2011 emin=0%0001 ; @+i!e error,emin 'i=e('(c(:,1)-(c(:,2)%/(to$c(:,9)))) ; '1=('i(1)*a)/ um(+%*('i<)) ; t1=(c(1,2)/(c(1,1)-!o*10('1)))-c(1,9) ; error=ab (to-t1) ; to=t1 ; end L=to ;

Problema 4
Matlab: a) En este problema se calcular% el volumen molar para una sustancia& Se tiene #ue escribir la palabra function seguido de ello se escribir% el nombre de la !unci"n #ue se #uiere reali*ar y entre parentices va la temperatura del proceso, la temperatura critica +vector),la presi"n, la presi"n critica +vector), el !actor ac1ntrico 2 +vector), as$ y5volumenmolar+T,Tc,P,Pc,2)& &4uard%ndolo con un nombre volumenmolar. / la ecuaci"n de Peng 6obinson function 4=2o!umenmo!ar(:,:c,8,8c,@) A=0%0B2; :r=:/:c; a=0%#&C2#*A"2*:c"2/8c; b=0%0CCB0*A*:c/8c; m=0%9C#D#$1%&#22D*@-0%2DEE2*@"2; a!fa=(1$m*(1-:r"0%&))"2; emin=0%0001; error=1; 21=A*:/8; @+i!e (error,emin) 22=b$A*:/(8$a*a!fa/(21*(21$b)$b*(21-b))); error=ab (21-22); 21=22; end 4=21;

b) Se calcular% el volumen molar para una me*cla gaseosa de sustancias& 4uard%ndolo con un nombre volumenm en la carpeta 'or( &
UNI 6

ALGORITMOS Y LENGUAJE DE PROGRAMACIN 17 de julio de 2011

function 4=2o!umenm(n,:,:c,8,8c,@) m =!en*t+(n); f=fraccionmo!(n); (=f; uma=0; for i=1:m uma= uma$2o!umenmo!ar(:,:c(i),8,8c(i),@(i))*((i); end 4= uma;

UNI

Você também pode gostar