Você está na página 1de 46

UNIVERSIDADE COMUNITRIA DA REGIO DE

CHAPEC - UNOCHAPEC

Introduo ao MATLAB

Fernando Tosini

28/05/2015

Sumrio

Introduo ao MATLAB;

Formatos Numricos do MatLab;

Comandos bsicos;

Operadores Aritmticos;

Funes elementares;

Estruturas de Controle;

Implemetao de alguns cdigos;


2

Introduo ao MATLAB

O nome MATLAB vem de MATrix LABoratory.

Surgiu em 1970 com o intuito de auxiliar os


cursos de Teoria Matricial, lgebra Linear e
Anlise Numrica.

extensivamente

usado

para

explorao,

anlise e resoluo de problemas em diversas

reas do conhecimento;
3

O MATLAB pode ser utilizado como uma


linguagem de programao ou como uma
ferramenta de clculo iterativa;

Um arquivo de programa MATLAB recebe a

extenso.m e, por isso, tambm e chamado de


m-file ou arquivo.m.

Vantagens
Facilidade

de Uso

Funes

Predefinidas

Interface

Grfica de Usurio

Compilador

MATLAB

Desvantagens
Custo

Janela Principal do Programa

Folha para digitar

Navegador de Ajuda
Diretrio de

os programas

Pastas dos programas

Resultados
Janela de Comandos MATLAB
ou ambiente de trabalho

salvos
Janela de Histrico
de Comandos

Formatos Numricos do MatLab


MATLAB comand

pi

Comentrios

format short

3.1416

5 dgitos

format long

3.14159265358979

16 dgitos

355/113

razo aproximada

format short e

3.1416e+000

5 dgitos + expoente

format long e

3.141592653589793
e+000

16 dgitos + expoente

format rat

MATLAB comand

format long e
format bank
format +

pi

Comentrios

3.14159265358979

long ou long e

3.14

2 digitos decimais

positivo(+),
negativo(-) ou zero(0)

Comandos bsicos
>> char ou syms -- Lista as variveis;
>>clc

-- Limpa a Janela de Comandos;

>>clf

-- Limpa figura atual;

>>clear all -- Deleta variveis do workspace;


>>help -- Ajuda do Matlab.
9

Operadores Aritmticos
+ e Adio e Subtrao Estrutural e Matricial
* Multiplicao Matricial
.* Multiplicao Matricial de elemento por elemento
/ Diviso Matricial Direita

\ Diviso Matricial Esquerda


^ Expoente Matricial

Operador de Transposio
10

Funes elementares

fix(x)

arredonda para o inteiro + prximo de 0

ceil(x)

arredonda para o inteiro + prximo de inf


11

12

Exemplos:
1) Calcule na janela de comandos:
a) round(-2.6)
>> round(-2.6)

b) fix(-2.6)
>> fix(-2.6)

ans =

ans =

-3

-2

c) abs(-55)

f) W=sqrt(floor(10.7))

>> abs(-55)

>> w=sqrt(floor(10.7))

ans =

w=

55

3.162277660168380

Obs: Se o nome da varivel e o sinal de igualdade "=" so omitidos, a varivel


com o nome ans, que representa a palavra resposta, automaticamente criada.
13

2) Calcule em matLab, no ambiente de trabalho:


a) log10(100)+log10(0.001)+ln(3.3);
>> log10(100)+log10(0.001)+log(3.3);

Observe: O ponto e vrgula


>>
no final da expresso, no
>> log10(100)+log10(0.001)+log(3.3) apresenta o resultado final,
apenas mantm ele na means =
mria.
0.193922468472435

b) O mximo divisor comum entre 30 e 50;


>> gcd(30,50)
ans =
10

Cuidado no trocar a vrgula


pelo ponto e vrgula.
14

c)

7
O valor da expresso: E 125 e
3
3

>> E=sqrt(125)+exp(3)-7/3
E=
28.932543477353285

>> E=(125)^(1/2)+exp(3)-7/3

ou

E=
28.932543477353285

d) Encontrar o valor da expresso quando x 3 e


2
3 x
17 tg ( y / x) , com
y 4 . H (2 x 5 y ) / 2 y
4 casas decimais aps a vrgula.
>> format short
>> x=3;
>> y=4;

>> H=(2*(x^2)-(5*y))/sqrt(2*(y^(3+x))+17)+tan(y/x)
H = 4.1097
15

Exerccios
1) Calcule na janela de comandos :
a) O resto da diviso de 50 por 20;

b) O mnimo mltiplo comum de 20 e 30;


c) O valor da soma: sign(-2.6) + sign(2.6);

2) O valor das expresses:


a) y 1 x 4 3 x 1

1 5 x 3 4 8 x 7 2
6
x 9 x 67
3 x x 5
3x

para x=3;
16

b)

E (5 x 3 x 3 y 3 ) /(2 y x 4 y 2 ) ,

para x=3 e

y=4.

c)
d)

sen( x 3 ) y 4
Q

10 tg ( x)

3y 1
,
12 x

3
1
1
Z ln 2 log 2 ( x ) e
x x

e) M

para x=3 e y=4.


x

, para x=2.

cos 2 ( x) sen 2 ( x) x arccos( x / 3) ,

Respostas: 1) a) 10

para x=2.

b) 60 c) 0

2) a) -26,958 b) 1,2373 c) -25,773 d) -2,8128 e) 2,6821


17

Operadores Relacionais

Forma geral: A op B

A e B, Pode ser uma


matriz, um escalar ou
uma cadeia de caracteres.
Op: Operador

Operador

Operao

==

Igual a

~=

Diferente de

>

Maior que

>=

Maior que
ou igual a
Menor que

<
<=

Menor que
ou igual a

18

Operadores Lgicos

19

Estruturas de Controle
Ser apresentado as seguintes estruturas de

controle para programao:


if

% se

if-else

% seno, caso contrrio

switch

% seno, do contrrio

while

for

% enquanto

% para
20

Simbologia para Programao em Blocos


Inicio e fim de uma estrutura de uma controle

Smbolo de deciso

Indica que aes sero executadas

21

Algoritmo: Srie de aes executadas em uma


ordem especifica.

Pseudocdigo

Linguagem

artificial

informal

de

representar o cdigo de um programa.

til para desenvolver algoritmos que sero

convertidos em programas estruturados no


Matlab.
22

Estruturas de Controle: if - else


Estrutura de seleo para escolha de cursos
de ao especficos.

A estrutura de seleo if executa


ao indicada

quando

uma

condio

verdadeira, caso contrrio(else), executa a


ao falsa.
23

Fluxograma da Estrutura: If-else

Testa a condio

Falsa

Executa uma ao

Verdadeira
Condio

Executa uma ao

24

EXEMPLO 1:

Pseudocdigo: Supomos que um acadmico estude em uma


universidade onde no h exame final, e que a mdia final,
composta pela mdia das duas notas obtidas no semestre. Fazer um
programa que mostre a aprovao do acadmico se a mdia for

maior ou igual a 7.0 e a reprovao caso a mdia for menor que 7.0

Cdigo no MatLab:
Dados de entrada: Nota 1 e Nota 2
if mdia >= 7
disp(Aprovado);
else
disp(Reprovado);
end
25

EXEMPLO 2:

Pseudocdigo: Um acadmico que estuda na Unochapec tem sua mdia


composta por 60% da nota de G1 mais 40% da nota de G2. A partir dessa mdia, ele
est sujeito as seguintes condies para obter sua aprovao:
Se a mdia do acadmico for maior ou igual que 7.0

Imprima Acadmico Aprovado


Seno, se a mdia for maior ou igual a 4.0 e menor que 7.0
Imprima Prestar exame de G3

Se a nova mdia que composta por 40% da nota do exame mais 60% da
mdia inicial, for maior ou igual que 5.0
Imprima Acadmico Aprovado com G3

Seno
Imprima Acadmico Reprovado
Se a mdia do acadmico for menor 4.0

Imprima Acadmico Reprovado

26

Cdigo no MatLab:

Dados de entradas: Notas de provas


if media >= 7.0
disp(Acadmico Aprovado)

else if media >= 4.0 e media < 7.0


disp(Acadmico prestar G3)
if nova media>= 5.0

disp(Acadmico Aprovado com G3)


else
disp(Acadmico Reprovado)

end
end
if media < 4.0

disp(Acadmico Reprovado)
end
end

27

Laos de Repetio
Laos so construes que nos permitem

executar uma sequncia de declaraes mais


de uma vez.

Existem dois tipos de laos:

while % Enquanto

for

% Para
28

Estrutura: for
Onde usar?

Em iteratividade de equaes;
Simulaes de modelos matemticos;
Construo de Grficos;
Operaes com Vetores e Matrizes;
Somatrio e produtrio de n parcelas;

Por que usar?

Automatizar operaes.

29

O lao for um comando que executa um bloco de


declaraes durante um nmero especfico de vezes.

Estrutura do comando for


for contador = incio : passo : fim
Declarao 1
....

Corpo: Operaes de repetio

Declarao n
end
Obs: Quando o passo de iterao igual a um, no precisa
ser indicado entre os dois pontos do incio e fim. Apenas incio : fim

30

Fluxograma da Estrutura: for


n: nmero de iteraes do lao for
cont: varivel de controle

cont = 1

Inicializao da varivel de controle

cont = 2
cont = 3
cont <= n

Verdadeiro

Corpo do lao

cont = cont + 1

Falso

31

EXEMPLO 3:

Pseudocdigo

Calcular a soma dos n primeiros inteiros.


Soma 1 2 3 4 5 ... n

Cdigo no MatLab
Dados de entrada: n
soma = 0;

% Inicializa a varivel soma com zero

for k = 1:n

% Lao de repetio: n vezes

soma = soma + k; % Clculo da soma


end
soma
32

EXEMPLO 4:
Pseudocdigo
Calcular o fatorial de um nmero n.

n! n! (n 1)! ... 4 3 2 1

Cdigo no MatLab

Dados de entrada: n
fatorial = 1;
for k = 1:n

fatorial = fatorial*k;

% Inicializa a varivel com fatorial 1


% Lao de repetio: n vezes

% Clculo do fatorial

end
fatorial
33

EXEMPLO 5:
Pseudocdigo
Calcular a soma de n nmeros impares.
Soma 1 3 5 7 ... 2n 1

Cdigo no MatLab

Dados de entrada: n

soma = 0;
for k = 1:2:2n-1

% Inicializa a varivel soma com zero


% Lao de repetio

soma = soma + k; % Clculo da soma


end

soma
34

Estrutura: while
O while um bloco de declaraes que se repete

indefinidamente, enquanto uma condio for satisfeita.


Estrutura do comando while
while expresso

Declarao 1
....

Corpo: Operaes de repetio

Declarao n
end

35

Fluxograma da Estrutura: while

Testa a condio

Verdadeira
Condio

Executa uma ao

Falsa

36

EXEMPLO 6:
Pseudocdigo
Achar o primeiro inteiro n para qual 1+2+ +n maior
que k (Por exemplo k=1000)

Cdigo no MatLab

Dados de entrada: k
n = 1;
while sum(1:n)<=k
n = n+1;
end
37

Estruturas de Controle: switch

Estrutura de seleo mltipla. Funciona


como uma chave, valores pr definidos;

Consiste de uma srie de rtulos case e um

otherwise.

38

Fluxograma da Estrutura: switch


Verdadeiro
Case (a)

Ao(es) do case a

Falso
Verdadeiro
Case (b)

Ao(es) do case b

Falso

.
.
Falso
Otherwise

39

Exerccios: Fazer os programas no M-file.


1) Escrever um programa que determina a rea total e o
volume de um cilindro.
Obs: Dados de entrada: o raio r e a altura h do cilindro, e os de

sada a rea da base e o volume.


2) Implementar a frmula de Bhaskara, indicando a discuso

das razes.
Obs: Os dados de entrada so os coeficientes a, b e c, e os
de sada as razes.

3) Fazer um programa que calcule a soma dos n primeiros


nmeros mltiplos de 3.
40

4) Fazer um programa que calcule o produto dos nmeros maior


e igual a 10 e menor que 15.
5) Escrever um programa, que calcula o volume de cada um dos
prismas retos, que possuem aresta da base regular(base

triangular, quadrangular, pentagonal e hexagonal). Obs: Dados


de entrada: Aresta da base l e a altura h do prisma. Dados de

sada: o volume.
6) Escrever um programa que calcula o volume de cada uma das
pirmides que possuem aresta da base regular(base triangular,
quadrangular, pentagonal e hexagonal). Obs: Dados de entrada:
Aresta da base l e a altura h da pirmide. Dados de sada: o

volume.

41

7) Fazer um programa que some os seguintes nmeros:

{-3 , 5, 2, 4, -2, 2, 5}
8) Fazer um programa onde fornecida a coleo de nmeros

some os positivos e salve numa varivel e some os negativos e


salve em outra varivel. Conjunto: {-5, 1, 2, -3, 8, -2 }

42

Variveis Indexadas - VETORES

O que so?

So variveis com ndices para armazenar n-valores.

Utilidade?

Representao espacial de solues;

Aumento de rapidez de processamento;

Melhorar a estruturao de um programa;

Estudos e anlises de estabilidades.


43

Representao algbrica de vetores

x ( x1 , x2 , ..., xn )

ou

y1

y2
y


y
n

Representao de um vetor no MatLab

x x(1) x(2) ... x(n) ou y y(1) y(2) ... y(n)' y(1); y(2) ; ... ; y(n)

44

No MatLab necessrio de uma varivel acompanhada

de ndice inteiro i, j, ..., para demarcar a posio de


cada componente do vetor;

No existe ndice ZERO para os vetores no MatLab;

45

OBRIGADO!!!

46