APÊNDICE A -- Introdução aos Sistemas Matlab/GNU Octave
|
|
|
- Yago Lagos de Oliveira
- 8 Há anos
- Visualizações:
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 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
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
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
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
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
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
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
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])
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
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
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
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
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
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
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-
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)
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
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
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
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.
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
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
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
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
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
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;
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;
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
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
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:
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
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
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
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
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
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.
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
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
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;
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.
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
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
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
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,
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).
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:
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.
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
é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
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
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
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
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
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,
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
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
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
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.
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:
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
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 >>
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
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
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)
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
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
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,
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/
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
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
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
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
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
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
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
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
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
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,
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
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
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
[ ] 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
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
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
, 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
