240 likes | 420 Views
Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I – BCC701 www.decom.ufop.br/moodle. Aula 02 Variáveis, Matrizes , Gráficos. Transferência de carga máxima.
E N D
Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I – BCC701 www.decom.ufop.br/moodle Aula 02Variáveis, Matrizes, Gráficos
Transferência de cargamáxima • No circuitoabaixo, temosumafonte de voltagem V=120V, com umaresistênciainternaRs=50Ω, suprindoumacarga de resistência RL. Qualé o valor da resistênciaqueresultanapotênciamáximafornecidapelafontepara a carga? Qualé a potênciafornecidanessecaso?
Transferência de cargamáxima • Precisamosvariar a resistência de carga RL e computar o valor da potência, para a cada valor de RL. A potênciafornecidapara a resistência de cargaé dada pelaequação: PL = I2 RL onde I é a correntefornecidapara a carga, calculada, conforme a lei de Ohm, como: I = V/(RS+RL)
Transferência de cargamáxima • Osvalorespara a resistência de carga RLdevemvariar de 1Ω até 100Ω, de 1 em 1Ω. • Como podemosconstruirumatabela dos possíveisvalorespara a resistência RL? • Como podemoscomputar o valor da potênciapara a cada valor de RL?
Matrizes • A unidadebásica de dados emScilabéumamatriz. • Uma matrizéumacoleção de valores, organizadosemlinhas e colunas, talcomoumatabela. Exemplos: a = 1 5 6 2 éumamatriz de dimensão1x4 1 2 b = 3 4 éumamatriz de dimensão 3x2 5 6
MatrizesemScilab cria uma matriz 1x3, contendo os valores 23.6 44 e 78.5, e atribui essa matriz à variável de nome massa --> pesos = [ 23.6 44 78.5 ] pesos = 23.6 44. 78.5 --> notas= [ 8, 7, 10 ] notas= 8. 7. 10. --> massa(1) ans = 20.6 -->notas(3) ans = 10. elementos em uma mesma linha da matriz podem ser escritos separados por espaços em branco ou por vírgulas. elementos individuais de uma matriz são identificados pelo nome da matriz e pelo índice da linha e da coluna em que ele ocorre na matriz
MatrizesemScilab cria uma matriz 2x4 e atribui essa matriz à variável a --> a= [1,3,5,7; 2,4,6,8 ] a= 1. 3. 5. 7. 2. 4. 6. 8. --> a(1,3) ans= 5. --> a(2,1) ans = 2. as linhas da matriz são separadas por ; elementos individuais de uma matriz são identificados pelo nome da matriz e pelo índice da linha e da coluna em que ele ocorre na matriz
MatrizesemScilab cria uma matriz 3x1 e atribui essa matriz à variável b --> b = [10;30;50+4] a= 10. 30. 54. --> a(2,1) = b(3,1)+10 a= 1. 3. 5. 7. 64. 4. 6. 8. um elemento de uma matriz pode ser uma expressão podemos atribuir valores a elementos individuais de uma matriz
Exercício Seja M a matrizcriada pelo seguinte comando: --> M = [1,3;2,4;5,7] • Qual é a dimensão da matriz M? • Qual seria o resultado da execução de da seguintesequência de comandosScilab? --> x = M(2,1)*3 --> y = M(1,3) --> M(2,1)= M(1,2)+10 3x2 x = 6 error 21 – Invalid index M = 1. 3. 13. 4. 5. 7.
MaiscomandosparacriarMatrizes Éfácilcriarumamatrizlistandoexplicitamenteseuselementos: --> M = [1,3;2,4;5,7] Mas, e se a matrizcontivercentenasoumilhares de elementos? --> X = [1:2:10] X = 1. 3. 5. 7. 9. valor inicial valor final incremento
MaiscomandosparacriarMatrizes Tambémpodemos usar a notação <valorInicial>:<incremento>:<valorFinal> para criar matrizes de mais de uma dimensão: --> M = [1:1:3; 10:10:30; 2:2:6] M = 1. 2. 3. 10. 20. 30. 2. 4. 6.
MaiscomandosparacriarMatrizes valor inicial valor final se o incremento for omitido, ele é considerado igual a 1 --> A = [1:4] A = 1. 2. 3. 4. --> B = [1:4]*5 B = 5. 10. 15. 20. multiplicação de matrizes: o valor 5 é visto como uma matriz 1x1
MaiscomandosparacriarMatrizes --> H = [F F] H = 1. 2. 3. 1. 2. 3. --> I = [G G] I = 1. 1. 2. 2. 3. 3. --> F = [1:3] F = 1. 2. 3. --> G = [1:3]’ G = 1. 2. 3. matrizes podem ser criadas a partir de outras matrizes operador de transposição de matriz
Voltandoaonossoproblema:Transferênciade cargamáxima • O valor tensãonafonteé 120V e o valor da resistênciainternaRsé 50 Ω. • Osvalorespara a resistência de carga RLdevemvariar de 1Ω até 100Ω, de 1 em 1Ω. • Como podemosconstruirumatabela dos possíveisvalorespara a resistência RL? V = 120 // voltagem da fonte (Volts) RS = 50 // resistênciainterna (Ohms) RL = [1:100] // resistência de carga(Ohms)
Voltandoaonossoproblema:Transferênciade cargamáxima • Agora queremoscalcular o valor da correnteparacadapossível valor da resistência de carga RL, sendo o valor da corrente dado por: I = V/(RS+RL) • Como podemosfazerisso?
OperaçõessobreMatrizes • Todososoperadoresaritméticos se aplicamtambémsobrematrizes: A + B A - B C * D C / D Veremosmaissobreessasoperaçõesfuturamente soma/subtração de matrizes A e B devem ser de mesma dimensão produto/divisão de matrizes: C e D devem ter dimensões (nxm) e (mxp) o resultado é uma matriz de dimensão (nxp)
Voltandoaonossoproblema:Transferênciade cargamáxima • No nossoproblema, o quequeremoséaplicarumadeterminadaoperação a todososelementos da matriz RL, obtendoumamatriz dos resultadoscorrespondentes: I = V/(RS+RL) • Como podemosfazerisso? Ia = V ./ (Rs+ Rl) // corrente (Amperes) soma o valor de RS a cada elemento de RL divide o valor de V por cada elemento da matriz resultante
Voltandoaonossoproblema:Transferênciade cargamáxima • Agora queremoscalcular a potêncianaresistência de carga RL paracadapossívelvalor da corrente e da resistência: P = I2RL Como podemoscalcular a matriz de potências? Ia = V ./ (Rs + Rl) // corrente (Amperes) soma o valor de RS a cada elemento de RL o resultado é uma matriz de mesma dimensão que RL divide o valor de V por cada elemento da matriz resultante
Voltandoaonossoproblema:Transferênciade cargamáxima P = (Ia .^ 2) .*Rl) // potência (Watts) multiplica cada elemento da matriz resultante pelo elemento correspondente na matriz RL eleva ao quadrado cada elemento da matriz I
Voltandoaonossoproblema:Transferênciade cargamáxima • Para encontrar o valor da potênciamáxima, vamosplotar o gráficoPotência X Resistência de carga V = 120 // voltagem da fonte (Volts) RS = 50 // resistênciainterna (Ohms) RL = [1:100] // resistência de carga(Ohms) Ia= V ./ (Rs .+ Rl) // corrente (Amperes) P = (Ia .^ 2) .*Rl) // potência (Watts)
Voltandoaonossoproblema:Transferênciade cargamáxima // gráfico da potência versus resistência plot (Rl,P) // resistênciainterna (Ohms) title(“Potência versus Resistência) xlabel(“Resistência de carga (ohms)”) ylabel(“Potência (watts)”)
Voltandoaonossoproblema:Transferênciade cargamáxima • Podemosobter o valor da resistência de cargapara a qual a potênciaémáximainspecionando o gráfico de PotênciaversusResistência de carga. • Mas podemostambémusarfunções pre-definidasemScilabparaobtereste valor: [Pmax,i] = max(P) // potênciamáxima Rmax = Rl(i) a função max,aplicada a uma matriz, retorna dois valores: o valor máximo contido na matriz o índice da posição em que esse valor máximo ocorre na matriz o valor da resistência para a qual a potência é máxima pode ser obtida na posição correspondente na matriz RL
Importante • Estude o capítulo 2 do livro: Stephen J. Chapman: ProgramaçãoemMathLabparaEngenheiros • A seção 2.14 contém um resumo do capítulo e umarelação de operadores e funções pre-definidosemScilab • Procure fazerosexercíciosdessecapítulo