24
Aula 02 Variáveis, Matrizes, Gráficos 1 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

  • Upload
    belita

  • View
    59

  • Download
    0

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Aula  02 Variáveis, Matrizes , Gráficos

Aula 02

Variáveis, Matrizes, Gráficos

1

Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM

Programação de Computadores I – BCC701www.decom.ufop.br/moodle

Page 2: Aula  02 Variáveis, Matrizes , Gráficos

No circuito abaixo, temos uma fonte de voltagem V=120V, com uma resistência interna Rs=50Ω, suprindo uma carga de resistência RL. Qual é o valor da resistência que resulta na potência máxima fornecida pela fonte para a carga? Qual é a potência fornecida nesse caso?

2

Transferência de carga máxima

Page 3: Aula  02 Variáveis, Matrizes , Gráficos

Precisamos variar a resistência de carga RL e computar o valor da potência, para a cada valor de RL. A potência fornecida para a resistência de carga é dada pela equação:

PL = I2 RL

onde I é a corrente fornecida para a carga, calculada, conforme a lei de Ohm, como:

I = V/(RS+RL)

3

Transferência de carga máxima

Page 4: Aula  02 Variáveis, Matrizes , Gráficos

Os valores para a resistência de carga RL devem variar de 1Ω até 100Ω, de 1 em 1Ω.

Como podemos construir uma tabela dos possíveis valores para a resistência RL?

Como podemos computar o valor da potência para a cada valor de RL?

4

Transferência de carga máxima

Page 5: Aula  02 Variáveis, Matrizes , Gráficos

A unidade básica de dados em Scilab é uma matriz. Uma matriz é uma coleção de valores, organizados

em linhas e colunas, tal como uma tabela.

Exemplos:

a = 1 5 6 2 é uma matriz de dimensão1x4

1 2 b = 3 4 é uma matriz de dimensão 3x2 5 6

5

Matrizes

Page 6: Aula  02 Variáveis, Matrizes , Gráficos

--> 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.

6

Matrizes em Scilab cria uma matriz 1x3, contendo os valores 23.6 44 e 78.5, e

atribui essa matriz à variável de nome massa

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

Page 7: Aula  02 Variáveis, Matrizes , Gráficos

--> 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.

7

Matrizes em Scilab cria uma matriz 2x4 e atribui essa

matriz à variável a

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

Page 8: Aula  02 Variáveis, Matrizes , Gráficos

--> 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.

8

Matrizes em Scilabcria uma matriz 3x1 e atribui

essa matriz à variável b

podemos atribuir valores a elementos individuais de

uma matriz

um elemento de uma matriz pode ser uma expressão

Page 9: Aula  02 Variáveis, Matrizes , Gráficos

Seja M a matriz criada pelo seguinte comando:

--> M = [1,3;2,4;5,7]

1. Qual é a dimensão da matriz M?2. Qual seria o resultado da execução de da

seguinte sequência de comandos Scilab?--> x = M(2,1)*3--> y = M(1,3)--> M(2,1) = M(1,2)+10

9

Exercício

3x2

x = 6 error 21 – Invalid index

M = 1. 3. 13. 4. 5. 7.

Page 10: Aula  02 Variáveis, Matrizes , Gráficos

É fácil criar uma matriz listando explicitamente seus elementos:

--> M = [1,3;2,4;5,7]

Mas, e se a matriz contiver centenas ou milhares de elementos?

--> X = [1:2:10] X = 1. 3. 5. 7. 9.

10

Mais comandos para criar Matrizes

valor inicial valor final

incremento

Page 11: Aula  02 Variáveis, Matrizes , Gráficos

Também podemos 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.

11

Mais comandos para criar Matrizes

Page 12: Aula  02 Variáveis, Matrizes , Gráficos

--> A = [1:4]A = 1. 2. 3. 4.

--> B = [1:4]*5 B = 5. 10. 15. 20.

12

Mais comandos para criar Matrizesvalor inicial valor final

se o incremento for omitido, ele é considerado igual a 1

multiplicação de matrizes: o valor 5 é visto como uma matriz 1x1

Page 13: Aula  02 Variáveis, Matrizes , Gráficos

--> F = [1:3]F = 1. 2. 3.

--> G = [1:3]’G = 1. 2. 3.

13

Mais comandos para criar Matrizes

operador de transposição

de matriz

--> H = [F F]H = 1. 2. 3. 1. 2. 3.

--> I = [G G]I = 1. 1. 2. 2. 3. 3.

matrizes podem ser criadas a

partir de outras matrizes

Page 14: Aula  02 Variáveis, Matrizes , Gráficos

O valor tensão na fonte é 120V e o valor da resistência interna Rs é 50 Ω.

Os valores para a resistência de carga RL devem variar de 1Ω até 100Ω, de 1 em 1Ω.

Como podemos construir uma tabela dos possíveis valores para a resistência RL?

14

Voltando ao nosso problema:Transferência de carga máxima

V = 120 // voltagem da fonte (Volts)RS = 50 // resistência interna (Ohms)RL = [1:100] // resistência de carga(Ohms)

Page 15: Aula  02 Variáveis, Matrizes , Gráficos

Agora queremos calcular o valor da corrente para cada possível valor da resistência de carga RL, sendo o valor da corrente dado por:

I = V/(RS+RL)

Como podemos fazer isso?

15

Voltando ao nosso problema:Transferência de carga máxima

Page 16: Aula  02 Variáveis, Matrizes , Gráficos

Todos os operadores aritméticos se aplicam também sobre matrizes:

A + B A - B

C * D C / D

Veremos mais sobre essas operações futuramente

16

Operações sobre Matrizes

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)

Page 17: Aula  02 Variáveis, Matrizes , Gráficos

No nosso problema, o que queremos é aplicar uma determinada operação a todos os elementos da matriz RL, obtendo uma matriz dos resultados correspondentes:

I = V/(RS+RL)

Como podemos fazer isso?

17

Voltando ao nosso problema:Transferência de carga máxima

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

Page 18: Aula  02 Variáveis, Matrizes , Gráficos

Agora queremos calcular a potência na resistência de carga RL para cada possível valor da corrente e da resistência:

P = I2 RL

Como podemos calcular a matriz de potências?18

Voltando ao nosso problema:Transferência de carga máxima

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

o resultado é uma matriz de mesma dimensão que

RL

Page 19: Aula  02 Variáveis, Matrizes , Gráficos

19

Voltando ao nosso problema:Transferência de carga má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

Page 20: Aula  02 Variáveis, Matrizes , Gráficos

Para encontrar o valor da potência máxima, vamos plotar o gráfico Potência X Resistência de carga

20

Voltando ao nosso problema:Transferência de carga máxima

V = 120 // voltagem da fonte (Volts)RS = 50 // resistência interna (Ohms)RL = [1:100] // resistência de carga(Ohms)Ia = V ./ (Rs .+ Rl) // corrente (Amperes)P = (Ia .^ 2) .* Rl) // potência (Watts)

Page 21: Aula  02 Variáveis, Matrizes , Gráficos

21

Voltando ao nosso problema:Transferência de carga máxima

// gráfico da potência versus resistênciaplot (Rl,P) // resistência interna (Ohms)title(“Potência versus Resistência)xlabel(“Resistência de carga (ohms)”)ylabel(“Potência (watts)”)

Page 22: Aula  02 Variáveis, Matrizes , Gráficos

22

Voltando ao nosso problema:Transferência de carga máxima

Page 23: Aula  02 Variáveis, Matrizes , Gráficos

Podemos obter o valor da resistência de carga para a qual a potência é máxima inspecionando o gráfico de Potência versus Resistência de carga.

Mas podemos também usar funções pre-definidas em Scilab para obter este valor:

23

Voltando ao nosso problema:Transferência de carga máxima

[Pmax,i] = max(P) // potência máxima Rmax = Rl(i)

a função max,aplicada a uma matriz, retorna dois valores:

1) o valor máximo contido na matriz2) 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

Page 24: Aula  02 Variáveis, Matrizes , Gráficos

Estude o capítulo 2 do livro: Stephen J. Chapman: Programação em MathLab para Engenheiros

A seção 2.14 contém um resumo do capítulo e uma relação de operadores e funções pre-definidos em Scilab

Procure fazer os exercícios desse capítulo

24

Importante