Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Apostila Curso Matlab, Notas de estudo de Matlab

Apostila descritiva de computacao para engenharia, programacao em matlab

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 17/11/2009

lenior-dal-cortivo-3
lenior-dal-cortivo-3 🇧🇷

5 documentos

1 / 71

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Apostila Matlab - 1
Aplicação da Computação à Engenharia Elétrica
APLICAÇÃO DA COMPUTAÇÃO À ENGENHARIA ELÉTRICA
Prof. Maurício de Campos
2° Semestre de 2000
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47

Pré-visualização parcial do texto

Baixe Apostila Curso Matlab e outras Notas de estudo em PDF para Matlab, somente na Docsity!

APLICAÇÃO DA COMPUTAÇÃO À ENGENHARIA ELÉTRICA

Prof. Maurício de Campos

2° Semestre de 2000

1. Requisitos mínimos do sistema:

  • Chip Intel (ou compatível) 486DX ou superior;
  • Windows 95 ou superior;
  • Mouse;
  • 15 MB de espaço em disco;
  • 16 MB de memória.

6 bananas à R$ 0,12 cada.

Pode-se resolver usando as variáveis indicadas no problema.

» macas= macas = 2

» peras= peras = 5

» bananas= bananas = 6

» frutas=macas+peras+bananas frutas = 13

» custo=macas0.71+peras0.37+bananas*0. custo =

» valormedio=custo/frutas valormedio =

Para saber quais as variáveis que estão na memória, utiliza-se o comando who. Ele mostra todas as variáveis. E para saber o que está contido em alguma variável, a digite na linha de comando, assim:

» macas macas = 2

Para mudar o valor de uma variável, digite na linha de comando a variável e atribua um novo valor a ela, porém as variáveis que a utilizaram continuam com seus respectivos valores anteriores. Exemplo:

» macas= macas = 3

» frutas frutas = 13

Dica: As teclas de função, ←, ↑, → e ↓ servem para modificar algum erro de digitação ou para repetir alguns comandos já escritos.

2.4 Sobre variáveis

Como o MATLAB segue a linguagem do computador, existem alguns comentários a fazer:

  • fruta, Fruta, FrUtA e FRUTA são variáveis diferentes;
  • a partir do 19º caracter do nome das variáveis é desprezado;
  • jamais os nomes das variáveis deverão começar com números, e sim com caracteres.

Existem algumas variáveis especiais, como:

Variável Valor ans variável padrão usada para resultados pi razão entre a circunferência e o seu diâmetro eps Usada para números muito pequenos inf (^) Infinito, ou seja, (^10) NaN (^) Não é número, ou seja, (^0 )

i e j i = j= − 1

realmin Um número pequeno real positivo realmax Um número grande real positivo

2.5 Outras funções básicas

  • Como já vimos, o comando who mostra as variáveis que estão na memória. Para retirá-las, utiliza- se do comando clear. Note que ele é incondicional, ou seja, uma vez usado não poderá recuperar esses dados. Ex. :

» clear macas apaga a variável macas » clear peras bananas apaga as variáveis pêras e bananas

» clear apaga todas as variáveis da memória

  • Você poderá incluir comentários às variáveis, usando para isso o sinal (%). Ex.:

» macas=4 % Número de maças macas = 4

O MATLAB simplesmente ignora a parte escrita depois do sinal (%).

  • Múltiplos comandos poderão ser feitos numa linha só, separados por vírgulas (,) ou ponto-e- vírgula (;). Ex.:

» macas=4 , bananas=6 ; peras= macas = 4 peras = 8

O (;) não mostra os resultados da operação, enquanto que (,) os mostra.

  • Para interromper a execução de um comando, pressione simultaneamente Ctrl+C.
  • Para sair do MATLAB digite quit.
  • Quando a expressão for muito longa, escreva três pontos (...), pressione Enter e continue na próxima linha.

Função do MATLAB Função Matemática

atan(x) função inversa da tangente

atan2(x,y) função inversa da tangente do quarto quadrante

atanh(x) função inversa da tangente hiperbólica

ceil(x) arredondamento para o mais próximo de +∞

conj(x) conjugado do número complexo

cos(x) função coseno

cosh(x) função coseno hiperbólico

exp(x) exponencial: ex

fix(x) arredondamento para o mais próximo de 0 floor(x) arredondamento para o mais próximo de −∞

imag(x) parte imaginária de um número complexo

log(x) logaritmo natural

log10(x) logaritmo decimal real(x) parte real de um número complexo

rem(x,y) resto da divisão x/y

round(x) arredondamento para o mais próximo inteiro

sign(x) retorna o sinal de um número. Ex.: sign(1.2)=1, sign(-23.4)=-1e sign(0)= sin(x) função seno

sinh(x) função seno hiperbólico

sqrt(x) raiz quadrada tan(x) função tangente

tanh(x) função tangente hiperbólica

3.2 Números Complexos

Para ilustrar os números complexos, consideremos a equação de 2º grau ax bx c

2

onde:

x x

b b ac

a

2

Se a = 1, b = 5 e c = 6, a solução usando MATLAB será:

» a=1 ; b=5 ; c=6 ; » x1=(-b+sqrt(b^2-4ac))/(2*a) x1 =

» x2=(-b-sqrt(b^2-4ac))/(2*a) x2 =

» ax1^2+bx1+c % substituindo x1 em x para verificar o resultado ans = 0

» ax2^2+bx2+c % substituindo x2 em x para verificar o resultado ans = 0

As últimas duas linhas de comando serviram para confirmar o resultado. Agora, imaginemos com a = 1, b =4, c = 13, a solução será:

x 1 = − 2 + 3 − 1

x 2 = − 2 − 3 − 1

O − 1 não é um número real, portanto o resultado da solução será um número complexo,

com a parte real igual a 2 e a imaginária igual a 3 ou -3. A solução no MATLAB será:

» a=1 ; b=4 ; c=13 ;

» x1=(-b+sqrt(b^2-4ac))/(2*a) x1 = -2.0000 + 3.0000i

» x2=(-b-sqrt(b^2-4ac))/(2*a) x2 = -2.0000 - 3.0000i

» ax1^2+bx1+c % substituindo x1 em x para verificar o resultado ans = 0

» ax2^2+bx2+c % substituindo x2 em x para verificar o resultado ans = 0

x1 e x2 são números complexos da forma “a+bi”, sendo “a” a parte real, “b” a parte

imaginária e i = − 1. Na engenharia, o j é mais usado, sendo esse aceito pelo MATLAB. A seguir,

algumas operações com números complexos:

» c1=1-2i c1 = 1.0000 - 2.0000i

» c2=3(2-sqrt(-1)3) c2 = 6.0000 - 9.0000i

» c3=sqrt(-2) c3 = 0 + 1.4142i

» c4=6+sin(.5)*i c4 = 6.0000 + 0.4794i

» c5=6+sin(.5)*j c5 = 6.0000 + 0.4794i

Nos últimos 2 exemplos, o MATLAB considerou que 1 = j = − 1. Outras operações:

» c6=(c1+c2)/c c6 = -7.7782 - 4.49497i

4. Ajuda On-line

Como o MATLAB é baseado em comandos, há a possibilidade do esquecimento de algum comando ou de sua função. Existem três possibilidades de consultar a ajuda: o comando help do

MATLAB, o comando lookfor e usando o menu help.

4.1 O comando HELP

O comando help é muito simples, basta escrever help <tópico> que mostra, se existir, as funções deste tópico. Ex.:

» help sqrt

SQRT Square root SQRT(X) is the square root of the elements of X. Complex result are produced if X is not positive.

See also SQRTM.

Nesse exemplo acima a ajuda da função da raiz quadrada. Agora,

» help cows

cows not found

significa que nada existe sobre cows.

Escrevendo o comando help assim, sozinho, aparece uma lista de tópicos de ajuda. Ex.:

» help

HELP topics:

matlab:general - General purpose commands. matlab:ops - Operators and special characters. matlab:lang - Language constructs and debugging. matlab:elmat - Elementary matrices and matrix manipulation. matlab:speemat - Specialized matrices. matlab:elfun - Elementary math functions. matlab:specfun - Specialized math functions. matlab:matfun - Matrix functions - numerical linear algebra. matlab:datafun - Data analysis and Fourier transform functions. matlab:polyfun - Polynomial and interpolation functions. matlab:funfun - Function function - nonlinear numerical methods. matlab:sparfun - Sparce matrix functions. matlab:plotxy - Two dimensional graphics. matlab:plotxyz - Three dimensional graphics. matlab:graphics - General purpose graphics functions. matlab:color - Color control and lighting model functions. matlab:strfun - Character string functions.

matlab:iofun - Low-level file I/O functions. Toolbox:local - Local function libraly. Toolbox:sigsys - Signals and Systems Toolbox. Toolbox:symbolic - Symbolic Math Toolbox.

For more help on directory/topic, type "help topic".

Este exemplo acima serve para você que não se lembra do comando utilizado do MATLAB.

4.2 O comando LOOKFOR

O comando lookfor é usado para ajuda sobre temas. Ex.:

» lookfor complex

CONJ Complex conjugate. IMAG Complex imaginary part. REAL Complex real part. CDF2RDF Complex diagonal form to real block diagonal form. RSF2CSF Real block form to complex diagonal form CPLXPAIR Sort numbers into complex conjugate pairs.

Importante: Este comando serve apenas para temas, não para comandos.

» x(2:2:7) % Do segundo, em intervalos de 2, até o sétimo elemento ans = 0.3124 0.9425 1.

Veja que neste último, o sétimo elemento não apareceu, pois não estava no intervalo dado a ele.

» y([8 2 9 1]) % O oitavo, segundo, nono e primeiro elementos ans = 0.8090 0.3090 0.5878 0

5.3 Construção de arranjos

Arranjos na matemática são usados tipicamente para progressões aritméticas e geométricas, como foi o caso do X. Ele tinha 11 valores, mas, o que fazer se precisar de 111 valores? O MATLAB tem uma resposta. Ex.:

» x(0:0.1:1)*pi x = Columns 1 through 7 0 0.3142 0.6283 0.9425 1.2566 1.5708 1. Columns 8 through 11 2.1991 2.5133 2.8274 3.

» x=linspace(0,pi,11) x = Columns 1 through 7 0 0.3142 0.6283 0.9425 1.2566 1.5708 1. Columns 8 through 11 2.1991 2.5133 2.8274 3.

No primeiro caso, a notação (0:0.1:1) criou um arranjo que começa em 0 e vai até 1 em intervalos de 0,1. No segundo caso, a função linspace foi usada para criar X. Sua sintaxe é:

linspace(primeiro_elemento,ultimo_elemento,numero_de_elementos)

Existe também a função logspace, semelhante a e esta última, porém com expoentes. Ex.:

» logspace(0,2,11) ans = Columns 1 through 7 1.0000 1.5849 2.5119 3.9811 6.3096 10.0000 15. Columns 8 through 11 25.1189 39.8107 53.0957 100.

Ele criou um arranjo que começa em 100 até 102 , contendo 11 valores. Sua sintaxe é:

logspace(primeiro_expoente,ultimo_expoente,numero_de_expoentes)

Há outras formas de criar um arranjo. Nos próximos exemplos, citaremos alguns deles:

» a=1:5,b=1:2: a = 1 2 3 4 5

b = 1 3 5 7 9

» c=[b a] c = 1 3 5 7 9 1 2 3 4 5

» d=[a(1:2:5) 1 0 1] d = 1 3 5 1 0 1

5.4 Operações Arranjo-Escalares

Pode-se fazer adição, subtração, multiplicação e divisão por um escalar a todos os elementos de um arranjo. Ex.:

» a-2 % Subtraiu 2 de cada elemento de a ans = -1 0 1 2 3

» 2*a-1 % Multiplicou cada elemento de a por 2 e subtraiu 1 ans = 1 3 5 7 9

5.5 Operações Arranjo-Arranjo

Podemos fazer a adição, subtração, multiplicação e divisão de arranjos, aplicados elemento-a- elemento (Primeiro com o primeiro, Segundo com o segundo, ...). Ex.:

» a,b a = 1 2 3 4 5 b = 1 3 5 7 9

» a+b ans = 2 5 8 11 14

» ans-b ans = 1 2 3 4 5

» 2*a-b ans = 1 1 1 1 1

Para a multiplicação e divisão de arranjos, requer a inclusão de um ponto. Ex.:

» a.*b ans = 1 6 15 28 45

» a./b ans = 1.0000 0.6667 0.6000 0.5714 0.

» b.\a

Para criar um arranjo em colunas, deve-se primeiro utilizar os procedimentos da criação em linhas, e depois usar o operador “transpose” ( ' ). Ex.:

» a=1: a = 1 2 3 4 5 » b=a' b = 1 2 3 4 5

Agora, para os números complexos, o operador “transpose” faz a transposição com o seu conjugado. Ex.:

» d=a+i*a d = Columns 1 through 4 1.0000+1.0000i 2.0000+2.0000i 3.0000+3.0000i 4.0000+4.0000i Column 5 5.0000+5.0000i

» e=d' e = 1.0000 - 1.0000i 2.0000 - 2.0000i 3.0000 - 3.0000i 4.0000 - 4.0000i 5.0000 - 5.0000i

Para resolver esta situação, utilizaremos o ponto (.'). Ex.:

» f=d' f = 1.0000 + 1.0000i 2.0000 + 2.0000i 3.0000 + 3.0000i 4.0000 + 4.0000i 5.0000 + 5.0000i

5.7 Outras funções

Lembra-se do comando who? Ele mostrava as variáveis locadas na memória. No caso dos arranjos, o comando whos nos dá uma informação adicional.

» whos Name Size Elements Bytes Density Complex a 1 by 5 5 40 Full No b 5 by 1 5 40 Full No d 1 by 5 5 80 Full Yes e 5 by 1 5 80 Full Yes f 5 by 1 5 80 Full Yes

Esta Tabela ilustra as operações básicas de arranjo:

Operações de Arranjos

a = (^) [ a 1 a 2 K a (^) n], b = (^) [ b 1 b 2 K bn]e c ={ escalar}

Adição com escalar (^) a c (^) [ a c a c a c]

+ = 1 + 2 + L n+

Multiplicação com escalar (^) a c (^) [ a c a c a c]

* = 1 * 2 * K n*

Adição de arranjos (^) a b (^) [ a b a b a b ]

+ = 1 + 1 2 + 2 K n + n

Multiplicação de arranjos (^) a b (^) [ a b a b a b ]

.* = 1 * 1 2 * 2 L n * n

Divisão de arranjos (^) a b (^) [ a b a b a b ]

./ = 1 / 1 2 / 2 K n / n

a b.\ = (^) [ a 1 \ b 1 a 2 \ b 2 K a (^) n \bn]

Potência em arranjos (^) a.^ c = (^) [a 1 ^^ c^ a 2 ^^ c^ L^ a^ n^^ c] c. ^ a = (^) [c ^ a 1 c^ a 2 K c^ a (^) n]

a.^ b = (^) [a 1 ^ b 1 a 2 ^ b 2 K a (^) n^ bn]

0 1 2 3 4 5 6 7

-0.

-0.

-0.

-0.

0

1

Vamos agora desenhar a função seno, e indicar os pontos que definiram a curva usando o símbolo +.

» plot(x,y,x,y,'+')

0 1 2 3 4 5 6 7

-0.

-0.

-0.

-0.

0

1

Desenhamos agora o gráfico sen x( ) × cos( x):

» plot(y,z)

-1 -0.5 0 0.5 1

-0.

-0.

-0.

-0.

0

1

No próximo exemplo ilustraremos a identidade 2 sen( θ) cos( θ) = sen( 2 θ). Desenharemos

a função usando linhas pontilhadas:

» plot(x,y,x,2y.z,'--') » grid % Linhas de grade do gráfico » xlabel('Variável Independente X') % Nome do eixo dos X » ylabel('Variável Dependente') % Nome do eixo dos y » title('2sin(x)cos(x)=sin(2x)') % Título do gráfico

0 1 2 3 4 5 6 7

-0.

-0.

-0.

-0.

0

1

Variável Independente X

V 2sin(x)cos(x)=sin(2x) a r i á v e l D e p e n d e n t e

Analisaremos agora o exemplo de gráficos em 3-D:

» plot3(y,z,x),grid