APÊNDICE A -- Introdução aos Sistemas Matlab/GNU Octave

Tamanho: px
Começar a partir da página:

Download "APÊNDICE A -- Introdução aos Sistemas Matlab/GNU Octave"

Transcrição

1 APÊNDICE A -- Introdução aos Sistemas Matlab/GNU Octave Existem uma série de ambientes matemáticos propícios para a solução de a maioria das tarefas a serem realizadas cotidianamente em cálculos da Engenharia: Matlab, Mathemathica, GNU Octave, SciLab, etc. Sendo alguns destes capazes inclusive de trabalhar com manipulação simbólica. Para este curso, basicamente o uso ficará restrito aos sistemas Matlab/GNU Octave sendo o primeiro um sistema licensiado e o segundo uma alternativa livre de ambientes matemáticos. Embora similares em grande número de comandos a coincidência não é completa existindo algumas diferenças entre os comandos em cada um dos sistemas. Existem uma série de referências que podem complementar as informações aqui fornecidas, dentre as quais destaco os materiais de Domingues e Mendes Jr (2002) e Eaton (2006). Outra importante fonte de ajuda é o próprio programa, onde uma série de informações a respeito de um comando podem ser obtidas utilizando-se help -i nome_do_comando. Inicialmente será visto simplesmente algumas operações fundamentais com matrizes e vetores que não apresentam variação entre estes sistemas. Com estas informações já são possíveis realizar uma série de procedimentos do nosso curso. A.1 Operações Fundamentais Neste tipo de plataformas estão contemplados todos os tipos de operadores, tanto para operação com reais com inteiros. Assim são possíveis a soma(+), subtração(-), divisão(/), multiplicação (*) divisão reversa (\) e exponencial (ˆ). Operações com inteiros são também

2 Tóp. Esp. Fluido-Témica 2 possíveis como a divisão, utilizando o truncamento dos decimais (floor), e resto (mod ou rem). Assim: octave>mod(5,2) 1 octave> rem(5,2) 1 octave> floor(5/2) 2 octave> disp(5**2), disp( ou ),disp(5^2) 25 ou 25 O disp é um comando utilizado para escrever na tela e converte a saida para caracteres. Comandos para arredontamento como round ou ceil também estão disponíveis no Octave. Além disto, existe uma extensa biblioteca matemática pré-implementada que permite o cálculo de uma série de funções hiperbólicas (exp, log, sinh, etc.), trigonométricas (sin, cos, tan, etc.), de Bessel (besselj, besselk, besseli, etc.) e uma infinidade de outras. A.2 Definições e operações com matrizes e vetores Antes de mais nada é possível criar vetores e matrizes através de um valor inicial, um valor final e incrementos constantes do tipo: octave> 1: octave> 1:2: ou então se estabelecendo não o incremento, mas sim o número de componentes da matriz:

3 Tóp. Esp. Fluido-Témica 3 octave> linspace(1,10,5) Para criar uma matriz ou um vetor incluindoos valores de cada posição e armazená-lo numa variável, o procedimento também é simples, basta inseri-lo da maneira mostrada abaixo: octave> a=[1 2; 4 7] a = ou ainda utilizando um <enter>, ao invés do ;, para indicar mudança de linha: octave> b=[3 6 > 9 4] b = Definidas as matrizes pode-se realizar operações entre elas. Veja por exemplo como realizar uma adição entre as matrizes a e b, definidas anteriormente. octave> a+b Da mesma maneira pode-se utilizar uma resposta anterior, mesmo que não armazenada em variável nenhuma utilizando da variável ans. Como exemplo disto, veja como apresentar a segunda coluna da matriz resposta anterior: octave> c = 8 11 c=ans(:,2) sendo que para isto é bastante útil o : da maneira apresentada. Ele pode representar, quando usado desta maneira, todas as linhas ou colunas de uma matriz. Caso desejasse mostrar apenas um componente da matriz, bastaria colocar o seu endereço ente parênteses:

4 Tóp. Esp. Fluido-Témica 4 octave> a(2,1) 4 Da mesma maneira que a adição, outras operações entre as matrizes poderiam ser realizadas, como por exemplo a multiplicação: octave> a*b Outra forma desta operação, a chamada multiplicação termo a termo, pode também ser necessária e neste caso ela pode ser realizada através da forma: octave> a.*b sendo ainda existente uma operação equivalente a esta para a divisão termo a termo, representada pelo operador.. A.2.1 Funções e operações especiais São ainda possíveis uma série de outras operações com matrizes, sendo destacadas aqui: Determinante (det): octave> -1 det(a) Matriz Inversa (inv): octave> inv(b)

5 Tóp. Esp. Fluido-Témica 5 Matriz Transposta ( ): octave> b Matriz nula de qualquer tamanho (z eros): octave> zeros(4) ou ainda para qualquer matriz não quadrada definindo-se o numero de linhas e colunas: octave> zeros(1,7) Matriz Unitária também pode ser montada de dorma análoga (ones): octave:1> ones(3,2) Matriz Identidade de qualquer tamanho (eye): octave> eye(4) que é uma operação bastante útil se você estiver interassado em montar uma linha qualquer com um valor 1 na posição da diagonal principal e o restante zeros: octave> eye(10)(5,:)

6 Tóp. Esp. Fluido-Témica 6 Matriz Diagonal genérica a partir de um vetor (diag): octave> a=[1 2 3] a = octave> diag(a) O vetor diagonal também pode ser usada para montar uma diagonal secundária da matriz, para isto basta fornecer como segundo argumento inteiro que representa a sua posição na matriz. Números negativos podem ser usados para representar diagonais secundárias abaixo da posição atual: octave> diag(a,-2) Se aplicado em uma matriz bidimensional, o comando diag retorna a respectiva diagonal indicada na forma de vetor, como se fizesse uma operação inversa da anteriormente demonstrada: octave:18> b=[ ; ; ; ] b = octave:19> diag(b,1) Operações com as colunas de componentes de uma matriz: no caso da soma (sum) octave> 5 9 sum(a) e ainda existem outros comandos que permitem a obtenção da média(mean), o produto dos termos(prod), o valor máximo (max), o valor mínimo (min) e a ordenação de matrizes (sort). Todos estes comandos realizam estas operações entre os elementos pertencentes à mesma coluna.

7 Tóp. Esp. Fluido-Témica 7 Deve-se lembrar ainda que mesmo nos ambientes deste tipo não existe a comutatividade em operações com matrizes assim: octave> c*c é diferente de: octave> c *c 185 como era de se esperar. Bem este texto serve como uma referência básica para o tratamento de matrizes e vetores nos referidos sistemas entretanto existem ainda uma série de diferentes comandos relacionados a este que podem ser encontrados em documentações mais aprofundadas e através do Help dos programas. Existem uma série de outras operações que permitem operações básicas com vetores, principalmente com relação à união de vetores (union) e a idendificação de posições que obedeçcam a características definidas (find). A.3 Gráficos e funções Para definir funções no octave nomalmente é indicado criar um arquivo com extensão.m no diretório corrente obedecendo a uma estrutura básica: i. a primeira linha deve conter a palavra chave function, em seguida a variável que armazena o valor a ser retornado que, por sua vez, é igualada ao nome da função seguida da sequência de parâmetros de entrada. É fundamental que o nome da função seja idêntico ao fornecido ao arquivo.m. ii. na linha a seguir são definidas as variáveis globais, se existirem. iii. depois vem o corpo da função com a sua sequência de comandos.

8 Tóp. Esp. Fluido-Témica 8 iv. o procedimento é finalizado com a palavra end. Veja por exemplo a criação de uma função do tipo sinal de um número. Desta forma será editado um arquivo sinal.m do tipo: # funç~ao sinal function ret=sinal(x) if (x!=0) ret=x/abs(x); else ret=0; endif end A partir deste ponto existe uma função pronta no octave de nome sinal que pode ser chamada em qualquer instante. Cabe ressaltar entretanto que esta função deve estar no diretório corrente ou no diretório de funções do octave. Assim: octave> ans= 1 octave> ans=- 1 octave> 0 sinal(100) sinal(-10) sinal(0) Esta mesma função poderia ser criada simplesmente digitando a sequência de comandos apresentada no octave dispensando, assim, a necessidade da criação de um novo arquivo. O incoveniente desta forma é que a mesma só estaria disponível depois de carregada para a memória do octave em cada seção. Quando se trata de funções mais simples, que envolve o seu cálculo diretamente a partir de parâmetros fornecidos o comandoinline pode ser uma boa alternativa. Sofre das mesmas limitações de quando se define a função no interior de um script, entretanto sua definição é bem mais simples: octave> f=inline("2*x.^2-3*x+4") f = f(x) = 2*x.^2-3*x+4 octave> f(2) 6

9 Tóp. Esp. Fluido-Témica 9 sendo que neste caso todos os parâmetros envolvidos na função seriam também argumentos da mesma dificultando, assim, definições mais complexas. Existem alternativas para personalizar esta definição uma vez que este comando pode ser utilizado com maior número de parâmetros. Maiores detalhes podem ser encontrados com a utilização da ajuda da função. Para elaboração de gráficos o octave se utiliza de um programa externo denominado GNU- PLOT. Existem comandos internos do próprio gnuplot que muitas vezes são utilizados para definir parâmetros preliminares dos gráficos. Para um bom conhecimento destas funções sugerese uma leitura do manual do próprio programa. Com relação ao comando para plotagem plot ele pode ser utilizado com a entrada de pelo menos dois vetores (x, y), mas sua forma geral permite a utilização de um formato em sequência identificando como vai ser a linha Apenas para ilustrar, foi feito um gráfico personalizado alterando algus parâmetros mais importantes do gnuplot via gset e utilizando-se de um script do octave: octave> x1=0:0.1:pi; %define vetor x octave> a=cos(x1); %define o primeiro vetor y octave> b=sin(x1); %define o segundo vetor y octave> gset xlabel "x" % define nome do eixo x octave> gset ylabel "y" % define nome do eixo y octave> gset key outside box % define legenda % do lado de fora do grafico e com borda octave> plot(x1,a,"-;cos(x);",x1,b,"-;sin(x);") e com isto foi criado o gráfico mostrado na figura (1). Deve-se ressaltar que em versões novas do programa existe a perspectiva de substiturir o comando gset por gnuplot_set. A.4 Operações lógicas É possível realizar uma série de operações lógicas e testes usando o Octave. As operações mais usuais são maior (>) ou maior ou igual (>=), menor(<) ou menor ou igual (<=), igual (==) e diferente (! = ou =). É conveniente notar que o teste de igualdade (==) é diferente da atribuição (=). if é utilizado para realização de comparações diretas e direcionar o fluxo do programa em funçaõ de seu resultado.

10 Tóp. Esp. Fluido-Témica 10 Figura 1: Gráfico gerado no octave octave> a=2 2 octave> if (mod(a,2)==0) disp(\"numero par\") else disp(\"numero impar\") endif Numero par octave> 3 a=3; octave> if (mod(a,2)==0) disp(\"numero par\") else disp(\"numero impar\") endif Numero impar while utilizado para o caso de repetições onde o teste é feito por diversas vezes a cada interação do problema. octave> z=1; octave> while (z<5) disp(z); z+=2; endwhile 1 3 for no caso de operações que usam um contador com incrementos constantes o comando for é o mais indicado. octave> for z=1:2:4 disp(z); endfor 1 3 switch permite a seleção de uma alternativa entre diversas. Pode ser substituido por um conjunto de if s em cascata.

11 Tóp. Esp. Fluido-Témica 11 octave> nlados=3; octave> switch (nlados) > case (3) disp("tri^angulo") > case (4) disp("quadrado") > case (5) disp("pentágono") > otherwise disp("figura n~ao classificada") > endswitch Tri^angulo Em todos os comandos acima o final endif, endwhile, endfor e endswitch pode ser substituido por end sem comprometer o funcionamento do script (e mantendo compatibilidade com o Matlab) A.5 Diferenças básicas entre o Matlab e o Octave Algumas diferenças básicas que podem afetar a compatibilidade entre ambos são: o nome de algumas funções são diferentes o comentário no Matlab é % e no Octave também é aceito o # no Matlab, os blocos formados por while, if e for e as functions necessariamente terminam com end. No octave pode-se usar, opcionalmente, endwhile, endif, endfor e endfunction. no Matlab a única forma aceita para a desigualdade é o =. O!= é aceito apenas no Octave. operadores incrementais ++ e - - não são aceitos no Matlab.

12 APÊNDICE B -- Solução de Equações Diferenciais Ordinárias (ODEs) pelo GNU/Octave Será apresentado agora a técnica de solução de ODEs usando o gnu Octave. A solução via Matlab também é bastante similar ao procedimento proposto mudando apenas algumas funções. Será descrito o procedimento inicialmente para uma ODE de primeira ordem, depois uma de segunda ordem com condições iniciais e, finalmente, uma de segunda ordem com condição de contorno. Maiores detalhes a respeito dos comandos aqui utilizados, podem ser encontrados na documentação octave. B.1 Solução de ODE de primeira ordem Para arepresentar o problema será escolhida a solução da relação entre a temperatura de um termômetro e de seu banho apresentada na apostila. Neste caso a equação do problema é dada por: T (t, T ) = ( sin(2πt) T ) sendo a condição de partida a temperatura inicial do termômetro T (0) = 15. Para definir esta equação do problema é preciso criar um arquivo representando esta função, sendo que ambos (a função e arquivo) devem ter o mesmo nome. No caso será criado o arquivo dert.m, composto por: function dr=dert(tempo,temper) dr=37.681*( *sin(2*pi*tempo)-temper); endfunction

13 Tóp. Esp. Fluido-Témica 13 e a partir dele é possível calcular o valor da função para qualquer par ordenado T (t, T ). Por exemplo: octave> dert(0,15) Cabe ressaltar aqui que no Matlab não existe o comando endfunction, sendo que o mesmo não precisa ser incluido no caso de arquivos deste tipo. Entretanto o objetivo principal é a solução desta equação diferencial, portanto é preciso resolvê-la. Para tanto será montado uma outra função runge.m na qual será implementado o método de Runge-Kutta. A função referida que utilizará a dert.m, anteriormente definida. function resp=runge(tempo,temper,h) k1=h*dert(tempo,temper); k2=h*dert(tempo+h/2, temper+k1/2); k3=h*dert(tempo+h/2, temper+k2/2); k4=h*dert(tempo+h, temper+k3); resp=temper+(k1+2*k2+2*k3+k4)/6; endfunction Com esta função agora é possível realizar a marcha do processo de solução. Caso se desejasse a temperatura após decorridos 2 min, é possível obtê-la usando a função recém definida: octave> runge(0,15,2/60) Para a obtenção da solução completa é preciso repetir este procedimento por diversas vezes este procedimento e armazenar a solução em vetores. Para isto, a sequencia de comandos abaixo pode ser implementada diretamente ou via arquivo e a solução armazenada nos valores de te e TT: dt=2/60; te=0:dt:1; TT=zeros(1,31); TT(1)=15; for i=2:31 TT(i)=runge(te(i-1),TT(i-1),dt); endfor

14 Tóp. Esp. Fluido-Témica 14 que se executado no octave. Deve-se observar que o comando te=0:2/60:1; cria um vetor com todos os termos de 0 a 1, incrementados em intervalos de 2/60. Feita esta análise implementar ainda solução analítica do problema e a evolução da temperatura do banho em funções distintas (t exata.m e tbanho.m). O resultado obtido destas funções são armazenadas em variáveis: function tex=t_exata(t) tex= *sin(2*pi*t-0.165)-21.36*exp( *t); endfunction e function tba=tbanho(t) tba= *sin(2*pi*t); endfunction Definidas as funções pode-se avaliar as soluções e armazená-los nas variáveis texv e tba, a partir das quais, pode-se plotar os resultados. Estes valores estão mostrados no gráfico em função do tempo armazenado na variável te, e o resultado está mostrado na figura (2). Figura 2: Gráfico gerado no octave

15 Tóp. Esp. Fluido-Témica 15 Para comparação uma tabela de saída de dados foi montada com base nos resultados obtidos. Desta forma é possível uma análise dos valores numéricos de cada caso: octave> [te TT texv tba ] Neste gráfico estão mostradas a solução numérica e exata do problema, além da temperatura do banho. O comando utilizado para plotagem, considerando-se as avriáveis anteriormente definidas é dado por: xlabel "Tempo [horas]" ylabel "Tempertura [C]" plot(te,texv,"-;sol Analitica;",te,TT,"*;Sol Numerica;",te,tban, "-;Temp. Banho;");

16 Tóp. Esp. Fluido-Témica 16 B.1.1 Solução usando comandos preexistentes no octave Embora o procedimento acima possa ser realizado sem maiores problemas ele depende, como foi mostrado, da elaboração de uma rotina para a solução do problema, no caso usando o procedimento de Runge-Kutta. Existe uma alternativa um pouco mais simples que consiste na utilização do procedimento de solução já implementado no octave usando o comando lsode. Este comando consiste na utilização do algoritmo de Hindmarsh, um algoritmo um pouco mais recente que o de Runge-Kutta e otimizado para sistemas de Equações Diferenciais Ordinárias. Para a solução do problema anteriormente proposto é preciso conhecer o uso de: lsode( nome da função, condição, domínio) sendo que: nome da função é o nome do arquivo que contem a expressão da função a ser integrada e cujo nome vem entre. Embora esta seja basicamente igual à definida anteriormente deve-se tomar o cuidado de que a função deve ser chamada sempre com o primeiro argumento sendo o vetor da grandeza a ser calculada e o segundo o do parâmetro da solução. Nestas condições a função utilizada na solução do problema do termômetro, chamada de dert2.m deve ser redefinida como: function dr=dert2(temper, tempo) dr=37.681*( *sin(2*pi*tempo)-temper); endfunction condição são a(s) condição(ões) de partida necessárias para a solução do problema. domínio representa a faixa de valores para os quais a solução vai ser obtida. Neste caso deve-se estabelecer a forma de um vetor do tipo início: passo: fim ou forma equivalente. Para o caso do exemplo anterior pode-se utilizar: octave> sol2=lsode("dert2",15,te); considerando o dominio do problema anteriormente definido por te. Depois disto a solução poderia ser plotada e comparada com as anteriores ou mesmo verificado a diferença entre a nova solução e a anterior.

17 Tóp. Esp. Fluido-Témica 17 Um procedimento similar a este poderia ser elaborado usando-se o Matlab para obter a solução deste problema com as seguintes diferenças: existem uma série de funções que permitem a solução de odes no Matlab, sendo a mais utilizada a ode45, que normalmente substituir o lsode. a chamada da função dentro do ode45 se dá com na frente do nome e não entre. o domínio pode ser estabelecido através de um vetor na forma [início final], além das formas anteriormente apresentadas. EXERCÍCIO: Repita o procedimento anteriormente apresentado agora para um termopar, cuja capacidade térmica e, por consequência, o tempo de resposta são bem menores. Supondo que as condições do banho são as mesmas propostas para o caso do termômetro e que as propriedades físicas do termopar são: ρ = 7600 kg/m 3 ; c = 0.12 kcal/kg K; D = m.considere neste caso que o volume submerso é igual ao diâmetro total do par termoelétrico. Solução: Neste caso a EDO do problema seria dada por: T (t, T ) = ( sin(2πt) T ) e a solução analítica do problema seria dada por: T (t) = sin(2πt ) exp( t) Agora apresente a solução numérica deste problema e compare-a com a resposta obtida a partir da solução analítica. B.2 Solução de ODE de segunda ordem ou ordens superiores Também no caso da EDO de segunda ordem é possível utilizar estes métodos. Como foi visto a saída é converter a solução para um sistema de equações diferenciais em que cada uma representa uma ordem diferente. Uma solução implementando a técnica de Runge Kutta apresentada anteriormente poderia ser vista, entretanto, aqui só será apresentada a técnica que se utiliza da função pré-implementada no octave lsode.

18 Tóp. Esp. Fluido-Témica 18 Bem para isto é necessário definir uma função que represente a equação diferencial do problema que foi apresentada anteriormente, sendo: T (r, T, T ) = 93.02(T 25) 1 r T que será representada através da função sol ale1.m, que tem como parâmetros de entrada um vetor que armazena T e suas derivadas e uma variável para armazenar a posição radial r. function temr=sol_ale1(temper, raio) temr=zeros(2,1); temr(1)=temper(2); temr(2)=93.02*(temper(1)-25)-1/raio*temper(2); endfunction onde a variável temr (1) e (2) representam as expressões para a primeira e segundas derivadas de T nos pontos considerados, respectivamente. Feito isto a solução pode ser obtida estabelecendo a região do domínio para a qual seria solucionada (raios rr), as condições iniciais) e executando a chamada do lsode, como mostra o script a seguir. octave> saida=lsode("sol_ale1", [ ], rr=[0.06:0.01:0.2]); octave> xlabel "Tempo [horas]" octave> ylabel "Temperatura [C]" octave> plot(rr,saida(:,1),"-*; Sol. Numerica;") octave> figure(2) octave> xlabel "Tempo [horas]" octave> ylabel "Grad. Temper [C/h]" octave> gset key left top octave> plot(rr,saida(:,2),"-*; Sol. Numerica;") que apresentaria a solução do problema na tela e o armazenaria na variável saida. A partir destes dados, poderia ser traçar os gráficos da forma que se mostrasse adequada e também identificar o tamanho real da aleta, a partir do ponto em que a derivada se anula. A figura (3), mostra o comportamento da solução.

19 Tóp. Esp. Fluido-Témica 19 Figura 3: Temperatura e gradientes no caso da aleta B.3 Solução de ODE de segunda ordem ou ordens superiores com condição de contorno deslocada Os problemas de ordem superior nem sempre fornecem as condições necessárias para a partida do processo de marcha, ou seja, o valor da função e de sua derivada no ponto. Em um grande número de situações serão conhecidos o valor da função, ou mesmo da função e derivadas, em dois pontos distintos. Imagine o caso da aleta anterior, se conhece o valor da temperatura na base e a da temperatura na ponta, ou mesmo a temperatura na base e as condições de convecção na ponta, o problema não poderia ser resolvido da maneira apresentada. Para obter-se a solução neste caso é necessário o procedimento iterativo, onde admite-se os valores da função e suas derivadas no ponto e busca-se os outros valores nos pontos desejados. Desta forma imagine o caso resolvido na apostila onde deseja-se saber o fluxo máximo de calor que pode ser dissipado por uma aleta com estas características. Admitindo-se que o comprimento infinito seja uma aleta de 2 m, busca-se o valor da derivada na base que obtenha fluxo de calor nulo nesta ponta. Calcula-se os valores inicialmente para duas estimativas da derivada na base da aleta, usando-se a seguinte sequência de comandos:

20 Tóp. Esp. Fluido-Témica 20 octave> rr=0.06:0.01:2; octave> fx1=-296.1; octave> fx2=-300; octave> saida=lsode("sol_ale1", [50 fx1], rr); octave> y1=saida(end,2) y1 = e+09 octave> saida=lsode("sol_ale1", [50 fx2], rr); octave> y2=saida(end,2) y2 = e+09 onde os valores fx1 e fx2 são os valores da derivada da temperatura no ponto r = 2 m. A partir destes valores utiliza-se o método da reta tangente mostrado no texto da apostila para encontrar a nova (neste caso, terceira) estimativa para o dt/dx r=6 cm. octave> fx3=(y2*fx1-y1*fx2)/(y2-y1) fx3 = Esta é a nova estimativa da derivada na base da aleta, com a qual podem ser reefetuados os cálculos sucessivas vezes até que seja encontrado um valor para a derivada da temperatura nula na posição desejada. Seguindo o procedimento abaixo: octave> fx1=fx2; octave> fx2=fx3; octave> saida=lsode("sol_ale1", [50 fx2], rr); octave> y2=saida(end,2) y2 = octave> fx3=(y2*fx1-y1*fx2)/(y2-y1) fx3 = que resulta num valor para a derivada na base de K/m, e que pode tranquilamente ser convertido para o valor do fluxo de calor na base q = W. O comportamento do gráfico da derivada da temperatura ao longo da posição pode ser visto utilizando um script de plotagem similar ao proposto anteriormente na página (18). Um procedimento similar a este, embora utilizando-se do comando pré-implementado no GNU-Octave, o fsolve (equivalente ao fzero no Matlab), para encontrar zero de funções pode também ser utilizado. Para tanto será necessária a definição de uma função que se anule quando o resultado esperado de derivada nula em x = 2 m ocorra. A implementação foi realizada na função ale inf.m, onde o parâmetro de entrada x é o vetor com o chute inicial da derivada e o valor retornado é a derivada da temperatura no ponto afastado da base, como mostrado a seguir:

21 Tóp. Esp. Fluido-Témica 21 function rr=ale_inf(x) raio=0.06:0.01:2; y=lsode("sol_ale1",[50 x], raio); rr=y(length(y),2); endfunction Definida esta função a mesma pode ser facilmente solucionada buscando-se o valor de x que zera a função acima: octave:65> solu=fsolve("ale_inf", -300) solu = octave:66> printf("%15.8f\n",solu); obtendo-se com isto um resultado similar ao anterior e o gráfico dos valores de tempertura e sua derivada também podem ser montados a partir do valor correto encontrado em solu.

22 REFERÊNCIAS BIBLIOGRÁFICAS DOMINGUES, M. O.; MENDES JR, O. Introdução aos Programas Científicos de Distribuição Gratuita: GNU/Octave, GNU:Maxima, LaTeX e GNU/Rcs Acesso em 28/09/2006. EATON, J. W. Octave Manual Acesso 25/09/2006.

Introdução aos Sistemas Matlab/GNU Octave

Introdução aos Sistemas Matlab/GNU Octave Introdução aos Sistemas Matlab/GNU Octave FEB/UNESP - Bauru 1 Introdução Existem uma série de ambientes matemáticos propícios para a solução de algumas tarefas a serem realizadas cotidianamente em cálculos

Leia mais

Métodos Numéricos em Fluido Térmica

Métodos Numéricos em Fluido Térmica UNIVERSIDADE ESTADUAL PAULISTA Campus Universitário de Bauru FACULDADE DE ENGENHARIA DE BAURU DEPARTAMENTO DE ENGENHARIA MECÂNICA Tópicos Especiais em Fluido-Térmica Métodos Numéricos em Fluido Térmica

Leia mais

1 Equações Diferenciais e Métodos Numéricos 1. 2 Introdução aos Sistemas Matlab/GNU Octave Operações Fundamentais... 7

1 Equações Diferenciais e Métodos Numéricos 1. 2 Introdução aos Sistemas Matlab/GNU Octave Operações Fundamentais... 7 SUMÁRIO 1 Equações Diferenciais e Métodos Numéricos 1 2 Introdução aos Sistemas Matlab/GNU Octave 6 2.1 Operações Fundamentais............................... 7 2.2 Definições e operações com matrizes e

Leia mais

Vetores, Matrizes e Gráficos

Vetores, Matrizes e Gráficos Programação de Computadores I UFOP DECOM 2013 2 Aula prática 3 Vetores, Matrizes e Gráficos Resumo Nesta aula você irá utilizar vetores para resolver diversos tipos de problemas. Para expressar a solução

Leia mais

Mini curso básico. Gilberto A. S. Segundo Fábio Carmo. Programa de Educação Tutorial

Mini curso básico. Gilberto A. S. Segundo Fábio Carmo. Programa de Educação Tutorial Programa de Educação Tutorial Mini curso básico Universidade Federal do Espírito Santo Departamento de Informática Gilberto A. S. Segundo Fábio Carmo Agenda Apresentação Vetores e matrizes em matlab Comandos

Leia mais

Programação de Computadores III

Programação de Computadores III Programação de Computadores III Introdução ao FORTRAN Professor Leandro Augusto Frata Fernandes [email protected] Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.1/tcc-00.157

Leia mais

INTRODUÇÃO AO SCILAB

INTRODUÇÃO AO SCILAB INTRODUÇÃO AO SCILAB O programa SCILAB é um ambiente apropriado ao desenvolvimento de software para computação numérica. Esse programa foi concebido e é mantido pelo Institut de Recherche em Informatique

Leia mais

Programação de Computadores III

Programação de Computadores III Programação de Computadores III Introdução ao FORTRAN Professor Hugo de Oliveira Barbalho [email protected] Material produzido pelo professor: Leandro Augusto Frata Fernandes ([email protected])

Leia mais

MATLAB. Que é MATLAB?

MATLAB. Que é MATLAB? MATLAB Que é MATLAB? MATLAB é o nome abreviado de MATrix LABoratory. MATLAB é um programa para realizar cálculos numéricos com vetores e matrizes. Como caso particular pode também trabalhar com números

Leia mais

Introdução ao MATLAB. Parte 2

Introdução ao MATLAB. Parte 2 Introdução ao MATLAB Parte 2 5 Controle de fluxo 5.1 Scripts e functions Um script m-file consiste de uma série de comandos Matlab escritos em um arquivo com a extensão.m, sem argumentos de entrada ou

Leia mais

Programação de Computadores:

Programação de Computadores: Instituto de C Programação de Computadores: Introdução ao FORTRAN Luis Martí Instituto de Computação Universidade Federal Fluminense [email protected] - http://lmarti.com Introdução ao FORTRAN Cinco aspectos

Leia mais

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano [email protected] Aula 10 04/2014 Scilab Métodos para zeros reais de funções Algoritmo do Método da Bissecção Seja f (x) contínua em [a, b] e tal

Leia mais

SCS Sistemas de Controle / Servomecanismos. Aula 01 Introdução ao software MATLAB

SCS Sistemas de Controle / Servomecanismos. Aula 01 Introdução ao software MATLAB Aula 01 Introdução ao software MATLAB O MATLAB (Matrix Laboratory) é um ambiente de programação de alto desempenho voltado para a resolução de problemas expressos em notação matemática, projeto e simulação

Leia mais

Breve Introdução à Programação em Scilab 6.0

Breve Introdução à Programação em Scilab 6.0 Universidade Federal do Paraná UFPR Departamento de Engenharia Química Breve Introdução à Programação em Scilab 6.0 Prof. Éliton Fontana 2018/2 2 Conteúdo 1 Conceitos Básicos 4 2 Operando Vetores e Matrizes

Leia mais

Matlab Noções introdutórias. Roteiro para aula

Matlab Noções introdutórias. Roteiro para aula Matlab Noções introdutórias Roteiro para aula Matlab- Variáveis Pode-se criar variáveis na área de trabalho Comandos encerrados com ; não geram eco na área de trabalho >> a = 65 a = 65 >> a = 65; >> Matlab-

Leia mais

Introdução ao Scilab 3.0 Parte 3

Introdução ao Scilab 3.0 Parte 3 Introdução ao Scilab 3.0 Parte 3 Paulo S. Motta Pires [email protected] Departamento de Engenharia de Computação e Automação Universidade Federal do Rio Grande do Norte NATAL - RN Paulo Motta (DCA-UFRN)

Leia mais

Introdução a Matrizes

Introdução a Matrizes Programação de Computadores I UFOP DECOM 2013 2 Tutorial Introdução a Matrizes Resumo Neste tutorial você irá aprender como criar matrizes, como realizar operações aritméticas básicas sobre matrizes e

Leia mais

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano [email protected] Aula 10 04/2014 Matlab Métodos para zeros reais de funções Algoritmo do Método da Bissecção Seja f (x) contínua em [a, b] e tal

Leia mais

Introdução ao SciLab. SciLab O que é? Onde obter o programa:

Introdução ao SciLab. SciLab O que é? Onde obter o programa: Introdução ao SciLab SciLab O que é? SciLab é uma plataforma interativa para computação numérica composta de uma rica coleção de algoritmos numéricos e de uma linguagem de programação associada. CN04 2010

Leia mais

Inteligência Computacional Aula 2 - Introdução ao MatLab Graduação /2

Inteligência Computacional Aula 2 - Introdução ao MatLab Graduação /2 Universidade Federal do Rio de Janeiro Instituto de Matemática / DCC Inteligência Computacional Aula 2 - Introdução ao MatLab Graduação - 2003/2 Prof. A. C. G. Thomé, PhD [email protected] Airam C. P.

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição 1 Comando while Deseja-se calcular o valor de: 1 + 2 + 3 +... + N. Observação: não sabemos, a priori, quantos termos

Leia mais

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano [email protected] Aula 7 Matlab Noções Básicas de MATLAB INTRODUÇÃO Cálculo Numérico 3/55 Current Folder Window Local onde as operações podem ser

Leia mais

Cálculo Numérico BCC760

Cálculo Numérico BCC760 Cálculo Numérico BCC760 Resolução de Sistemas de Equações Lineares Simultâneas Departamento de Computação Página da disciplina http://www.decom.ufop.br/bcc760/ 1 Introdução! Definição Uma equação é dita

Leia mais

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem Python

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem Python Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem Python Exercícios: Funções 1. Crie uma função que recebe como parâmetro um número

Leia mais

MATLAB EM VIBRAÇÕES MECÂNICAS

MATLAB EM VIBRAÇÕES MECÂNICAS MATLAB EM VIBRAÇÕES MECÂNICAS O QUE É O MATLAB? O MATLAB ( MATrix LABoratory ) é um pacote de programas computacionais que pode ser usado para a resolução de uma variedade de problemas científicos e de

Leia mais

Declarações. C diferencia letras maiúsculas de minúsculas! int n, N; n é diferente de N!

Declarações. C diferencia letras maiúsculas de minúsculas! int n, N; n é diferente de N! Declarações Os nomes das variáveis devem conter apenas letras, dígitos e o símbolo _ Os principais tipos são: int, float, double e char Exemplos: int n; int quantidade_valores; float x, y, somavalores;

Leia mais

Minicurso de MATLAB. Programa de Educação Tutorial de Engenharia Elétrica. lmax Rodrigues. lcaroline Pereira. lnayara Medeiros

Minicurso de MATLAB. Programa de Educação Tutorial de Engenharia Elétrica. lmax Rodrigues. lcaroline Pereira. lnayara Medeiros Minicurso de MATLAB Programa de Educação Tutorial de Engenharia Elétrica lmax Rodrigues lcaroline Pereira lnayara Medeiros lementa da aula de hoje: - Álgebra linear; - Polinômios; - Operações com polinômios;

Leia mais

Conceitos de vetores. Decomposição de vetores

Conceitos de vetores. Decomposição de vetores Conceitos de vetores. Decomposição de vetores 1. Introdução De forma prática, o conceito de vetor pode ser bem assimilado com auxílio da representação matemática de grandezas físicas. Figura 1.1 Grandezas

Leia mais

Capítulo 2- Funções. Dado dois conjuntos não vazios e e uma lei que associa a cada elemento de um único elemento de, dizemos que é uma função de em.

Capítulo 2- Funções. Dado dois conjuntos não vazios e e uma lei que associa a cada elemento de um único elemento de, dizemos que é uma função de em. Conceitos Capítulo 2- Funções O termo função foi primeiramente usado para denotar a dependência entre uma quantidade e outra. A função é usualmente denotada por uma única letra,,,... Definição: Dado dois

Leia mais

Comandos em C (cont.)

Comandos em C (cont.) Comandos em C (cont.) Operador ternário:? O operador condicional possui uma opção um pouco estranha. É o único operador C que opera sobre três expressões. Sua sintaxe geral possui a seguinte construção:

Leia mais

Introdução ao uso do aplicativo Gnuplot

Introdução ao uso do aplicativo Gnuplot Universidade Estadual do Norte Fluminense Centro de Ciências e Tecnologia Laboratório de Engenharia e Exploração de Petróleo Introdução ao uso do aplicativo Gnuplot Disciplina: Software Livre Aluna: Nathália

Leia mais

Linguagens de Programação Aula 13

Linguagens de Programação Aula 13 Linguagens de Programação Aula 13 Celso Olivete Júnior [email protected] Na aula passada Suporte para a programação orientada a objetos 2 Na aula de hoje Programação Funcional Linguagem Haskell 3 Roteiro

Leia mais

Estruturas de Repetição

Estruturas de Repetição Algoritmos e Estruturas de Dados I (DCC/003) Estruturas de Repetição Aula Tópico 4 (while, for) 1 Problema 10 Suponha que soma (+) e subtração (-) são as únicas operações disponíveis em C. Dados dois números

Leia mais

Algoritmo e Programação Matemática

Algoritmo e Programação Matemática Algoritmo e Programação Matemática Fundamentos de Algoritmos Parte 1 Renato Dourado Maia Instituto de Ciências Agrárias Universidade Federal de Minas Gerais Dados A funcionalidade principal de um computador

Leia mais

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano [email protected] Aula 7 Matlab Noções Básicas de MATLAB INTRODUÇÃO Cálculo Numérico 3/55 Current Folder Window Local onde as operações podem ser

Leia mais

Iteração e Pontos Fixos

Iteração e Pontos Fixos Iteração e Pontos Fixos Iteração é um dos pontos chave da programação numérica. Iterar consiste em repetir uma mesma operação diversas vezes levando a uma aproximação cada vez melhor da solução exata.

Leia mais

ALGORITMOS 3ª Aula. 3. Introdução Tipos de dados, variáveis e operadores Tipos de dados

ALGORITMOS 3ª Aula. 3. Introdução Tipos de dados, variáveis e operadores Tipos de dados 3. Introdução Segundo alguns especialistas, qualquer programa de computador pode ser escrito utilizando apenas três estruturas básicas: Seqüência, Condição e Repetição. Isto significa que, na construção

Leia mais

Linguagem Haskell. Universidade Estadual Santa Cruz Conceitos de Linguagens de Programação. Tiago Carneiro 19 Agosto 2013

Linguagem Haskell. Universidade Estadual Santa Cruz Conceitos de Linguagens de Programação. Tiago Carneiro 19 Agosto 2013 Linguagem Haskell Universidade Estadual Santa Cruz Conceitos de Linguagens de Programação Tiago Carneiro 19 Agosto 2013 1 1 Linguagem Haskell Linguagem de programação funcional É um paradigma de programação

Leia mais

Características Básicas

Características Básicas Características Básicas Software de simulação matemática; Realiza operações matriciais,constrói gráficos em 2D e 3D,ajuda no processamento de sinais; Facilidade na linguagem em um ambiente interativo;

Leia mais

Murilo F. Tomé ICMC-USP

Murilo F. Tomé ICMC-USP INTRODUÇÃO AO MATLAB Murilo F. Tomé ICMC-USP Pré-requisitos: Utilização de editor de texto; Atribuição de valores e manuseio de variáveis; Manuseio de loops; Números reais e complexos; Vetores e matrizes.

Leia mais

I1, I2 e In são instruções simples ou estruturadas da linguagem Pascal.

I1, I2 e In são instruções simples ou estruturadas da linguagem Pascal. Capítulo 4 TESTES, ESCOLHAS E MALHAS DE REPETIÇÃO 1. INTRODUÇÃO Em muitos exemplos e exercícios realizados nos capítulos anteriores, não foram raras as vezes em que fizemos uso de elementos disponíveis

Leia mais

UNIJUI:UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO RIO GRANDE DO SUL DCEEng: DEPARTAMENTO DE CIÊNCIAS EXATAS E ENGENHARIAS

UNIJUI:UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO RIO GRANDE DO SUL DCEEng: DEPARTAMENTO DE CIÊNCIAS EXATAS E ENGENHARIAS UNIJUI:UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO RIO GRANDE DO SUL DCEEng: DEPARTAMENTO DE CIÊNCIAS EXATAS E ENGENHARIAS COMO INSTALAR E UTILIZAR O SCILAB Tânia Michel Pereira Juliane Sbaraine Costa

Leia mais

Introdução à Ciência da Computação

Introdução à Ciência da Computação Introdução à Ciência da Computação Unidade III Programação de Computadores com Octave Uso do Octave no Modo Interativo Prof. Roberto M. de Faria/DSC/UFCG Ajuda para o Octave Para ter acesso à documentação

Leia mais

Parte 1 - Matrizes e Sistemas Lineares

Parte 1 - Matrizes e Sistemas Lineares Parte 1 - Matrizes e Sistemas Lineares Matrizes: Uma matriz de tipo m n é uma tabela com mn elementos, denominados entradas, e formada por m linhas e n colunas. A matriz identidade de ordem 2, por exemplo,

Leia mais

Linguagem Haskell. Riocemar S. de Santana

Linguagem Haskell. Riocemar S. de Santana Linguagem Haskell Riocemar S. de Santana Haskell, o que é? É uma linguagem de programação puramente funcional, de propósito geral. Nomeada em homenagem ao matemático americano Haskell B. Curry (1900 1982).

Leia mais

MATLAB Avançado. Melissa Weber Mendonça

MATLAB Avançado. Melissa Weber Mendonça MATLAB Avançado Melissa Weber Mendonça [email protected] O que é o MATLAB? Linguagem computacional de alto nível e um ambiente interativo para computação numérica, visualização e programação. Console:

Leia mais

Cálculo Numérico. que é denominado erro relativo. Temos então para os dados acima:

Cálculo Numérico. que é denominado erro relativo. Temos então para os dados acima: Cálculo Numérico 1 Erros Nenhum resultado obtido através de cálculos eletrônicos ou métodos numéricos tem valor se não tivermos conhecimento e controle sobre os possíveis erros envolvidos no processo.

Leia mais

INTRODUÇÃO AO MATLAB - PARTE 2

INTRODUÇÃO AO MATLAB - PARTE 2 INTRODUÇÃO AO MATLAB - PARTE 2 Murilo F. Tomé - ICMC-USP Operadores Relacionais/Lógicos Estruturas de Seleção e Repetição Introdução polinômios Gráficos Operadores relacionais Símbolo Operador = = igual

Leia mais

étodos uméricos ZEROS DE FUNÇÕES Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

étodos uméricos ZEROS DE FUNÇÕES Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA étodos uméricos ZEROS DE FUNÇÕES Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA UNIVERSIDADE DE JOÃO DEL-REI PRÓ-REITORIA DE PESQUISA CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA

Leia mais

Aula 03 - Introdução ao Scilab (p2)

Aula 03 - Introdução ao Scilab (p2) BCC701- Programação de Computadores I Aula 03 - Introdução ao Scilab (p2) Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM http://www.decom.ufop.br/bcc701 BCC701-2019-01 DECOM

Leia mais

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados Métodos Computacionais Operadores, Expressões Aritméticas e Entrada/Saída de Dados Tópicos da Aula Hoje aprenderemos a escrever um programa em C que pode realizar cálculos Conceito de expressão Tipos de

Leia mais

CONCEITOS DE ALGORITMOS

CONCEITOS DE ALGORITMOS CONCEITOS DE ALGORITMOS Fundamentos da Programação de Computadores - 3ª Ed. 2012 Editora Prentice Hall ISBN 9788564574168 Ana Fernanda Gomes Ascênsio Edilene Aparecida Veneruchi de Campos Algoritmos são

Leia mais

Capítulo 04. Erros de arredondamento e Truncamento (Parcial)

Capítulo 04. Erros de arredondamento e Truncamento (Parcial) Capítulo 04 Erros de arredondamento e Truncamento (Parcial) Objetivos do capítulo Entender a diferença entre acurácia e precisão. Aprender como quantificar o erro. Aprender a usar estimativas de erros

Leia mais

Números de Fibonacci. f n = f n 1 + f n 2. A condição inicial é de que há um par no primeiro mês e dois pares no segundo mês: f 1 = 1, f 2 = 2

Números de Fibonacci. f n = f n 1 + f n 2. A condição inicial é de que há um par no primeiro mês e dois pares no segundo mês: f 1 = 1, f 2 = 2 Números de Fibonacci Leonardo Pisano Fibonacci nasceu por volta de 1170 e morreu por volta de 1250 em Pisa, atualmente pertencente à Itália. Durante sua vida ele viajou pela Europa e pelo Norte da África,

Leia mais

Interpolação polinomial

Interpolação polinomial Quarto roteiro de exercícios no Scilab Cálculo Numérico Rodrigo Fresneda 8 de abril de 0 Guia para respostas: Entregue suas respostas às tarefas contidas no roteiro de cada uma das quatro atividades, incluindo

Leia mais

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Funções 1. Crie uma função que recebe como parâmetro um número inteiro

Leia mais

Unidade 3: Linguagem de programação

Unidade 3: Linguagem de programação Unidade 3: Linguagem de programação 3.5. Trabalhando com polinômios, vetores e matrizes O programa Scilab trabalha com polinômios, vetores e matrizes de forma similar a vários pacotes computacionais disponíveis

Leia mais

Cálculo Numérico. que é denominado erro relativo. Temos então para os dados acima:

Cálculo Numérico. que é denominado erro relativo. Temos então para os dados acima: Cálculo Numérico 1 Erros Nenhum resultado obtido através de cálculos eletrônicos ou métodos numéricos tem valor se não tivermos conhecimento e controle sobre os possíveis erros envolvidos no processo.

Leia mais

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 Exercícios de revisão Lista 01: a) Monte um mapa conceitual indicando as relações entre os seguintes conceitos, no contexto do assunto visto em aula:

Leia mais

Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas

Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas Estrutura de um Programa em Linguagem Algorítmica Nesse curso nós vamos utilizar a linguagem algorítmica para

Leia mais

AULA 2 1) Comando linspace 2) Indexação de matriz

AULA 2 1) Comando linspace 2) Indexação de matriz AULA 2 1 1) Comando linspace >> linspace(0,10,5) ans = 0 2.5000 5.0000 7.5000 10.0000 Espaça linearmente um determinado número de elementos entre um valor final e um inicial. 2) Indexação de matriz >>

Leia mais

Aula 5 - Mais C e repetição

Aula 5 - Mais C e repetição Vamos nesta aula mostrar mais detalhes e a forma geral dos comandos C vistos até agora. O comando de atribuição A forma geral do comando de atribuição é: = A expressão

Leia mais

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Programação em C Variáveis e Expressões DCA0800 Algoritmos e Lógica de Programação Heitor Medeiros Florencio

Leia mais

MATRIZES E DETERMINANTES

MATRIZES E DETERMINANTES MATRIZES E DETERMINANTES Matrizes Para representar matrizes, utilizamos a disposição de uma tabela. Chamamos de matriz toda a tabela m x n ( lê-se m por n ) em que números estão dispostos em linhas (m)

Leia mais

Apostila de Matemática 10 Matriz

Apostila de Matemática 10 Matriz Apostila de Matemática 10 Matriz 1.0 Definição m e n são números inteiros maiores que zero. Matriz mxn é uma tabela retangular formada por m.n números reais, dispostos é m linhas e n colunas. A tabela

Leia mais

Matrizes material teórico

Matrizes material teórico M A T R I Z E S A Matemática é a mais simples, a mais perfeita e a mais antiga de todas as ciências. (Jacques Hadarmard) "Aqueles que estudam seriamente a matemática acabam tomados de uma espécie de paixão

Leia mais

Aula 12- Variáveis e valores reais

Aula 12- Variáveis e valores reais Aula 12- Variáveis e valores reais Até agora todos os nossos problemas continham apenas valores inteiros e portanto variáveis do tipo int. Para resolver problemas que usam valores com parte fracionária,

Leia mais

Variáveis primitivas e Controle de fluxo

Variáveis primitivas e Controle de fluxo Variáveis primitivas e Controle de fluxo Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/

Leia mais

Quarto projeto computacional (data de entrega: 05/06/17)

Quarto projeto computacional (data de entrega: 05/06/17) Quarto projeto computacional (data de entrega: 05/06/17) 1. Escreva um programa em MATLAB (ou na sua linguagem favorita) que implemente numericamente o modelo de neurônio integra-e-dispara com vazamento

Leia mais

Aprender a utilizar o aplicativo Gnuplot para fazer gráficos

Aprender a utilizar o aplicativo Gnuplot para fazer gráficos Capitulo 11. GRÁFICOS COM GNUPLOT (versão 5.03) OBJETIVOS DO CAPÍTULO Aprender a utilizar o aplicativo Gnuplot para fazer gráficos Aprender a utilizar o aplicativo Gnuplot interativamente com um programa

Leia mais

Capítulo 7. Expressões e Sentenças de Atribuição

Capítulo 7. Expressões e Sentenças de Atribuição Capítulo 7 Expressões e Sentenças de Atribuição Introdução Expressões são os meios fundamentais de especificar computações em uma linguagem de programação Para entender a avaliação de expressões, é necessário

Leia mais

Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701

Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701 Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I - BCC701 www.decom.ufop.br/red AULA TEÓRICA 02 1 Prof. Marcelo Luiz Silva Red CONTEÚDOS DA AULA

Leia mais

Métodos de Física Teórica II Prof. Henrique Boschi IF - UFRJ. 1º. semestre de 2010 Aulas 3 e 4 Ref. Butkov, cap. 8, seção 8.3

Métodos de Física Teórica II Prof. Henrique Boschi IF - UFRJ. 1º. semestre de 2010 Aulas 3 e 4 Ref. Butkov, cap. 8, seção 8.3 Métodos de Física Teórica II Prof. Henrique Boschi IF - UFRJ 1º. semestre de 2010 Aulas 3 e 4 Ref. Butkov, cap. 8, seção 8.3 Equações de Poisson e Laplace Vimos na aula passada o método de separação de

Leia mais

Capítulo 11. GRÁFICOS COM WGNUPLOT

Capítulo 11. GRÁFICOS COM WGNUPLOT Capítulo 11. GRÁFICOS COM WGNUPLOT OBJETIVOS DO CAPÍTULO Aprender a utilizar o aplicativo Wgnuplot para fazer gráficos Aprender a utilizar o aplicativo Wgnuplot interativamente com um programa em FORTRAN

Leia mais

Universidade Federal de São Carlos UFSCar Departamento de Engenharia de Produção

Universidade Federal de São Carlos UFSCar Departamento de Engenharia de Produção Universidade Federal de São Carlos UFSCar Departamento de Engenharia de Produção Tutorial básico de uso do Matlab/Octave para o método simplex Prof. Dr. Pedro Munari ([email protected]) Matlab e Octave

Leia mais

Técnicas de Programação

Técnicas de Programação Técnicas de Programação Algoritmos Anderson Gomes Eleutério Lógica A lógica de programação é necessária para pessoas que desejam trabalhar com desenvolvimento de sistemas e programas, ela permite definir

Leia mais

Prof. Dr. Marco Antonio Leonel Caetano

Prof. Dr. Marco Antonio Leonel Caetano Forecasting e Otimização de Carteiras com Matlab Prof. Dr. Marco Antonio Matlab O que é? Como funciona? Fundamentos - Ambiente de programação avançada - Ambiente de execução de programas - Permite utilização

Leia mais

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior ALGORITMOS E APLICAÇÕES FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior Formato Básico do Pseudocódigo Tipos de dados O VisuAlg prevê quatro tipos de dados: inteiro, real,

Leia mais

TÉCNICO DE INFORMÁTICA - SISTEMAS

TÉCNICO DE INFORMÁTICA - SISTEMAS 782 - Programação em C/C++ - estrutura básica e conceitos fundamentais Linguagens de programação Linguagem de programação são conjuntos de palavras formais, utilizadas na escrita de programas, para enunciar

Leia mais

Algoritmos. Estrutura de Repetição. enquanto. while. Grupos de Slides No 5. Prof. SIMÃO

Algoritmos. Estrutura de Repetição. enquanto. while. Grupos de Slides No 5. Prof. SIMÃO Algoritmos Estrutura de Repetição enquanto while Grupos de Slides No 5. Prof. SIMÃO 1 Feito por Prof. Jean Marcelo SIMÃO e revisado por Prof. Luis Alberto LUCAS Estrutura de Repetição enquanto % enquanto

Leia mais

Compiladores. Análise Léxica

Compiladores. Análise Léxica Compiladores Análise Léxica Cristiano Lehrer, M.Sc. Introdução (1/3) Análise léxica é a primeira fase do compilador. A função do analisador léxico, também denominado scanner, é: Fazer a leitura do programa

Leia mais

[ ] EXEMPLOS: Muitas vezes precisamos montar uma Matriz a partir de uma lei geral. Analise os exemplos a seguir:

[ ] EXEMPLOS: Muitas vezes precisamos montar uma Matriz a partir de uma lei geral. Analise os exemplos a seguir: MATRIZES CONCEITO: Um conjunto de elementos algébricos dispostos em uma tabela retangular com linhas e colunas é uma Matriz. A seguir, vemos um exemplo de Matriz de 3 linhas e 4 colunas, e que representaremos

Leia mais

Aula 08: Repetição (Parte 3)

Aula 08: Repetição (Parte 3) Aula 08: Repetição (Parte 3) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula Anterior Breve Revisão Comandos de Decisão

Leia mais

Lógica de Programação I. Gilson de Souza Carvalho

Lógica de Programação I. Gilson de Souza Carvalho Gilson de Souza Carvalho [email protected] 1. Estruturas básicas Apresentaremos um resumo com os comandos estudados para criação de algoritmos. Para utilizar estes comandos, usaremos uma sintaxe

Leia mais

, cosh (x) = ex + e x. , tanh (x) = ex e x 2

, cosh (x) = ex + e x. , tanh (x) = ex e x 2 Exercícios Adicionais 1. Podemos definir as funções seno, cosseno e tangente hiperbólicos como: sinh (x) = ex e x, cosh (x) = ex + e x, tanh (x) = ex e x e x + e x Escreva três funções no Scilab que implementem

Leia mais