Escolar Documentos
Profissional Documentos
Cultura Documentos
FU DAM NTO D UND MEN OS DA EN ENH RIA NGE HAR QU Q MIC NO MA LAB CA ATL B
PTCC
RECI IFE 2009 9
Gustavo de Almeida Castro Priscila Carvalho dos Santos Phillipi Rodrigo de Oliveira Souza
Arte final digital
Este documento parte integrante do material didtico do Programa de Treinamento em Computao Cientfica, PTCC, da Diretoria de Informtica da ELEMENTUS JR. Consultoria e tem por objetivo descrever os princpios fundamentais da programao em ambiente MATLAB direcionado engenharia qumica. Criado pelo Diretor de Informtica o Sr. Phillipi Rodrigo de Oliveira Souza, com a orientao da Diretoria Executiva presidida pela Sra. Priscila carvalho dos Santos e apoio das demais diretorias.
Apresentao
Desde o princpio, a tecnologia vem sendo um fator limitante para as engenharias. Ela se desenvolve medida que a tecnologia avana e a tecnologia , por sua vez, cresce proporcionalmente ela como numa relao simbitica. Dentre os principais fatores responsveis por tal fato, a informtica tem um papel de destaque. Com o desenvolvimento de computadores de maior capacidade de armazenamento e processamento, problemas que at ento no tinham soluo vivel se mostram possveis e os desenvolvimentos na rea da engenharia crescem exponencialmente. Para a Engenharia Qumica e Qumica Industrial, tal desenvolvimento vem sendo sentido em todas as suas reas. Sistemas de Informao, Biotecnologia, Fenmenos de Transporte, Controle de Processos, Reatores, Automao, Processos Qumicos e Operaes Unitrias so alguns exemplos de atuao da informtica. O MATLAB um programa de computador desenvolvido para assistir, dentre muitas reas das cincias exatas e humanas, a engenharia. Com uma interface simples e prtica suas ferramentas so uma poderosa arma para a soluo de problemas em Engenharia Qumica. Alm de recursos bsicos de programao, o MATLAB traz uma gama de ferramentas que auxiliam estudantes, pesquisadores e profissionais da rea em suas atividades laborais conferindo, aos mesmos, carter profissional. com esse pensamento que ELEMENTUS JR. Consultoria, atravs de sua Diviso de Informtica com seu Programa de Treinamento em Computao Cientfica (PTCC), promove o curso Fundamentos da Engenharia Qumica no MATLAB. O PTCC tem o objetivo de promover a cultura da Engenharia Digital entre os membros do Departamento de Engenharia Qumica e Qumica Industrial lotado no Centro de Tecnologia e Geocincias da Universidade Federal de Pernambuco e a comunidade externa. O curso direcionado aos estudantes e profissionais na rea de Engenharia Qumica e Qumica Industrial. Seu contedo est distribudo em quatro mdulos e uma carga horria de trinta horas. Os mdulos so divididos como segue: Mdulo 1 (Conceitos Bsicos Como Manipular?): traz ao leitor o primeiro contato com a interface grfica do programa, noes de aritmtica de mquina e conceitos operacionais da matemtica matricial em MATLAB. Mdulo 2 (Fundamentos da Programao Como Programar?): introduz os conceitos de programao no que diz respeito estrutura e lgica de programao voltada aos recursos do MATLAB. Mdulo 3 (Manipulao de Dados Como Trabalhar?): apresenta os principais recursos do MATLAB para a importao, manipulao e exportao
de dados das mais variadas formas. Mdulo 4 (Estudo de Casos Como aplicar na Engenharia?): alm de todos os conceitos vistos em mdulos anteriores, traz aplicaes de ferramentas para a resoluo de problemas comuns Engenharia Qumica, sempre em casos reais. Todos os mdulos so acompanhados de vrios exerccios, todos realizados em sala de aula. No fim desta apostila o leitor encontrar um CD com a verso eletrnica deste documento, a verso eletrnica das apresentaes em slides exibidas durante as aulas e exerccios em extenso m com gabaritos sugeridos. Ao leitor, desejamos boas vindas e boa Leitura.
SUMRIO
Mdulo 1: Conceitos Bsicos Como Manipular ?
Ambiente de Trabalho Janela Command Window Janela Workspace Janelas Command History e Current Directory Erros Editor de Texto Ajuda Problema 1.1 Trabalhando com Matrizes
Trabalhando com Escalares Trabalhando com Matrizes Multi-Elementares Operaes com Matrizes Indexao de Vetores/Matrizes Criao de Variveis Anlise de Vetores
2 3 4 5 5 7 7 10 11 11 15 18 20 21 22 24 28
Estrutura de Repetio Problema 2.3 Sub-Rotinas como Funes (Trabalhando na janela de comandos) Problema 2.4 Consideraes Finais
37 38 41 43 46
Mdulo 1: du o
Ambiente de Trabalho
Aps a sua inicializao, o M MATLAB exige um determina intervalo de ado temp para a leitura de seus arqu po uivos opera acionais. D Durante es proces o sse sso prog grama se encontra ar bloque eado para quaisqu a uer ativida ades. Se seu computador p possui as configura aes mnimas de hardware exigidas pela grama, ess instante de tempo no pass se e o sar de alg guns segun ndos. verso do prog Dura ante esse p processo u uma mensa agem ser exibida no lado esq querdo da barra b de status indic cando que o software est inicia e alizando, fi igura 1.1.
Aps co oncluir ess etapa o MATLAB exibir, no mesm local, outra sa B , mo o men nsagem, de essa vez disponibiliza ando-o par o uso, fi ra igura 1.2.
Seu am mbiente de esenvolved dor, ou interface gr rfica, s subdividida em a o nfigurae imutveis ao es cinco barras e quatro janelas. As barras possuem con cont trrio das janelas que podem s alterada a fim de proporcio e ser as e onar ao usurio maio conforto e pratici or o idade. Como mostra a figura 1.3, a in a a nterface po ossui quat barras l tro localizadas na parte superior e uma parte inferior. s e
A prime eira barra (primeira d cima para baixo) se encon de ) ntra a barr de ra ttulo Nela e os. encontramos o ttulo do prog o grama. Aba aixo da barra de t tulos temo a barra de menus Atravs dela pode os s. emos acess todas a ferrame sar as entas dispo onveis. Lo abaixo temos a b ogo o barra de fe erramentas e a barra de endere s a eos. Na b barra de fe erramentas observam atalho para as principais aplicae do s mos os s es prog grama, j na barra de ender reos, os diretrios podem s s ser acessados atrav de um sistema d endereamento similar ao do WINDO vs m de s OWS. Na parte p infer da interface enco rior ontramos a barra de status. Ne podemo saber qual a ela os situa ao de op perao do programa o a. Jane Comm ela mand Wind dow Ainda n figura 1.3 podemo visualiz quatro janelas dispostas la na os zar ado a lado. A janela da direita denom a minada Com mmand W Window, ou simplesm u mente janela de com mando. Ne so e ela executados os coma s andos prin ncipais pa a ara realizao de seus trabalhos. S o sistema no e Se estiver executando uma ativid dade que u utilize toda sua mem a mria, voc ir encontrar um pro ompt indicando que o program aguard suas in ma da nstrues, figura 1.4 Para lim 4. mpa-l utili iza o clc]. comando [>> c
Jane Works ela space Na parte superior esquerda, figura 1.3 temos a janela res e r 3, sponsvel pela mem mria temp porria visvel do programa a Work a, kspace, fig gura 1.5. Sua mem mria tid como te da emporria uma vez que desligado o p programa, seus dado os sero perdido o os. Nele podemos encont s trar todo os os dados dispo onibilizado ao cdig por meio dos com os go mandos de atribuie Para lim e es. mpal ut tiliza o com mando [>> clear].
os Erro Assim c como todo software e hardwar o MATL e o c re, LAB computado no or qual foi insta alado est sujeitos bugs (erros). Tais erro podem ser o s s os m dese encadeado por prob os blemas de lgica int e terna de p programa ou por erro o, r de o operao do usurio. ros dos oblemas de lgica int e terna de programa do o Para err causad por pro softw ware, gera almente e erros em c cdigo Ja ava, ou Ja ava Script o MATL t, LAB compila o mes smo erro viciando a lgica de execu d o do sof ftware. Ne esses caso neces os ssrio reinic o siste ciar ema. Os erro causado por m operao do usu os os rio pode ser de qu uatro tipos s: a. a b. b c. c d. d Sintaxe; Argume entos; Interrup po; Memria.
Os erro de sinta os axe ocorre quando o usurio insere u cdigo no em o um o reco onhecido pelo compil lador. So os erros mais simp o ples de serem corrig gidos.
5 ELEM MENTUSJR.C ConsultoriaPTCC
Como p pode ser visto na f figura 1.9, todas as linhas so numer , s radas lao. Um linha s ser co ma ompilada se, e s auxiliando no controle de compil erior j tiver sido. r somente se, a linha ante Ajud da Devido enorme abrang ncia do software nas diver rsas reas da s cincia, a com mplexidade de sua utilizao torna-se inevitvel. At a ed e dio dest documento, o MA te ATLAB po ossui mais de 500 co omandos d distribudos em s mais de 40 ca s aixas de fe erramentas tornando s o-se evidente a impo ossibilidad de de lemb brana e co ompreens de todo o os. Sabendo dessa im mpossibilid dade o MA ATLAB v vem com u sistem de um ma supo ao usu orte urio (HELP) que visa assisti-lo no que di respeito utiliza de o iz o sua interface e ferramentas.
exibio da janela pr a rpria do Help click n cone H no na barr de ra Para a e ferra amentas. E subd Ela dividida em duas jan m nelas princ cipais. No lado esqu uerdo temo uma ja os anela divid dida em q quatro aba no qua o conte as al edo pode ser e busc cado atrav vs de bib bliotecas (Contents) indexao de palavras (Index), ), asso ociao de caracteres (Search Results) e exemplos demostra e s ativos (Dem mos). No lado direit temos a janela responsv pela e to vel exibio, v HTML, dos via resu ultados dos sistemas de busca, figura 1.13. s
As demonstraes podem s acionad pelo p ser das prompt de comando, pela inter rface grfica espec cfica (jane ela prpria) ou pe ela interne atravs da et, s hom mepage da MATHWO ORKS. Em am mbos os c casos o u usurio en ncontrar sintaxes de coman ndos, mplos ilustrativos e in ndicaes de refern ncias biblio ogrficas. exem
a. D Durante o curso voc far inmeros exe c erccios ap plicados. P Para que sejam pass sivos de resgate c crie um d diretrio de nome CURSO_ d _MATLAB no ende ereo que se segue: C:\...\Desk ktop A pa de hoje esse ser o seu dir artir e r retrio de trabalho du t urante as a aulas. b. D Descubra, utilizando os recurso de ajuda, o que o comand ODE45 os do 5.
10 ELEM 1 MENTUSJR.C ConsultoriaPTCC
Mdu 1: Con ulo nceitos B Bsicos Como M Manipular ? r Trabalhando com M o Matrizes
De form no co ma omercial os primeiro sistema de com os as mputao fo oram dese envolvidos com siste ema de con ntagem de ecimal. Tal sistema, usado des o sde ber da cin o ncia, se mostrou a maneira mais ad a dequada d represe de entar qualquer quan ntidade e, dessa for rma, no se pensou inicialme s u ente em ut tilizar qualquer outro tipo de aritmtica em m o a quinas. N entanto a aritm No o, mtica decimal no s adaptou de forma otimizada aos siste se u a a emas eltr rico-eletrn nicos dos circuitos, at ento relativam o mente prim mitivos. Ap ps vrios trabalhos de s pesq quisa cheg gou-se ao s sistema ar ritmtico mais adequado, o sist m tema aritm mtico binrio, utilizad por tod o mund No sis do do do. stema deci imal tnham mos que gerar g tintos que representa assem os dez valore do siste es ema (de 0 9), dez sinais dist j no binrio p o precisamos apenas d dois (0 e 1). O sis s de stema bin adapto rio ou-se de f forma extr raordinria pois dois tipos de sinais s a, sempre fo oram fceis de prod duzir. Quan um sin eltrico era emitid tnhamo a representao do 1, ndo nal o do os d quan no tn ndo nhamos o 0. Com o sistema b binrio todas as info ormaes eram resu umidas em um m conjunto forma ado por do algaris ois smos. Mas como seria a melh maneir de s hor ra orga anizar esse conjunto? Foi preciso uma maneira que unisse p e ? m e praticidade, que implicaria em velocidade de opera e aes, e adaptabilida ade, j que tnhamos um e s novo sistema de contage O sist o em. tema matricial foi a m melhor forma encont trada para armazen a namento e transmis sso de dados e o motivo simples As d s. matr rizes esto sujeitas diretrize bsicas de um es o s es s spao veto orial e com tal mo pod amos aplic todos o preceito desenvo car os os olvidos pela lgebra a analtica. Para pr rogramar e MATLA em AB o us surio ter que conh hecer algu umas prop priedades d lgebra vetorial q sero mostradas ao longo desse mdulo. da a que m s Com a matriz o elem mo z mento mais importan na programao em m, alguns s nte recu ursos foram criados p m para simplificar a vid do usu no que diz respe da rio e eito cria de cd o digos que u utilizem ma atrizes. Usarem o termo varivel d forma in mos o de ntercalada para defin as matrizes. nir balhando c com Esca alares Trab A lgeb analtic classifica escalare e matriz de form diferen e, bra ca es zes ma nte cons seqentem mente co om propriedades distintas. Teria ento que dese envolvermo uma fo os orma de tr rabalhar co duas p om plataformas? No. Ento E como resolver esse inc r cmodo? A idia foi simples. Basta trat um escalar tar como uma ma atriz 1x1, u uma matriz com um nico elem z mento ou, informalmente, matr de dime riz enso nula a. Operar com esses elementos nos leva a c considerar as regras de s oper rao de u escalar que, por s vez, n conflita com as propriedade de um sua o es oper rao matr ricial. As expr resses so criadas r respeitand uma hierarquia de prioridade de do e es exec cuo de o operadores Essa hie s. erarquia po ser res ode sumida segundo a ta abela 1.1.
Prio oridade 1 2 3 4 5 6 7
Para praticar essa hierarq quia de prioridades execute os segu p s uintes comandos no prompt. >> 4 * 2 + 6 ans = 14 >> 4 * 2 + 6 / 3 ans = 10 Dica se o com a: mando a s inserido for idntico ou sem ser o melhante a outro inserido ante eriormente utilize o C Command History ou as setas de naveg u s gao e do seu teclado.
>> 4 * (2 + 6) / 3 ans = 10.6 >> 4 * (2 * 6 2) / 3 ans = 13.3 >> 4 * (2 * (6 2) / 3 )) ans = 10.6 >> 2 ^ 2
12 ELEM 1 MENTUSJR.C ConsultoriaPTCC
Para au uxiliar os c clculos e compreen nder resulta ados o MA ATLAB po ossui cons stantes num mricas pr redefinidas tabela 1.2. s,
13 ELEM 1 MENTUSJR.C ConsultoriaPTCC
As cons stantes Inf e NaN n f no repres sentam valores num mricos em sua m ncia. So apenas c o conceitos d desenvolvidos pelo sistema e que prec cisam ess ser interpretad dos de for rma corret Para entendermo tais co ta. e os onceitos va amos fazer uma brev reviso sobre aritm ve mtica de ponto flutu uante. A matemtica operada por uma mq quina proc cessadora diferent da te mate emtica pr rocessada por nossa mentes. Ambos n conseg as . no guem qunt tificar mate ematicame ente o inf finito e o nfimo ut tilizando d outros recursos para de inter rpret-los, como co onceitos m matemtico os. No ca aso dos processad dores lgic artificia essa c cos ais, capacidade mais limitada, p e l pois sua m memria mais limita ada. De fo orma gera ns pod al, demos che egar a um nmero to grande ou m pequ ueno quan ns queiramos, e nto enquanto a mquina no. Por essa limit a tao os p processado ores possu uem um n mero mx ximo e mn nimo alcan nvel em seus proc cessamento os. Por essas implicaes, na a aritmtica de ponto flutuante, o aritmtic de d ou ca mq quina, exis stem duas regies n qual o sistema d contagem no varre: no de v unde erflow e ov verflow. A regio de unde o erflow repr resenta va alores que so muit prximo de e to os zero (positivos ou nega o s ativos), ou seja, de valor abso v oluto to p pequeno que a mq quina no consegue computar o resu r. ultado de uma opera ao numrica que muito pe equena para ser repr resentada com a ope erao par ser ofere ra ecida dor. Na re egio do o overflow ocorre o in o nverso, n meros qu se ue pelo computad apro oximam do infinito no so a o alcanados o resultado de uma oper s. rao num mrica que muito gr rande para ser repre a esentada com a oper rao forne ecida pelo computad dor.
Essas re egies pod dem ser vis sualizadas na figura 1.14 onde s e: Mnc mximo nmero co c-: omputado negativo; mnc mnimo nmero co c-: omputado n negativo; mnc mnimo nmero co c+: omputado positivo; Mnc mximo nmero c c+: o computado positivo. o
14 ELEM 1 MENTUSJR.C ConsultoriaPTCC
O forma de exibio de nmeros na tela po ato n ode ser co onfigurado pelo comando form mat. Embora tenha inmeros formatos apenas quatro sero a s s, s s impo ortantes aos nossos objetivos imediato e podem ser exp s s os plorados como c mostra a seguir.
>> 0 0.333333 33333 ans = 0.3333 format s short e >> f >> 0 0.333333 33333 ans = 3. .3333e-0 001 >> f format l long >> 0 0.333333 33333 ans = 0.333333 0 333330000 00 >> f format l long e >> 0 0.333333 33333 ans = 333330000 000e-001 1 3.33333 format s short >> f >> 0 0.333333 33333 ans = 0.3333
Trab balhando c com Matri izes Multi-Elementa ares Matrizes ou variveis des s sse tipo podem ser criadas com ou sem p incre emento. Sem increm mento ser necess rio digitar todos os elemento da os matr o que n ocorre com a cria riz, no ao por in ncremento.
15 ELEM 1 MENTUSJR.C ConsultoriaPTCC
>> A = [2 4 6] A = 2 4 6
Algumas matrizes de to utilizadas, podem s criadas com sim s, , ser s mples mo er comandos com pode se observado a seguir. a ade: Para uma matriz Identida >> I = eye( (5) I = 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0
a mica: Para uma matriz Randm >> W = rand d(2,3) W = 0.8147 0.9058 m. e um veis (veto ores/matriz zes) por i incremento seguimo a o os Para criar variv segu uinte sintax xe: n inicial : increment : n final to DIC se o inc CA: cremento f igual a 1, no pre for ecisa indic -lo. Este tip de con po nfigurao represen a criao de u o nta uma seq ncia num mrica de v valor inicia igual ao n inicia valor f al o al, final igual ao n fin e, nal inter rcaladas p valores cuja dife por s erena e igual ao in ncremento Observ na o. ve prti a seguir. ica 0.127 70 0.913 34 0. .6324 0. .0975
A matriz randmic retorna um vetor com nme z ca eros aleat rios entre zero
Quando o incremento no informad o sistem admite como sen o o do ma ndo padr ro, ou seja, increme ento de valor 1 (um). Ope eraes co Matrize om es Embora a aritmtica de mq a quina seja, em parte, diferente da habitua as , al, rizes esto sujeitas as mesm o mas regras de opera s ao. Veja na prtica a a matr segu alguns c uir casos de o operaes com matrizes. Sejam a matrizes as s
>> A + B ??? Error u using ==> plus > Matr rix dime ensions m must agr ree. >> B + C ans = 5 -3 5 7 4 9
>> B * C ??? Error u using ==> mtimes > s Inne matri dimens er ix sions mu ust agree.
18 ELEM 1 MENTUSJR.C ConsultoriaPTCC
O MAT TLAB disp pe de outros operadores m matemtico que po os odem facili as ope itar eraes ma atriciais como mostra a prtica a seguir. a Sejam a matrizes as s
>> D = [1 2 3 4] 2; D = 2 1 4 3
>> E = [5 6 6;7 8] E = 5 6 7 8
>> D * E ans = 19 43 22 2 50 5
exao de Vetores/M Matrizes Inde A index xao um forma de mapea os elementos da m ma ar matriz que so e teis opera s o. Existe duas f em formas de indexao uni para o: amtrica e poli para amtrica. A uni p paramtrica consiste apenas na indica da pos a n o sio de fo orma ar, , o mostra a pr tica abaix xo. linea ou seja, atravs de um nico parmetro como m Seja a m matriz
Na poli paramtr rica temos a indica s ao de d duas coord denadas do(s) d elem mento(s), o primeiro l informa a linha no qual est contido, o segundo lhe lhe a n t infor rma a colun Veja a prtica a s na. seguir, ainda com a m mesma ma atriz A.
ao de Va ariveis Cria Varivel um ter rmo utilizado interna amente pel MATLAB para definir lo objetos matem mticos de forma ge eral como, por exem mplo, escalares, matr rizes, imag gens, sons clulas, d s, dentre outr ros. A cria de vari o veis normalizada de acordo com a sint d taxe a seguir.
e e o urio, emb bora no seja onde o nome da varivel fica a critrio do usu reco omendado a utiliza de nom o mes comp plexos. O nome das variveis no s pode ser inic er ciado por n nmeros. Exemplo de cria os ao de va ariveis po odem ser observado na prti os ica a segu uir.
21 ELEM 2 MENTUSJR.C ConsultoriaPTCC
>> v var = cos s(pi) var = -1 >> [zero,pol lo,ganho] = resid due([1],[1 1]) zero = o 1
polo = o -1
ganh = ho []
Anlise de Ve etores Em alg guns caso nece os essrio faz zer um e estudo quantitativo e/ou s dades das matrizes ou parte delas. E s s e Esses est tudos qualitativo das propried pode ser feitos atrav de inm em s meros com mandos. A Alguns del les podem ser m obse ervados na prtica a seguir. a a o entos: Para o nmero de eleme
>> n numel(A) ans = 6
Uma grande fo a ornalha ind dustrial s suportada por uma lo p onga colun de refratrio, na com 1 m por 1 m de lado. Dur r rante a op perao em condi es de regime estacionrio, a instala de ta forma que trs su o al uperfcies da coluna so a man ntidas a 500 K, enqua 0 anto a outr expost a uma c ra ta corrente de ar para a qual e T = 300 K e h = 10 W 2.K. Utilizando um rede d malha c W/m ma de com x = y = 0,25 m, de ter 5 rmine a dis stribuio de temper ratura bidim mensional na coluna e a a taxa de calor para a co orrente de ar por un nidade de comprime ento da coluna. (Incr ropera et a pg. 144 al, 4)
Con nsiderae es: 1. 1 2. 2 3. 3 4. 4 Regime estacion e rio. Condu bidimensional. o Propried dades constantes. Sem ge erao interna de calo or.
An lise: Redu uo da rede de 12 pontos nodais par 8 atrav 2 n ra vs do eix de xo sime etria. Dessa form utilizando as equaes de diferenas finitas (n D ma, s o-estendidas), os balanos de energia p e para cada n so dad como: dos rnos no-simtricos s: inter N 1 T2 + T3 + 1000 4T1 = 0 1:
24 ELEM 2 MENTUSJR.C ConsultoriaPTCC
Para re esolver es sse proble ema usare emos a t tcnica da inverso de a o rizes. matr [A] . [T] = [C] [A]-1 . [A] . [T] = [A]-1 . [C] [I] . [ = [A]-1 . [C] [T] [T] = [A]-1 . [C] Primeiro criamos a matriz de coeficientes e c o constantes Em linha de s. comando terem mos
>> A = [-4 1 1 0 0 0 0 0;... 2 -4 0 1 0 0 0 0;... 4 25 ELEM 2 MENTUSJR.C ConsultoriaPTCC
A = -4 2 1 0 0 0 0 0 1 -4 4 0 1 0 0 0 0 1 0 -4 2 1 0 0 0 0 1 1 -4 0 1 0 0 0 0 1 0 -4 2 2 0 0 0 0 1 1 -4 0 2 0 0 0 0 1 0 -9 2 0 0 0 0 0 1 1 -9
>> C = [-100 00;-500;-500;0;-5 500;0;-2000;-1500] ] C = -1000 0 -500 0 -500 0 0 -500 0 0 -2000 0 -1500 0
Os resu ultados po odem ser interpreta ados considerando cada linha da a matr T como a temper riz o ratura fina de cada n corres al spondente ao nmer da ro linha Dessa f a. forma, na linha 1 te eremos a temperatu do n 1, na linha 5 ura terem a temperatura d n 5 e a mos do assim suce essivament como mostra abaix te xo.
1. 1 Explora ao do am mbiente de esenvolved do softw dor ware; 2. 2 Organiz zao na p projeo, e execuo e armazenagem de p projetos; 3. 3 Em cas de dvid consulte 1 - HEL 2 - Ou so da e: LP; utras Fonte es; 4. 4 Exporta ao da lg gica matric fora do ambiente MATLAB cial ;
Mdulo 2 du o 2:
Durante este mdulo verem e mos algun conceito de pro ns os ogramao que nos auxiliaro nas ativid dades coti idianas de um programador. A e Alguns de esses conc ceitos pod dem ser tomados de forma geral pa ara qualqu uer platafo orma enqu uanto outro sero especficos pra o MAT os TLAB. Nossos trabalhos tero inc no editor de tex do sof s cio xto ftware vist no to dulo anterio Para q or. que os trabalhos sej jam desen nvolvidos d forma mais de md profi issional fa aremos algumas co onsidera es sobre o desen nvolvimento da o estru utura de u program em linha e sua disposio no que d respeit ao um ma o diz to ende ereament to. a. a b. b c. c d. d e. e Inicie se .m sem eu mpre com um cabea alho; No ultr rapasse o limite de im mpresso; Utilize d diretrios d distintos pa projetos distintos; ara s ; Utilize o menos po ossvel a m memria fix Utilize a RAM (tem xa. mporria); Coment o mxim possve seu coma te mo el ando ou co onjunto de comandos s.
A considerao (a deve ga a) arantir ao usurio um informao resumida ma mitaes e autoria do cdigo. Um exem d . mplo pode ser e das funcionalidades, lim alizado na figura 2.1. visua
A consid derao (b permite que, numa eventual impresso o cdigo seja b) a o, o exibido em su estrutura original A (c) ga ua l. arante que funes ou script de e ts mesmos nom mes no s sejam mot tivos de conflitos l lgicos ou enganos de u s cham madas. Os clculos e as inform s maes ger radas dura ante e com mpilao po odem
30 ELEM 3 MENTUSJR.C ConsultoriaPTCC
Alm desses cl ssicos tes stes e op peradores booleanos o MATL s LAB dispo onibiliza o outros ope eradores que pode em simplif ficar, em alguns ca asos, redu uzindo a qu uantidade de coman ndos a ser rem digitad dos. So c conhecidas em s, alguns casos c como fun boolea es anas matric ciais, pois so aplica adas a mat trizes e n a escala o ares. As m mais impor rtantes pod dem ser ob bservadas na tabela 2.3. Funo F isem mpt iseq qual isnu umeric isch har Teste reto orna verdad deiro se matriz vazia as matr rizes forem numerica m amente iguais matriz numrica a matriz alfanum rica
Tabe 2.3 Fun ela nes boole eanas matric ciais.
Estruturas d Sele de o
Como o prprio n nome j d a estru diz, utura de s seleo tem a fun de m o selecionar um dado ou conjunto d dados segundo uma proprie de s edade iner rente ao m mesmo ou selecionar uma fun a ser executada. O MATLA possui dois r o e AB tipos de estr s ruturas de seleo: if/elseif/e e else, e s switch/case e/otherwise O e. prim meiro com mum em o outras lingu uagens de programa ao. Tais estruturas so s implementadas utilizand as expresses booleanas descritas anteriormente. s do b Sua estrutura e o signific cado lgico de sua sintaxe so exibidos n figura 2.2. o na
Figu 2.2 Estrutura e sin ura ntaxe lgica da estrutura de sele if. a o
O sistem supervisrio de u ma uma unidad de LEIT FLUIDIZADO rec de TO cebe, em tempo rea sinais que lhe p al, permitem, dentre ou utros, a m manipulao do siste ema de ala armes da unidade, como mos stra de for rma simplificada a figura f 2.3. Dentro de um conjunto de atuaes, o sistema envia diversa mensag e s as gens ao o operador, l lhe informando o mo otivo pelo qual o ala arme foi a acionado. Alm A das mensage ens, o sistema dis sponibiliza um cd a digo num mrico qu ue onhecido co omo desat tivador da unidade. reco
%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% % O Script " "EstruturaD DeSelecao2" tem o objetivo de iniciar o leitor na % " % % est trutura de seleo (i if-elseif-e else). % % % % Dat de cria ta o: 15 de setembro d 2008. de % % Dat da ltim atualiza ta ma ao: 15 de setembro de 2008. e % % Cri iado e atua alizado por Phillipi Rodrigo de Oliveira souza. r: i %%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% clc;c clear sinal = 'SS'; l sinal = 1201; l % elimina o sinal an nterior ebimento do sinal: SS - sem sinal o % no rece % recebime ento do sin nal de tem mp. em C(a cada inst tante)
%%%%% confirma % o do sina recebido %%%%% al o if si inal == 'SS S' num_protc_s n seg = 1378; ; % n protc seg a ser gera ado errordlg('F e Falha de co omunicao com Termopar 12.','ERRO') else % n protc seg a ser gera num_protc_s n seg = 1379; ; ado end %%%%% anlise d sinal re % do ecebido e a atuaes %%%%% if si inal <= 120 00 % n protc seg a ser gera num_protc_s n seg = 2378; ; ado elsei sinal > 1200 if num_protc_s n seg = 2379; ; % n protc seg a ser gera ado warndlg('Te w emperatura do leito a acima do permitido.','PERIGO') end
A fim d explorar o proble de ema e obt diferentes respos ter stas, proponha os varivel sinal. valores distinto para a v A eliminar s sinal come ente sua at tribuio: C CRTL + R. DICA 1: Para e DICA 2: Para A descomen ntar: CRT + T. TL
O diag grama a seguir re esume de forma s simplificada o fluxo de a o rmaes entre a unid dade, o sup pervisrio e operador. infor
Alm d estrutu da ura if/else eif/else, mais comum em linguagem de m m prog gramao, o MAT TLAB of ferece outra estr rutura de seleo a e o, switc ch/case/otherwise. A contrrio da estru Ao utura anter rior, essa est limita ada cond dio de ig gualdade e desiguald dade, veja a seguir na figura 2.3 a 3.
Figura 2.2 Estru a utura e sinta lgica da estrutura d seleo s axe a de switch.
A aplica ao dess tipo de estrutura pode ser ilustrada no exemp a se plo segu uir.
clea ar;clc A = 2; swit tch A case 1 e var = N mero 1. case 2 e var = N mero 2. case 3 e var = N mero 3.
Resolva o exerc a ccio da estrutura de sele o (if-elseif-else), visto ante eriormente, com a estrutura (switch-case-other , a rwise). De essa vez, tal temp peratura n no pode ser infe e erior a 900 C.(C 9 Caso real: LACO 2007 MO ODIFICADO O).
Cons struir um c cdigo com os seguin m ntes objetiv vos: 1. 1 Confirm mao do sinal recebi ido; 2. 2 Anlise do sinal re ecebido e a atuaes.
%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% % O Script " "EstruturaD DeSelecao3" tem o objetivo de iniciar o leitor na % " % % est trutura de seleo (s switch-case e-otherwise). % % % % Dat de cria ta o: 21 de setembro d 2008. de % % Dat da ltim atualiza ta ma ao: 21 de setembro de 2008. e % % Cri iado e atua alizado por Phillipi Rodrigo de Oliveira souza. r: i %%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% clc;c clear % elimina o sinal an nterior sinal = 'SS'; % no rece l ebimento do sinal: SS - sem sinal o sinal = 889; % recebimen l nto do sina de temp. em C(a cada insta al ante) %%%%% confirma % o do sina recebido %%%%% al o switc sinal ch case 'SS' % n protc seg a ser gera num_protc_s n seg = 1378; ; ado errordlg('F e Falha de co omunicao com Termopar 12.','ERRO') other rwise num_protc_s n seg = 1379; ; ado % n protc seg a ser gera end %%%%% anlise d sinal re % do ecebido e a atuaes %%%%%
A fim d explorar o proble de ema e obt diferentes respos ter stas, proponha os varivel sinal. valores distinto para a v DICA 1: Para e A eliminar s sinal come ente sua at tribuio: C CRTL + R. DICA 2: Para A descomen ntar: CRT + T. TL OBS SERVA a estru O: utura switch/case/oth herwise no pode se utilizada com er expr resses bo ooleanas d desigua de aldade. Ob bserve a s seguir um cdigo es scrito em e estrutura d seleo switch/case/otherwi com a utilizao de expres de o ise sses booleanas de d desigualda ade.
Estrutura de Repeti e o
Como o prprio nome j no d uma idia, a es os strutura de repetio tem e o o ob bjetivo de r repetir um determinado comand seguind um crit predef do do rio finido pelo programa ador. Esse tipo de es strutura ev que o usurio do cdigo tenha vita o esma tarefa inmeras vezes. Mas, como a mquina sabe quando a s M que repetir me para de repet o coman ar tir ndo? O critrio de pa arada ba aseado na seguinte idia: toda regio for do dom a ra nio de rep petio co onsiderada como reg a gio de par rada, ou s seja, caso a expres sso de re epetio na seja ma verdad n ais deira, o c digo inter rrompe o lo oop.
37 ELEM 3 MENTUSJR.C ConsultoriaPTCC
+ exp(x*2); ;
Observe que amb varive so mu e bas eis ultidimensio onais (veto ores). Esse tipo e de e estrutura po ser utilizado de f ode forma enca adeada.
No prob blema 1.1 foi discutid o perfil de tempe do eratura sob a superfcie bre de u uma placa o onde a forma matrici do siste ial ema de equ uaes foi dado por
Utilizand a estrut do tura de rep petio (for) crie a m matriz de co oeficientes com a me enor quant tidade de linhas que voc pude (Incrope et al, pg. 144). er. era
% cr riao da diagonal principal l for i = 1:1:6 6 for j = 1 1:1:6 if i == j A(i,j) = A -4; end end end for i = 7:1:8 8 for j = 7 7:1:8 if i == j A(i,j) = A -9; end end end % cr riao da primeira diagonal superior principal l for i = 1:2:8 8 for j = 1 1:1:8 if i == j-1 A(i,j) = 1 A 1; end end end % cr riao da segunda d diagonal s superior principal p for i = 1:1:8 8 for j = 1 1:1:8 if i == j-2 A(i,j) = 1 A 1; end end end
for i = 1:1:8 8 for j = 1 1:2:8 if i == j+1 A(i,j) = 2 A 2; end end end % cr riao da segunda d diagonal i inferior principal p for i = 1:1:6 6 for j = 1 1:1:6 if i == j+2 A(i,j) = 1 A 1; end end end for i = 7:1:8 8 for j = 1 1:1:8 if i == j+2 A(i,j) = 2 A 2; end end end
A estru utura whil le repete a execuo dos comandos enquanto as s o expr resses de teste, ou expresse boolean e es nas, retorn nam condi verdad o deira. Na f figura 2.5 te emos a es strutura de sintaxe e sua interpr s retao. Em seguida m a
Figur 2.5 Estr ra rutura e sintaxe lgica da estrutura de repeti for. d a o m = 2; for I =1:10 for J = 1:10 while I < m if I == J A(I,J) = 2; elseif ab bs(I-J) == 1 = A(I,J) = -1; else A(I,J) = 0; end I = I + 1 1;
Assim c como a a anterior, essa estrut tura pode ser utiliz zada de fo orma enca adeada. Sub-Rotinas c como Fun nes (Tra abalhando na janela de comandos) a A execu uo de um cdigo p m pelo simple script uma forma provisria de es testa armos sua aplicao Embora seja, na maioria d a o. a dos casos, a forma mais simp ples de ex xecuo de comando no a forma m e os, mais profis ssional. Iss se so deve ao incm e modo de a abrir o cdigo todas as vezes que precis sarmos de sua e depu urao, ex xpondo-o a erros d manipul aos de lao, alm da polu m uio visua ao al qual o usurio exposto o. Existe outra form de compilao mais prof ma fissional. Essa form ma eada na e estrutura d denominad functio da on, ou sim mplesmente funo. De base form mais sim ma mplificada podemos definir um funo como uma seqncia de ma a comandos que e: 1. 1 2. 2 3. 3 4. 4 5. 5 Aceita p parmetros de entrad s da; Retorna parmetr de sad a ros da; Utiliza e espao de memria p prprio par armazen vaivei locais; ra nar is Pode se chamada por outra funes er as s; Seu tex de ca xto abea pode ser exib bido na ja anela de comando pelo comand help. do O MATL recon LAB nhece internamente trs classe de fun es es: 1. 1 built-in: funo in nterna. Est impleme t entada em seu ncle e no ser m eo visualiz vel (Ex.: s sin); 2. 2 MATLA m-file funo implementada em m AB e: m-file. v visvel e ab berto para alteraes (E polyfit) Ex.: ); 3. 3 User m m-file: fun criada pelo usur Voc p o rio. pode imple ementar novos n recursos no seu M MATLAB criando funes para reas es a specficas. os ndos whic para achar seu diretrio, e open para ch a Utilize o coman visua alizar o cdigo. As fun es aceitam mlt tiplos par metros d entrada e retor de rnam mlt tiplos par metros de sada (e e est um caracte ma erstica mu uito peculiar e extre emamente prtica do MATLAB). e o A sintax bsica d definio de fun segue o formato a seguir: xe de es
SERVA a fun e o arqu O: o uivo m-file devem ter o mesmo nome. r OBS Em rela ao aos pa armetros de sada, se a fun for cham o mada: 1. 1 com me enos par metros qu o decla ue arado, a f funo retornar apenas parme etros fornec cidos; 2. 2 com ma parme ais etros que o declarad o MAT do, TLAB acu usar erro (Too many ou utput argum ments pa armetros de sada e excess em so); 3. 3 se nenh hum parm metro for in ndicado, fu uno reto ornar ape enas o valo do or primeiro parmetr o ro. A seguir temos um exemplo de criao de uma f m o o funo:
func ction [s,v = muv(s v] s0, v0, a, t) s = s0 +v0*t + a/2*t.^ ^2; v = v0 + a*t;
A seguir temos o exemplo de como uma fun o o no deve ser cham mada, mandos. sempre na janela de com
>> [s,v] = mu uv(10, 2, 3.5, 60)
A: DICA 1. 1 O nme de arqu ero uivos deve ser igual ao nmero de fune a o es; 2. 2 Utilize fu unes dif ferentes pa objetivo diferent ara os tes; OBS SERVA Os com O: mandos na argin (nm mero de ar rgumentos de entrad e s da) narg gout (nm mero de ar rgumentos de sada podem ser usado combinados s a) os com estruturas condicion s nais de pro ogramao para elim o minar bugs de operad dor. Como j foi dito, o MATLAB armazena suas va B ariveis em uma re da m ea mem mria que p pode ser v visualizada pelo work a kspace. As funes trabalham com s vari veis loca ais, isto ficam ar , rmazenada em re as eas de me emria pr pria, independente do worksp pace. Os escopos das variv veis do w workspace e as veis locais podem s definida da segu s ser as uinte forma a: vari Variveis do work kspace no so recon o nhecidas d dentro das funes; Variveis locais de funes no so re e econhecida no MAT as TLAB.
A redu do FeS2 a FeS processada em um reator tub o S bular que opera o em reator de leito trans sportado s sob escoamento ide eal, a 495 e 1 atm. A C trans sferncia d massa externa desprezve e granul de el lometria e distribui de o temp de residncia da partcula no reato so forne pos as as or ecidas na t tabela aba aixo: RA (m) AIO % PESO R(s) 0,05 5 0,10 0 84 4 0,10 0,30 66 0,15 0 0,40 0 57 5 0,20 0,20 45
Dados: k = 0,0 cm/min DH2/FeS = 3,6.10-6 cm2/s; kmH2 = 7,29.1 4 cm/s. 019 n; 10 DIDO: Deci que eta ou etapas so co idir apa ontroladora as. PED Solu uo Analtica
RTM =
1 =1,37.10 5 s / cm 4 7,29.10
2
RRQ =
Ro 4 4 x 60 Ro = 2 = = =126,31.103 s / cm 6 2 3 R .k Ro k 1,9.10 .k 4
2
R DIF
Para o 1 raio: a Ro 0,05.10 4 RDIF = = =1,389 s / c cm DH 2 / FwS 3,6.10 6 Para o 4raio: a Ro 0,20.10 4 RDIF = = = 5,555 s / c cm DH 2 / FwS 3,6.10 6 Com Rrq >> Rdif >> Rtm, a e mo > etapa controladora a rea qumica na o a supe erfcie do s slido. O proble ema acima pode ser disposto em MATLA da seg a r e AB guinte form ma:
func ction [Res sp] = redu ucao1(k,D_ _H2_FeS,km m_H2,R) % C lculo das Resistn s ncias % Rtm = 1/km_H2 2; Rrq = 4/k; Rdif = (R*1ef -4) / D_H2 2_FeS; max_ _Rdif = ma ax(Rdif); % raio mximo m univ versal = [Rtm Rrq m max_Rdif]; % concat ; tenao da resist as ncias maio = max(u or universal); % maior valor ent tre as res sistncias s % Ex xibio da Respost dado um critrio condicio as ta m o onal % if m maior == u universal( (1) Resp = 'R Resistnci Trans ia sferncia de Massa. .'; else eif maior == univer rsal(2) Resp = 'R Resistnci Rea Qumica ia o a.'; else eif maior == univer rsal(3) Resp = 'R Resistnci Difus ia so na Cam mada de Ci inzas.'; end
% At tribuio de Valore s Vari es iveis % k = D1; D_H2 2_FeS = D2 2; km_H = D3; H2 R = D4; % Ch hamada de funes a auxiliares ou Sub-R s Rotinas % res_ _tm % res sistncia transfe erncia de massa e res_ _rq % res sistncia reao qumica res_ _dif % res sistncia difuso na camad de cinz o da zas max_ _Rdif = ma ax(Rdif); % raio mximo m univ versal = [Rtm Rrq m max_Rdif]; % concat ; tenao da resist as ncias maio = max(u or universal); % maior valor ent tre as res sistncias s % Ex xibio da Respost dado um critrio condicio as ta m o onal % if m maior == u universal( (1) Resp = 'R Resistnci Trans ia sferncia de Massa. .'; else eif maior == univer rsal(2) Resp = 'R Resistnci Rea Qumica ia o a.'; else eif maior == univer rsal(3) Resp = 'R Resistnci Difus ia so na Cam mada de Ci inzas.'; end
Onde as sub-r rotinas res_ _tm, res_rq e res_dif so, respe q f ectivamente:
func ction res_ _tm glob bal km_H2 Rtm % dec clarao d varive de eis globai is Rtm = 1/km_H2 % clcu 2; ulo da rsi istncia func ction res_ _rq glob bal k Rrq % declara ao de va ariveis globais g Rrq = 4/k; % clculo d rsistn da ncia func ction res_ _dif glob bal D_H2_F FeS R Rdif % declar f rao de variveis globais v Rdif = R / D_ f _H2_FeS; % clculo da rsist ncia
1. 1 Criao de um ca o abealho in nformativo; 2. 2 Comen o mxim possve o cdigo nte mo el o; 3. 3 Utilize o mnimo p possvel a memria fixa; f 4. 4 Use fun nes distintas para finalidades distintas; s 5. 5 O melh cdigo o menor e mais rpido; hor r
Mdulo 3 du o 3:
Mdu 3: Man ulo nipulao de Dado Com Traba o os mo alhar ? Fun no de T Tratamen de Nome de Arquivos nto A s
Na gran nde maioria dos cas sos, os da ados nece essrios execuo das o sub-rotinas n se encontram disp o ponveis de forma ex e xplcita. Alg gumas vez zes nece essrio um tratamento prvio d determi m de inadas info ormaes para garan a ntir compilao de cdigos. Da mesma forma qu importa os dados import e a ue ar s, tante tamb bm expor rtar. Embo o MATL ofere diversa formas de import ora LAB ea as tao man nipulao e exporta o de dad dos, verem apena as mais important mos as s tes noss rea. sa Inicialmente traba alharemos com as fu unes de tratament de nom de to me uivos, seguido por funes de export tao e i importao funes de o, s arqu trata amento dad e por dos ltimo, Han ndle Graph hics. filep parts: retor informa rna ao do ar rquivo com caminho nome e extenso. Sua mo o, . sinta e exem axe mplo de aplicao podem ser visualizados a seguir. s
Outras funes de impo ortao e exportao, assim como suas m resp pectivas de escries p podem ser encontradas na tabe 3.1. ela
Fu uno
loa ad cv vsread im mportdata dlmread dlmread xls sread wk k1read cd dfread fit tsread hd dfread av viread
Retorn no
Variveis snoarquivo o Matrizn numrica Matrizn numrica Matrizn numrica Matrizn numrica Matrizn numricaec cell array Matrizn numricaec cell array cellarra ayeregistro oCDF Formato oFTIS Formato oHDF Formato oMATLABm movie
im mread
au uread wa avread
Dadosdefreqnci ia Dadosdefreqnci ia
Tabela 3.1 funes ge T erais para im mportao e exportao de dados.(*) Padro de o d arquivo para troc de dados criado pela NASA. os ca a
Caso n se tenha certeza q o qual tipo de dados a serem ma anipulados, use a fun no importdata. Ess funo recebe qualquer extenso da t sa tabela ante erior. Mas, se ela r recebe qu ualquer ex xtenso en nto porqu utilizar as outras A ue s? fun o importd data um funo genrica e como tal no contm toda as ma as cara actersticas de armaz s zenamento que cada uma tem individua o a m almente. Como C ela possui um cdigo de armaz m zenamento padro, pode ser possvel um o traba alho a mais para con nseguir ext trair o que se deseja. .
Caracte eres so ut tilizados nos flags co omo contr roladores d alinham de mento e sin Eles es nal. sto resum midos na ta abela 3.2.
Cara actere + 0
Descri o Alinham mentoesquerda Sempre eimpre sin naldosn meros Preencheespao oscom0emvezde e
O parm metro T de efine o nm mero de dg gitos esq querda do ponto dec cimal. Para definio do nmer de dgito direita temos o parmetro de entrad P. a o ro os a o da O pa armetro C define a i identifica de nota o ao como mostra a t tabela 3.3. .
Fo ormato %c %s %d %f %e
Exemp plo fprintf(%c, a) fprintf(%s, abc) fprintf(%5. .3d,pi) fprintf(%5.3 3f,pi) fprintf(%5. .3e,pi)
Cara actere \b \f \n \r \t \\ \ %%
Nom me back kspace form mfeed newline carriagereturn n horiz zontaltab back kslash quot tationmar rk percentcharac cter
Descri o Retornodecarac ctere Avano odelinha Pulalin nha Retornodelinha a Tabula ohorizo ontal Caracte erebarrainvertida Caracte ereaspa Caracte ereporcen ntagem% %
Cor y(am marelo) m(m magenta) c(az zulclaro) r(ve ermelha) g(ve erde) b(azul) w(b branca) k(preta)
Marcad dor .(ponto o) o(crcu ulo) x(xs) +(cruz) ) *(estre ela) s(quad drado) d(losan ngo) v(tringulop/ba aixo) ^(trin ngulop/cima)
TipodeLin T nha :(pontilha ado) .(pontot trao) (tracejad do) solid(slid s da)
Pass 3 so grid grid legend('curva') ) grid legend('curva') ) xlabel('eixo x') grid ) legend('curva') xlabel('eixo x') ylabel('eixo y')
52 ELEM 5 MENTUSJR.C ConsultoriaPTCC
Coman ndo loglo og sem milog(i) impulse step p bode pola ar nich hols nyqu uist zppl lot resid d sim
Atribui o Valorlog gartmicodexey. Valorlog gartmicodexeline earparay y. Respost taaoimpu ulso. Respost taaodegrau. Diagram madeBOD DE. Grficos scomeixo osdecoor rdenadasp polares. Diagram madeNich hols. Diagram madeNyquist. Zeroseplosdef funestr ransfernc cia. Anlisedecorrela aeseco orrelaes scruzadas. Simulaodemodelosmat temticos.
Tabe 3.6 est ela truturas de exibio gr e fica.
Aces graf1.m em seu d sse m diretrio pa articular. Utiliz o mxim de rec ze mo cursos vist nesse mdulo. (V tos Voc ter 10 minuto 5 os, para cada usurio) a
1. 1 O tratam mento prv dos dad pode agilizar os resultados vio dos a s; 2. 2 No necessr conhec rio cer todo o Handle Graphics (sua re s ea haria Qum mica); Engenh
3. 3 O tipo d sada at de tribuda aos dados de epende da objetivida do proj a ade jeto; 4. 4 Se a s sada retor rnar resulta ados incoe erentes, o erro est, com absoluta , certeza no algori a, itmo de criao dos dados; d
Mdulo 4 du o 4:
Estudo de Cas o sos
Atravs dos trs mdulos a anteriores o leitor te eve para s as princ si cipais infor rmaes d ambiente e int de terface, programa o, clculo vetorial em o aritm mtica de mquina, e importa ao, expo ortao e manipula o de da ados. Esse conheci es imentos, n entanto, so gerais para qua no alquer rea da cincia no a qual o MATLAB pode se utilizado er o. O mdu 4 dest curso v ulo te vem definir nosso e estudo em MATLAB na B Enge enharia Q Qumica. T Tem como base os conceito vistos anteriorm o o os mente pode eremos e entender a ferram as mentas que o softw ware disp ponibiliza para solucionar nos ssos proble emas profis ssionais. Veremo agora so os olues pa problem cotidia ara mas anos em no osso labor tais r, o o , utros. como, soluo de EDOs, soluo de EDP, soluo de SELs, dentre ou Noss estudo esto divididos em vrios estudos de casos apresentados at sos os m e s o fim do curso. m
CA ASO 1: Tanque Pulm mo (Traba alhando com Estrut o turas d Repe de etio)
Um tanque no qu um lqu ual uido incom mpressvel (densidad constan de nte) 3 bom mbeado a u uma vazo varivel, F0 (m /s). Esta taxa de entra o a ada pode variar v com o tempo devido a trocas em operae de cont corrent A altur do m es tra te. ra do que vertica cilndrico h (m). A vazo de sada do tanque F al o e lquid no tanq (m3/ /s). e Sabe-se que F0, h e F so variveis como tempo e conseqentemente, so funes d tempo t. Conseqentemente ns usamos as n do notaes F0(t), h(t) e F(t). Lq quidos part tindo da ba do tan ase nque ao lo ongo do du horizon e uto ntal desc carrega no topo de outro ta o e anque. Am mbos os tanques s so aberto os atmo osfera.
(4 4.1.5) onde vi a ve e elocidade n direo i em (m/s) e Fji a j na j-sima for atuand na ra do dire i. o Substitu uindo as de emais equa aes na equao (4 e 4.1.5), temos
57 ELEM 5 MENTUSJR.C ConsultoriaPTCC
(4 4.1.7)
Para descrever o sistema complet a tamente, uma equao tota da al cont tinuidade n lquido no tanque tambm requerid Nesse caso pode no e da. emos ter (4 4.1.8) Ns pre ecisamos de um m mtodo numrico pa resolve essas duas ara er aes difer renciais or rdinrias acopladas. A equao (4.1.7) no linea por o ar equa caus do term v2. Dim sa mo menses f fsicas, va alores de p parmetros e dados em s regim de esta me acionarieda so da ade ados pela Tabela 4.1.1. T
Tubo o: di = 3 m Tanq que: di = 12 m Valores em Estado Estacion nrio: A = 113 m2 F = 35,1 m3/s s h = 4,72 m v = 4,97 m/s s Par metros: Re R = 1 380 00 00 Fator d Atrito = 0,0123 de 0 Kat = 2 2,81 x 10-2 N/ /(m/s)2
Tabel 4.1.1 dado paramtrico do problem Tanque de Fluxo gravitac la os os ma F cional.
A = 7,06 m2
L = 3000 m h=7m
Usando a relao F = v . At e subs o o stituindo os valores numricos dos s s metros na equae (4.1.7) e (4.1.8), te as es emos: par (4.1.9) (4.1.10) A segu temos o cdig que fornece e resolu integrando uir s go f o num mericamente duas E EDOs aco opladas de escritas a anteriormen nte com duas cond dies iniciais de vaz e nvel no tanque: (1) quan a vaz inicia 50% zo ndo o da m mxima e (2) quando a vazo inicial 67% da m o 6 xima. No tempo igu a o ual zero a vazo no tanque levada a mximo segundo o seu limit 35,1 m3/s. o, ao o te,
funct tion [h1,h2 = gravit 2] tytank(v0_1 _1,h0_1,v0_ _2,h0_2,tem mpo_sim,deltat) %%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% % "gr ravitytank" uma fun " no que si imula um tanque de fluxo por g gravidade. %
%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% % % Valor I Inicial %%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% v1(1) ) h1(1) ) v2(1) ) h2(1) ) = = = = v0_1; h0_1; v0_2; h0_2; % % % % m/s % m % m/s % m %
%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% % % Resol lvendo usan ndo Euler Explicito %%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% fprin ntf('****** *********** *********** *********************\n'); *\n'); h2 v2 fprin ntf(' Tempo o v1 h1 fprin ntf('****** *********** *********** *********************\n'); i = 1 1; while i <= (tem e mpo_sim + 1 1) dv1dt(i) = (0.0107*h1 d 1(i)) - (0. .00205*v1(i)^2); dh1dt(i) = 0.311 - (0 d 0.0624*v1(i i)); v1(i+1) = v v v1(i) + del ltat*dv1dt( (i); h1(i+1) = h h h1(i) + del ltat*dh1dt( (i); dv2dt(i) = (0.0107*h2 d 2(i)) - (0. .00205*v2(i)^2); dh2dt(i) = 0.311 - (0 d 0.0624*v2(i i)); v2(i+1) = v v v2(i) + del ltat*dv2dt( (i); h2(i+1) = h h h2(i) + del ltat*dh2dt( (i); tempo(i+1) = i - 1; t %2.4f |\n',... fprintf('| %2.0f f %2.4f % %2 2.4f %2.4f tempo(i i),v1(i),h1 1(i),v2(i), ,h2(i)); fprintf('-f ---------------------------------------------\n'); i = i + del ltat; end
%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% % % Exibi Grfica o %%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% plot( (tempo,h1,' 'r') hold on plot( (tempo,h2,' 'b') grid on xlabe el('Tempo ( (s)'); ylabe el('Nvel d Tanque ( do (m)'); legen nd('67% da vazo tota al','50% da vazo total'); a ylim( ([0 9]); hold off end
Como p pode ser o observado utilizado o algoritm Explici de Eule de o mo ito er meira ordem As vari m. veis que ns estam resolve mos endo so v e h.Para o ia prim sim passo te mo emos (4.1.11) (4.1.12) Os novo valores de h e v no (i+1)-s os simo passo so calc o culados usando Eule com pas de tempo deltat. er sso (4.1.13)
(4.1.14) Os resu ultados pod dem ser visualizados no promp ou grafic s pt camente, como c mostra a Figur 4.1.2. ra
Observe que o fat de aplic e to carmos um vazo de alimenta ma ao maior no r haver um escoamen de desc nto carga maio Isto d or. devido inrcia significa que h massa de l quido no t tubo. da m Con ntedo Adicional Algoritm mos explc citos envo olvem clculos exp plcitos de derivada e e as sadas de tempo se em interaes. Dois mtodo popular os res e de fcil pass utiliz zao so descritos a seguir: Euler e Runge-K o s Kutta de quarta ordem. Existem muito outros algoritmo na liter os os ratura. Mu uitos so extremam mente complexos, d difceis pa ara progra amar e depurar e outros extremam d mente ineficientes pa resolu prticos de proble ara o s emas em e engenharia Qumica. a Algo oritmo de E Euler O mais simples mtodo n s numrico de integra d ao co onhecido como c Mto de Eul Assum que ns desejamo resolver a EDO odo ler. ma s os r (4.1.15) e o no li inear. Prec cisamos a agora sabe as er onde f(x,t) , em geral, uma fun cond dies inic ciais de x, ou seja, qual o valor de x par um dado tempo in ra o nicial. Ou a ainda (4.1.16)
Agora s ns mov se vermos um janela temporal d passo para t = t1 = ma t de t t, n podem ter uma estimativ de um novo valor de x em t = t, x(t de ns mos va n r t), uma extrapolao linear usando a taxa inicia de varia de x (a derivada de x a al o a em t = 0). O n novo valor de x(xt) aproxima r adamente igual ao v valor antig de go x(x0) mais o pr roduto da d derivada d x, vezes o passo d tempo: de s de (4.1 1.17) (4.1 1.18)
CASO 2: Clculo da Temp a peratur Ter ra rica da a Chama do Pr a ropano o (Traba alhando com Estrut o turas d Repe de etio)
Quando o sistem uma substnc homog o ma a cia gnea com compos m sio cons stante, a rega de fases in ndica que Fixando os valo e, o ores de duas prop priedades intensivas, o seu est tado fica estabelecido. Conseq qentemen a nte ener rgia interna molar ou especfic de uma substncia pode se represen a u ca er ntada como funo d duas ou de utras variv veis de est tado. Esco olhemos ar rbitrariamente a peratura e o volume molar ou e especfico, U = U(T,V Onde, V). temp
( (4.2.1) ou a ainda
( (4.2.2) A lt tima parce pode se igualada a zero em duas circ ela er a m cunstncias s: Em qua alquer proc cesso a vol lume const tante, qual lquer que s seja a substn ncia. Sempre que a ene e ergia intern for inde na ependente do volume qualquer que e, r seja o p processo.
Finalmente F e, (4.2.3)
(4.2.4) A avalia ao dessa integral requer o conhecime ento da de ependnci da ia capa acidade ca alorfica co a temp om peratura. Essa depe E endncia normalm mente forne ecida pela equao e emprica (4 4.2.5) onde C ou D igual a z e zero dependendo da substnc conside a cia erada. Com a mo Raz CP/R adimensional as un o nidades de CP so g e governada pela esc as colha
63 ELEM 6 MENTUSJR.C ConsultoriaPTCC
(4.2.6) Identific camos a grandeza e colchet em tes como <CP>H/R, onde <CP>H defin nida como uma capa acidade cal lorfica mdia:
(4 4.2.7) Cons seqentem mente a eq quao da entalpia po ser es ode scrita como o: (4.2.8 8) Expl licitando T:
(4 4.2.9) Um valo inicial p or para T permite a av valiao d <CP>H. A substitu de uio se ornece um novo valo para T a parir do qual se pode reav m or o valiar dess valor fo <CP>H. A inter rao cont tinua at q haja co que onvergnc para um valor fina de cia m al T. As reaes em qu uesto, seg gundo os trabalhos d L. P. de Arajo e S. M. de S A. A Alves, so a) a b) b c) c Reao (a)
, para os quais, s
Reao (b)
Reao (c)
64 ELEM 6 MENTUSJR.C ConsultoriaPTCC
Para a t temperatur da cham terica (temperatu mxim alcanad ra ma ura ma da) proc curada, vam consid mos derar que a reao completa e adiabt a tica (Q = 0). Se 0 as variaes d energia e cintica e potencia forem de de al esprezveis, e se We = 0, o ba alano glob de ener bal rgia do pro ocesso se reduz a H = 0. Com o objet H mo tivo calcu a tem ular mperatura f final, qualq quer trajet entre os dados inicial e fin ria nal conv veniente. A trajetria escolhida pode ser visualizad no diagr a da rama da Figura 4.2.1 1.
Fi igura 4.2.1 - quando um mol de etileno queima a base para todos os clculo m ado e s os.
A varia de enta o alpia deve ser indepe endente da trajetria a a, (4.2.10) onde todas as entalpias so na ba de um mol de C3H8 queima e ase ado. A variao de e entalpia dos produtos , quando eles so aquecidos de 298,15 K at T, : s s a (4.2.12) onde definimo e os prod dutos total: como a c capacidade calorfica mdia d corrente de e a da
(4.2 2.13)
(4.2 2.14) Os dado das con os nstantes po odem ser resumidos segundo a Tabela 4.2.1. r Com mponente CO CO2 N2 NO O2 A 3,37 76 5,45 57 3,28 80 3,38 87 3,63 39 B (103) 0,557 1,045 0,593 0,629 0,506 C ( 6) (10 0 0 0 0 0
5 D (10-5) -0,031 -1,157 7 0,040 0,014 -0,227 7
Tabe 4.2.1 - co ela onstantes da capacida as ades calorfi icas dos pro odutos (gases) no estad de do gs ideal.
Dessa forma as equaes (4.2.12) e (4.2.14 so combinadas e T s 4) explicitado ger rando a equao
(4.2.15) Conside erando o a uma mistura gaso com 2 ar osa 21% de ox xignio e 79%, 7 0 temo para a q os quantidade terica de ar a 25 C. e e
Fi igura 4.2.2 - digrama es squemtico da combusto no queimador para a quantidade a teri de ar a 25 C. ica 2
% A q quantidade terica de ar a 25C % e C n_CO2 = 1; 2 % mol % n_CO = 2; % mol % n_H2O = 4; O % mol % n_NO = 2; % mol % fprin ntf('\n'); fprin ntf('quanti idade teri ica de ar a 25C.\n'); Soma_ _nA = (n_CO O2*A_CO2) + (n_H2O*A_ _H2O) + (n_CO*A_CO) + (n_NO*A_ _NO); Soma_ _nB = (n_CO O2*B_CO2) + (n_H2O*B_ _H2O) + (n_CO*B_CO) + (n_NO*B_ _NO); Soma_ _nD = (n_CO O2*D_CO2) + (n_H2O*D_ _H2O) + (n_CO*D_CO) + (n_NO*D_ _NO); fprin ntf('\n'); fprin ntf('Temper ratura(T) i = 0 0; while abs(T - T e Taux) > err ro i = i + 1; MCPH = R*(Soma_ _nA+(Soma_n _nB/2)*To*(T T/To+1)+(Soma_nD/2)/((T/To)*To o^2))/1000; Taux = T; T = T - (DHo_C To Comb298/MCP PH); ToC = T - 273; ToC_v vetor(i) = ToC; i_vet tor(i) = i; ; fprin ntf(' end %2.0f %2.4f %2.4f\n',i,T,T ToC);
C\n');
Vazo V
0,2 2 93,4 45
0,3 96,10
0,4 97,12
0,5 97,35 9
0,6 6 99,6 63
0,7 98,46
0,8
0,9
99,28 10 00,97
Precisamos saber que tipo d equao ser nec r de cessrio pa satisfaz o ara zer trolador. Pa isso va ara amos visua alizar os da ados numa figura gr a fica. cont
figur re('Number' ','off','Na ame','Teste Grfico (CASO 3)','Color','w e w') plot( (V,T,'ro') grid title e('Teste Gr rfico (CAS 3)') SO xlabe el('Vazo ( (m^3/s)') ylabe el('Tempera atura (C) )
Onde: x = vari vel relacio onada ab bscissa do plano orto o ogonal; y = vari vel relacionada ordenada do plano ort togonal; n = orde do polinmio a se ajustar. em e Aplic cando:
funct tion [poli] = caso3(n ] n) clc % Car rregar os d dados de ob bjetos stru uct. V = l load('V'); V = V V.V; T = l load('T'); T = T T.T; % Est timar os pa armetros d polinmi do io poli = polyfit( (V,T,n); % cri iar uma res sposta do p polinmio % est timado dado o parmet o tro de entr rada pfit = polyval( (poli,V); % exi ibio grf fica entre os dados d de % ide entificao e os dado gerados pelo o os % pol linmio aju ustado plot( (V,T,'ro',V V,pfit)
deve ser cond e duzida em uma rea m ator tipo CSTR enc C camisado. Um comp posto inert adicio te onado ao reator em quantida m ades equi imolares e relao ao em reag gente R. Dada as informa es a seg guir, deter rminar a temperatu ura e conv verso de A alcanad da. Dado os: Regime de operao estacion R rio; Calor espe C ecfico do inerte: 215 cal/mol .C 5 C; Calor espe C ecfico de R e P: 46 cal/mol .C c C; Vazo molar de alim V mentao de A: 80 mo ol/min; UA: 9 500 cal/mol.K; Temperatu ambien Ta = 29 K; T ura nte: 98 k = 4,56 x 1 -3 min-1;( 350 K) 10 ( E = 33 000 cal/mol.K 0 K; = 85 min; DH D = -15 000 cal/mol l; T0 = 400 K (tempera K; atura de en ntrada)
Como s trata de uma rao de prime ordem na fase lq se o eira quida a tax de xa o a rea dada por
Sendo um reator no-isot r rmico, a constante de velocid c dade pode ser e rita como base a Lei de A e Arrhenius, e taxa re eescrita co omo escr tendo c
Podemo ainda re os earranjar d forma a isolar a co de onverso e nico te em ermo obte endo assim a primeir equao de nosso sistema li m, ra o o inear de eq quaes:
Ou a ainda
Ficamos com
Ou a ainda
que a segunda equa do noss sistema de equa lineare o so es es. Para so olucionar esse sist tema utiliz zamos o comando fsolve. Esse ilizado par resolver problemas de SELs A seguir veja a sin ra s. r ntaxe comando uti que envolve ta comando al o.
onde e: equaes = funo d contenh o vetor d equa e de ha de es; Chute Inic C cial = va alor estima ado para as vari veis dado na o in nterao z zero; opes = o o opes de do coman (Ex.: cr ndo ritrio de p parada).
Dess forma s sa sugerimos o seguinte cdigo pa solucio e ara onar nosso problema:
%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% % A funo "c caso4" solu ucionar o p problema do CASO 4 d quarto m do mdulo do % % % curso de MA c ATLAB. Maio ores detalh hes, ver apostila. % % % % Cri iado e Atua alizado por Phillipi R. O. Souza. r % % Dat da cria ta o: 14 de janeiro de 2009. e % % Dat da ltim atualiza ta ma ao: 14 de janeiro de 2009. e %%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% funct tion caso4 clc Chute eInic = [50 0.2]; 00 opcoe = optims es set('TolX', ,1e-4); sol = fsolve('r reator',Chu uteInic,opc coes); % dec clarao da varivei de sada as is a Conve = sol(2) er ); Temp = sol(1); % Sa da no prom mpt. clc fprin ntf('Result tados da Si imulao do Reator CSTR.\n'); o fprin ntf('...... ........... ........... ..............\n'); fprin ntf('\n'); fprin ntf('Conver rso = %4.4 4e',Conver) ); fprin ntf('\n'); fprin ntf('Temper ratura = %4 4.4f',Temp) ); fprin ntf('\n');
A so oluo ser exibida n prompt c no como: ultados da Simulao do Reato CSTR. a o or Resu ....................................... Conv verso = 8 8.4931e-00 02 Tem mperatura = 290.5481 1 >>
Onde: Fluxo de A que en no sist e ntra tema = F0CA0; Fluxo de A que sa do sistem = FCA; e ai ma Taxa de formao de A da r e o reao = VkCA.
O sinal de menos no termo da reao indica que o comp s o ponente A est send consum do mido. As un nidades de todos os termos es e s sto em: m moles de A por unidade de tem mpo. Para que isso o ocorra, a unidade de k deve se o invers da u e er so unidade de tem mpo. A taxa d acmulo dada p de o por:
75 ELEM 7 MENTUSJR.C ConsultoriaPTCC
Ou ainda,
54 Dado: k = 0,05 s-1; V = 25 m3; Qual o perfil de co onverso a longo do tempo p ao d para este s sistema? Prove P que a tempera atura influencia na co onverso. Para re esolvermos a equa utilizam o coma o mos ando ode4 45:
Onde: T = vetor c coluna de p pontos de tempo; Y = solu o(cada linha solu no tempo para ca ponto T); o ada equaes = funo que conte s o enha as eq quaes di iferenciais; I.I. = Interv valo de inte egrao; C.I. C = Condies inic ciais.
A funo que con ntm as eq quaes diferenciais deve con d s nter a seguinte sinta axe:
76 ELEM 7 MENTUSJR.C ConsultoriaPTCC
%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% % A funo "c caso5" solu ucionar o p problema do CASO 5 d quarto m do mdulo do % % % curso de MA c ATLAB. Maio ores detalh hes, ver apostila. % % % % Cri iado e Atua alizado por Phillipi R. O. Souza. r % % Dat da cria ta o: 15 de janeiro de 2009. e % % Dat da ltim atualiza ta ma ao: 15 de janeiro de 2009. e %%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% funct tion caso5 clc % cha amada da fu uno de re esoluo da EDO a [T,XA = ode45( A] ('reator',[ 110],0); [0 ; % Exi ibio grf fica figur re('Name',' 'CASO 5','N Number','of ff','Color','w') plot( (T,XA) xlabe el('Tempo ( (s)') ylabe el('Convers so (%)') title e('Caso 5') ) grid
%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% % A funo "r reator" dar suporte funo "caso5". r % % % % % Cri iado e Atua alizado por Phillipi R. O. Souza. r % % Dat da cria ta o: 15 de janeiro de 2009. e % % Dat da ltim atualiza ta ma ao: 15 de janeiro de 2009. e %%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% funct tion dxAdt = reator(t t,xA) k = 0 0.054; V = 2 25; dxAdt = k*(1-xA t A(1));
Para av valiar a in nfluncia d temper da ratura esc colhemos a arbitrariam mente mais dois valo s ores distintos para k 0,098 e 0,023. Em seguida aplicamo os k: m a os proc cedimentos anteriores s s:
%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% % A funo "c caso5" solu ucionar o p problema do CASO 5 d quarto m do mdulo do % % % curso de MA c ATLAB. Maio ores detalh hes, ver apostila. % % % % Cri iado e Atua alizado por Phillipi R. O. Souza. r % % Dat da cria ta o: 15 de janeiro de 2009. e % % Dat da ltim atualiza ta ma ao: 15 de janeiro de 2009. e %%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% funct tion caso5_ _temp clc globa k_aux al
k = [ [0.054 0.09 0.023]; % Variao de k 98 o for i = 1:3 k_aux = k(i k i); % Utiliza o de um k por vez [T,XA] = od [ de45('reato or_temp',[0 150],0); 0 XA_aux{i} = XA; X % concaten nao das converes T_aux{i} = T; T % concaten nao dos tempos end % Sep parao das variveis para exib s s bio grfica XA1 = XA_aux{1, ,1}; T1 = T_aux{1,1} }; XA2 = XA_aux{1, ,2};
% Dec clarao de variveis e s V = 2 25; % cri iao da eq quao dife erencial dxAdt = k_aux*( t (1-xA(1));
Com es ssas cons sideraes em men nte, ns p podemos f formular nosso n mod delo. Se o volume e a densidade de cada tanque s consta so antes, a massa m total em cada tanque tam mbm . A Assim, a eq quao tota da continuidade pa o al ara meiro reator : r prim
Onde F defin nido em ter rmos de un nidade com (m3/min mo n). Para o nosso cas apenas a equao da contin so o nuidade se necess er sria. Com o sistem bin mo ma rio e ns conhecem mos a mas ssa total d materia em do al cada tanque, a a apenas um compone m ente requerido par a equa ra o. Ou A ou B pode ser usa em ados. Se n ns, arbitra ariamente escolherm A, as equaes para mos cada tanque s (cada te a o ermo tem u unidade de kg.mol de A/min): e
caso as va ariveis de solues e de equaes, alm de ou e s utras, Nesse c so colocadas de forma matricial. A s Acompanh o cdigo a seguir: he o Para a f funo prin ncipal:
%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% % A funo "c caso6" solu ucionar o p problema do CASO 6 d quarto m do mdulo do % % % curso de MA c ATLAB. Maio ores detalh hes, ver apostila. % % % % Cri iado e Atua alizado por Phillipi R. O. Souza. r % % Dat da cria ta o: 15 de janeiro de 2009. e % % Dat da ltim atualiza ta ma ao: 15 de janeiro de 2009. e %%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% funct tion caso6 clc [T,CA = ode45( A] ('reator',[ 15],[0.4 0.2 0.1]); [0 4 % Exi ibio grf fica figur re('Name',' 'CASO 6','N Number','of ff','Color','w') plot( (T,CA(:,1), ,'k') hold on plot( (T,CA(:,2), ,'k-.') plot( (T,CA(:,3), ,'k.-') xlabe el('Tempo d Residnc de cia (s)') ylabe el('Convers so (%)') title e('Caso 6') ) legen nd('C_A_1', ,'C_A_2','C C_A_3','Loc cation','best') grid
%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% % % A funo "r reator" dar suporte funo "caso6". r % %
Onde e:
= hol ldup da fas gasosa; se ; R = con nstantes ge dos ga eral ases (m3.Pa/mol.K); TG = tem mperatura na fase ga asosa (); G p H2 = p presso de gs hidrg e gnio (Pa); t = temp (s); po uG = vel locidade superficial d fase gas da sosa (cm/s s); z = com mprimento ( (altura) do reator (cm m); L k H2 = c coeficiente de transfe erncia de massa do H2 na interface ga e o asosa (cm/s); aL = re superfic da inter ea cial rface lquid (cm-1); da HH2 = co onstante de Henry (P Pa.cm3/mo ol); CLH2 = c concentra molar n fase lquida (mol/c 3). o na cm
Observe que a eq e quao an nterior det duas informae importantes, m es amb em seus termos diferencia No lad esquerd da igua bos ais. do do aldade o te ermo difer rencial nos informa o perfil de p s presso do gs hidro o ognio ao longo do te empo de a atividade do processo No lado direto, ess perfil dado ao lo o o. se ongo do re eator, em termos es spaciais. E Esse tipo de equa o clas ssificado c como Equao Difer rencial Par rcial, EDP. . Para re esolver essa equa utilizam o mos o com mando pd depe. Supondo arbit trariamente que os parmetro sejam dados de forma que a equao e os e ante erior pode s escrita como: ser
O pdepe resolve e equaes d diferenciais parciais q s que contenham a seg guinte estru utura:
Para a
%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% % A funo "c caso7" solu ucionar o p problema do CASO 7 d quarto m do mdulo do % % % curso de MA c ATLAB. Maio ores detalh hes, ver apostila. % % % % Cri iado e Atua alizado por Phillipi R. O. Souza. r % % Dat da cria ta o: 15 de janeiro de 2009. e % % Dat da ltim atualiza ta ma ao: 15 de janeiro de 2009. e %%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% funct tion caso7 clc m = 0 0; z = 1 1:1:10; t = 0 0:0.035:10; ; sol = pdepe(m,@ @HDT,@HDTci i,@HDTcc,z, ,t); pH2 = sol(:,:,1 1); % Gr fico de su uperfcie ( (3D) figur re('Name',' 'Perfis sim multneos', ,'Number','off') surf( (z,t,pH2) title e('Perfis s simultneos s') grid xlabe el('Comprim mento (cm)' ') ylabe el('Tempo ( (s)') zlabe el('Presso de H_2') o % Per rfil ao lon ngo do reat tor figur re('Name',' 'Perfil ao longo do r reator no instante final','Num mber','off') plot( (z,pH2(end, ,:)) grid title e('Perfil a longo do reator no instante final') ao o o xlabe el('Comprim mento (cm)' ') ylabe el('Presso de H_2') o
%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% % % A funo "H HDT" dar su uporte fu uno "caso7". % % % % Cri iado e Atua alizado por Phillipi R. O. Souza. r % % Dat da cria ta o: 15 de janeiro de 2009. e % % Dat da ltim atualiza ta ma ao: 15 de janeiro de 2009. e %%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% funct tion [c,f,s = HDT(z, s] ,t,u,DuDz) c = 5 513.19; f = 1 102.56 * u; ; s = 5 50.89*(u/10 - 0.57); 0
%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% % % A funo "H HDTci" dar suporte funo "caso7". % % % % Cri iado e Atua alizado por Phillipi R. O. Souza. r % % Dat da cria ta o: 15 de janeiro de 2009. e % % Dat da ltim atualiza ta ma ao: 15 de janeiro de 2009. e %%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% funct tion u0 = H HDTci(z) u0 = 4.2;
%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% % % A funo "H HDTcc" dar suporte funo "caso7". % % % % Cri iado e Atua alizado por Phillipi R. O. Souza. r % % Dat da cria ta o: 15 de janeiro de 2009. e % % Dat da ltim atualiza ta ma ao: 15 de janeiro de 2009. e %%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% funct tion [pl,ql l,pr,qr] = HDTcc(zl,u ul,zr,ur,t) pl = ul - 4.2; ql = 0; pr = ur; qr = 0;
87 ELEMENTUSJR.ConsultoriaPTCC 8 M C
1. 1 O MATLAB realiza apena o que pedido se ele e as errou, po orque voc err rou; 2. 2 Todas a sub-rotin do sof as nas ftware foram criadas de forma g genrica; 3. 3 Existe s sempre ma de um c ais cdigo que execute a mesma ta e arefa; 4. 4 O melho cdigo sempre o mais simples; or 5. 5 Voc trabalha com ENGEN NHARIA. Seus clcu S ulos so pesados. Utilize U um prog grama ade equado.