Escolar Documentos
Profissional Documentos
Cultura Documentos
TTULO: AUTOR:
Introduo ao uso do matlab para processamento de ensaios Lynx Adriano Axel Pliopas Pereira cel. (11)8576-3246 e-mail: adriano.axel@gmail.com DATA: 31 de maio de 2007 OBJETIVO: Familiarizar equipe de trabalho com a Balana Aerodinmica com o emprego do MatLab para processamento de arquivos de ensaios, de modo a permitir um planejamento adequado dos procedimentos de ensaios e o desenvolvimento de ferramentas de processamento otimizadas.
CONTEDO:
INTRODUO................................................................................................................................ 3 COMANDOS BSICOS EM MATLAB........................................................................................ 3 MATRIZES............................................................................................................................................... 4 PLOTAGEM DE GRFICOS.......................................................................................................................... 5 A FUNO LYNXTURBINADO...................................................................................................................... 7 SCRIPT (ARQUIVOS *.M)........................................................................................................................... 9 FUNES (FUNCTION)............................................................................................................................ 9 LEITURA DE ARQUIVOS DE ENSAIO.................................................................................... 10 EXEMPLO 1 PLOTAGEM DE DADOS BRUTOS................................................................. 12 EXEMPLO 2 PR-PROCESSAMENTO (ZEROS)............................................................. 14 EXEMPLO 3 PROCESSAMENTO DE MLTIPLOS ARQUIVOS...................................... 16 EXERCCIO 1 VISUALIZANDO ARQUIVOS....................................................................... 18 EXERCCIO 2 APLICANDO UMA CALIBRAO LINEAR.............................................. 18 EXERCCIO 3 APLICANDO UMA CALIBRAO NO-LINEAR.................................... 18 EXERCCIO 4 ANLISE DE ENSAIO SIMPLES.................................................................. 18 EXERCICIO 5 ANLISE DE ENSAIO MLTIPLO SEQUENCIAL................................... 19 COMENTRIOS FINAIS............................................................................................................. 19
Introduo
Os aspectos essenciais do uso do MatLab sero abordados neste documento com vistas a possibilitar o processamento de ensaios experimentais realizados com equipamento Lynx (http://www.lynxtec.com.br). De maneira alguma este um material autnomo e exaustivo. Visa apenas ser um breve guia de estudos e base para uma introduo s ferramentas fundamentais. Aprofundamentos nos conhecimentos de MatLab por meio de estudos de tutoriais e da prpria ajuda do aplicativo, bem como consultas exaustivas sobre toda e qualquer dvida so fundamentais para que um desenvolvimento completo possa ser alcanado. O foco deste guia so os exemplos prticos. Assim, pouco ser dito sobre os detalhes genricos de utilizao do MatLab, e um investimento de tempo em outros guias especficos desta ferramenta altamente recomendvel. Como sugesto para bom aproveitamento, no apenas leia os exemplos... Utilize os arquivos fornecidos juntamente a este guia e implemente os exemplos. Em seguida, invista um tempo na resoluo dos exerccios apresentados, da melhor forma possvel. possvel o surgimento de srias dvidas durante os exerccios, pois este guia no foi exaustivamente pensado de modo a fornecer todas as informaes necessrias. No exite em mandar e-mails ou telefonar solicitando ajuda.
Matrizes
Toda varivel numrica em MatLab uma matriz, sendo os escalares meros casos de matrizes de dimenso 1x1. A atribuio de dados em uma matriz pode ser feita de forma direta, como por exemplo:
>> M=[1 2 3; 4 5 6; 7 8 9] M = 1 4 7 2 5 8 3 6 9
Ou, ainda, de forma indireta a partir dos ndices de uma outra matriz:
>> J=B(2:3,3:5) J = 6 9 4 7 5 8
Deu para entender o que aconteceu? Matrizes tambm podem ser inseridas de uma forma mais convencional por meio do uso de reticncias para separar quebrar uma mesma linha. Assim, a primeira atribuio dada aqui como exemplo poderia ser escrita como:
>> M=[1 2 3;... 4 5 6;... 7 8 9] M = 1 4 7 2 5 8 3 6 9
Plotagem de grficos
Para plotagem de grficos, utiliza-se a funo plot, sendo seu uso muito simples. Como argumentos, informa-se na seqncia os valores das abcissas e das ordenadas, e em seguida qualquer eventual informao relativa a formatao. Assim, por exemplo:
>> x=[0:0.01:5]; >> y=sin(x); >> plot(x,y)
gera o grfico:
NOTA: o uso do ponto e vrgula nos comandos acima serve para que o resultado dos respectivos comandos no sejam ecoados na rea de trabalho, ou seja, no sejam listados item a item na tela, poluindo a apresentao. comum o uso do ponto e vrgula ao final das linhas de programao em MatLab, a no ser que voc queria visualizar o valor de uma varivel em determinado momento. Para formatar o grfico, por exemplo exibindo-o com pontos ao invs de uma linha contnua, e mudando sua cor, usa-se uma string com os cdigos de formatao:
hold on O comando hold on impede que um grfico seja apagado quando um novo grfico plotado. Assim, utilizando-o possvel poltar vrias coisas distintas sobre um mesmo grfico. Outras funes de interesse: xlabel ylabel legend title xlim ylim subplot Para maiores informaes sobre estas funes, digite help e, em seguida, o nome da funo. Ou consulte o Help do MatLab no menu superior.
A funo lynxturbinado
A funo lynxturbinado abre arquivos *.tem e joga seus dados para dentro da rea de trabalho do MatLab. Tudo o que voc precisa passar de argumento para a funo o nome do arquivo do ensaio.
[X, POS, NR, HDST, TIME, OK] = lynxturbinado(ensaio.tem);
O comando acima, por exemplo, abre o arquivo ensaio.tem e carrega todos os seus dados na matriz X. O vetor TIME contm os instantes de medio das grandezas contidas em X, sendo que a sua primeira posio sempre zero (t0=0s). HDST uma varivel do tipo structure, que nada mais do que uma varivel que se comporta como um fichrio contendo diversas pastas distintas. extremamente til para manipular um grande conjunto de informaes, de qualquer espcie, dentro de um programa, entre diversas funes, etc. Juntamente com este guia voc muito provavelmente recebeu tambm alguns arquivos de exemplos de ensaios. Tratam-se de amostras de ensaios reais conduzidos no Tnel de Vento do IPT e utilizando extensmetros e acelermetros como instrumentao. A ttulo de exemplo de utilizao da varivel HDST, vamos carregar um desses arquivos e ento visualizar essa varivel:
>> [X, POS, NR, HDST, TIME, OK] = lynxturbinado('exemploA.tem'); >> HDST HDST = dthr: comment: nc: fs: ns: name: 'fora y'} unit: sup: inf: excom: [1x0 char]} ne: ev: [7x1 double] [1x0 char] 6 512 1095432 {'fora x' 'anem.'
'ponte compl.'
'acel x'
'acel y'
{'V' 'V' 'V' 'V' 'V' 'V'} [10 10 10 10 10 10] [-10 -10 -10 -10 -10 -10] {[1x0 char] [1x0 char] [1x0 char] 0 []
[1x0 char]
[1x0 char]
Para visualizar apenas uma das pastas contidas na structure HDST, basta digitar HDST.nome-da-pasta, por exemplo:
>> HDST.name ans = 'fora x' 'fora y' 'anem.' 'ponte compl.' 'acel x' 'acel y'
Os nomes assim exibidos so correspondentes a cada coluna da matriz X. Assim, por exemplo, X(:,1) contm todos os dados de fora x, X(:,2) contm todos os dados da medio anem., e assim por diante. Para plotar a srie temporal da fora em X, por exemplo, usa-se o comando:
>> plot(TIME,X(:,1)) >> xlabel('Tempo - s') >> ylabel('Fora x')
Com este arquivo, simplesmente digitando showforce na rea de trabalho o grfico do exemplo anterior ser exibido. Note que, a partir de agora, showforce pode ser entendido como um novo comando, criado pelo usurio, e que executa uma determinada tarefa. Pode-se utilizar o comando showforce dentro de um novo script, por exemplo, dentro de uma funo, diretamente na rea de trabalho... como voc preferir.
Funes (function)
Para escrever uma funo em MatLab procede-se como para a criao de um script, porm logo no incio do arquivo escreve-se a palavra function e, em seguida, sua descrio, em forma matemtica mesmo. Veja:
function [Area]=areatriangulo(base,altura) Area=base*altura/2;
A funo acima recebe como argumentos valores base e altura, e devolve o valor da rea na varivel Area. IMPORTANTE: os arquivos de funes devem ser salvos com o mesmo nome atribudo funo na primeira linha do arquivo. O arquivo do exemplo acima ser, assim, chamado areatriangulo.m.
J um ensaio mltiplo-sequencial, com vrios arquivos distintos cada um correspondendo a um trecho do ensaio, poderia ser realizado como mostrado adiante:
Neste exemplo, h seis arquivos distintos. Note que o primeiro e o ltimo arquivo correspondem a situao em que a velocidade do vento dentro do tnel igual a zero. Isso no acontece por mero acaso. O primeiro zero est presente para poder compensar qualquer leitura remanescente nos sensores, ou mesmo grandes leituras que correspondam a uma situao esttica e no a alguma coisa associada ao escoamento externo de ar. O ltimo zero, por outro lado, serve para verificar se, desligando-se o tnel, as leituras dos sensores retornam para valores prximos aos originais. Tal procedimento til para medidas de erros e para deteco de possveis falhas nos sensores, de outra maneira no perceptveis. Nos arquivos fornecidos juntamente a este tutorial, h um exemplo de ensaio conduzido no modo contnuo e de um ensaio conduzido por trechos. As diferenas no processamento destes ensaios devem ficar claras ao longo dos exemplos e exerccios. Deve-se tomar cuidado com a utilizao de ensaios por trechos para situaes em que a srie temporal completa de uma determinada varivel de interesse, uma vez que vrios trechos sero perdidos por este mtodo. Por outro lado, situaes em que h preocupao apenas na relao entre grandezas medidas, por exemplo a relao entre uma Fora X e uma Fora Y para situaes estacionrias, podem ser adequadamente registradas e processadas por meio do ensaio por trechos.
O cdigo acima deve gerar como sada um grfico tal como o reproduzido abaixo:
Esta visualizao da srie temporal completa de cada canal extremamente til para visualizar particularidades que podem ter ocorrido no ensaio e que tendem a desaparecer quando, durante o processamento, usa-se recursos como tomar a mdia de todo este arquivo ou ento anlise de apenas um trecho especfico do registro. importante conhecer os fenmenos que esto sendo medidos a fim de se poder avaliar se os grficos so qualitativamente plausveis ou se indicam algum possvel erro de medio ou de montagem do experimento.
Note que as mdias calculadas so coerentes com os sinais originais, e note tambm que em geral os sinais mdios encontram-se consideravelmente deslocados das posies originais, uma vez que os zeros foram retirados.
Observe que cada ponto do grfico acima refere-se a um dos arquivos *.tem analisados. Assim, todas as informaes contidas nesses arquivos para cada canal foram reduzidas ao respectivo valor mdio. preciso muita certeza de que este procedimento vlido. Como possvel a existncia de irregularidades dentro de cada arquivo (presena de transientes, oscilaes imprevistas ou mesmo falha de sensores), sempre recomendvel, antes de cada processamento, a visualizao de toda a srie temporal de cada canal, conforme fizemos nos primeiros exerccios.
Analise este arquivo e faa um grfico Velocidade x Tempo para o ensaio, utilizando a calibrao acima.
Comentrios finais
Esta uma primeira verso deste tutorial. Considerei anexar tambm a resoluo ou, ao menos, as respostas dos exerccios propostos. Porm, sendo os mesmos razoavelmente abertos, uma vez que diferentes estratgias de programao podem ser utilizadas para produzir os mesmos resultados, e que diferentes opes de processamento esto disponveis, no tendo sido particularizadas nos enunciados, prefiro deixar o julgamento quanto validade da resoluo por conta do prprio estudante e de discusses futuras. Sendo a primeira verso, este tutorial deve estar ainda longe de uma boa qualidade didtica, de clareza, de contedo, etc... Assim, peo a gentileza de que todos os comentrios e crticas no morram na mente daqueles que os conceberam. Envie-nos ao meu e-mail para que eu possa melhorar este material e tornar a vida dos prximos usurios um pouco menos difcil. O e-mail adriano.axel@gmail.com.