MATLAB 6 OTÍLIA GEROTTO R12. O que é o Matlab? - MATLAB (Matrix Laboratory) – software p/...

Post on 17-Apr-2015

108 views 0 download

Transcript of MATLAB 6 OTÍLIA GEROTTO R12. O que é o Matlab? - MATLAB (Matrix Laboratory) – software p/...

MATLAB 6

OTÍLIA GEROTTO

R12

O que é o Matlab?- MATLAB (Matrix Laboratory) – software p/ cálculo numérico e científico de visualização de alta performance.- Elementos Básicos: Matrizes que não requerem dimensionamento.- Mais rápido e eficiente que C, Basic, Pascal ou Fortran.

- TOOLBOXES:Grande coleção de funções para: otimização, manip.algébrica, redes neurais, process. Sinais, simul.sist.dinâmicos, etc.

Objetivos:

Resolver problemas matemáticos rápida e eficientemente;Fácil de ser usado;Problemas e soluções são expressos quase que da mesma maneira que no papel;Facilidade de transcrição de fórmulas matemáticas para serem usadas em computadores;Utilizado em aplicações matemáticas, engenharia e análises científicas;

Elementos Básicos do Matlab:

Escalares (matriz 1X1)Vetores: Linha e ColunaMatrizes bi e multidimensionaisVariáveis Reservadas: ans, pi, i, j, inf, version, flops, NaN, computerExpressões LógicasPolinômiosGráficos 2D e 3DProgramação e também o Help

Tipos de Dados:

INTEIRO : 5 COMPLEXO: ´i´ e ´j´ . Ex: -3i NOTAÇÃO CIENTÍFICA: -1.23e4 CHARACTER. Ex: ´ant´

Variáveis:

Alfanuméricas com até 32 caracteres; 1º caractere deve ser uma letra; Aceita ‘-’ no meio da variável; São sensíveis a maiúsculo e minúsculo;

Declaração de Variáveis:

Exemplos: >>vet_01=[0.1 -0.5 1] Vet_01 = 0.1000 -0.5000 1.000 >>Mat1=[1 2 3 4 5 6; 7 8 9 2 0 5] Mat1 =

1 2 3 4 5 6 7 8 9 2 0 5

nome-do-tipo :: lista-de-identificadores

Comando de Atribuição:

Variável = expressão

- Exemplos:

x = sin(5) y=1/3

Z=9.63973 w=1.602e-20

r = .0001 soma=3+2i

c = ‘ABC’

Expressões Aritméticas:

OPERADOR OPERAÇÃO

+ Adição

- Subtração

* Multiplicação Matricial

.* Multiplicação Escalar

/ Divisão Matricial

./ Divisão Escalar

.\ Divisão ‘esquerda’

^ Potência

.^ Potência escalar

´ Transposta

() Precedência

Funções Básicas:

Exp E Poly Polinômio característico

Log Logarritmo natural

Det Determinante

Log10 Log.base 10 Abs Valor absoluto

Find Indice não zero Sqrt Raiz quadrada

Max Máximo valor Real Parte real nº complexo

Min Mínimo valor Imag Parte imag.nºcomplexo

Mean Média aritmética

Conj Conjunto nº complexo

Std Desvio padrão Round

arredondar

Expressões Lógicas:

Operador Significado

< Menor que

<= Menor ou igual que

= = Igual

~= Não igual

> Maior que

>= Maior ou igual que

Operadores lógicos: & Para conjunção

| Para disjunção

~ Para a negação

Polinômios

Vetores de uma linha, com coeficientes ordenados em ordem descrescente.Ex: x³ - 6x² - 72x – 27

é representado da forma: > p=[1 –6 –72 27] p =

1 -6 -72 -27

Funções para Polinômios:

Roots -> raízes do polinômioPolyval -> valor do polinômio no pontoConv -> multiplicação polinômiosDeconv -> divisão de polinômiosPolyder -> derivadasoutras...

GRÁFICO 2D

PLOT : função básica para desenhar gráficos em duas dimensões.Ex: f(x) = sen(x), 0<x<2*pi fica:

>>x=[0:0.1:2*pi];>>plot(x,sin(x))Que resulta no seguinte gráfico:

Ex. de Gráfico 2D:

f(x) = sen(x)

Gráficos 3D: Podem ser: Curvas ou Superfícies Curvas:

plot3 – plota curvas em 3D contour – curvas de nível

Superfícies: surf, surfc, sufl – superfícies em 3D mesh, meshc – linhas em perspectivas 3D

Exemplo de um gráfico de curvas de uma hélice circular: t=0:pi/50:10*pi;

plot3(sin(t),cos(t),t);

Ex. Gráfico 3D de curvas:

Um exemplo em 3 tempos: f(x,y) = sin(x/2).cos(y/3) -pi< x,y<pi

1). Se utilizarmos um gráfico 2D: x=[-pi:0.1:pi]; y=x; z=sin(x/2).*cos(y/3); plot(z)

(x,y,z são vetores linha de 1x63)

2). Gráfico 3D com curvasx=[-pi:0.1:pi];y=x;[x,y]=meshgrid(x,y);z=sin(x/2).*cos(y/3);plot3(x,y,z)

3). Gráfico 3D com superfíciesx=[-pi:0.1:pi];y=x;[x,y]=meshgrid(x,y);z=sin(x/2).*cos(y/3);mesh(z); (x,y,z são matrizes

63x63)

1).Utilizando-se plot (2D):

2).Utilizando-se meshgrid+plot3

3).Utilizando-se meshgrid+mesh

Programação:

Controladores de Fluxo Arquivos m : Scripts

matrizes extensas Comandos frequentemente digitados

Funções Função Funções

Controladores de Fluxo:1). FOR variável = expressão bloco de comandos

...

ENDEx:>For i=^1:10 v(i) = 3*i; endCria um vetor V com 10 elementos:1 6 9 12 15 18 21 24 27 30

Controladores de Fluxo....

2). WHILE (expressão verdadeira) bloco de comandos

...

ENDEx do cálculo do fatorial de n até n!< 10¹00>N=1; while prod(1:N)<1.e100 prod(1:N)

N=N+1; end> N = 70

Controladores de Fluxo....

3). IF condição verdadeira bloco de comandos ELSEIF condição2 verdadeira bloco de comandos ELSE bloco de comandos END

BREAK – termina um laçoINPUT - recebe dados do teclado.PAUSE - pausa na execução pgma até

que qq.tecla seja pressionada.PAUSE(n) – dá uma pausa de n segundos.

Controladores de Fluxo....

Arquivos m:

Automatizam uma sequência comandos.Úteis p/entrar com matrizes extensas.Podem ser criados a partir de qq.editor

de texto e são arquivos textos comuns.Três tipos de arquivos M: Scripts Funções Funções Função

Scripts:Quando chamado, o Matlab executa todos os comandos do arquivo. Ex arq. Fibonacci.m:

% Arquivo M que calcula prim.números de Fibonaccif= [1 1];I=1;while f(i) = f(i+1) < 1000

f(i+2) = f(i) + f(i+1); i = i+1;

end plot(f)

Para executar: somente fibonacci, fatorial, etc.

Gráfico do script fibonacci

Ex. de Script p/eq. 2o.Grau: Arquivo func2grau.m:

% plota uma funcao y=ax^2 + bx +c no intervalo -5<x<5clearaux='s';while aux=='s', clc a=input('a='); b=input('b='); c=input('c='); x=-5:0.1:5; y=a*x.^2+b*x+c; plot(y) figure(1) pause clc close aux=input('Plotar outro? (s/n) ==> ','s');end

Execução do script func2grau

Para executar: func2grau a=3 b=4 c=5 já é criado a figuraPlotar outro? (s/n) ==> n>>

Figura gerada pela execução:

Arquivos Função:

Uma função difere de um script porque argumentos podem ser passados p/ela.

Na prim.linha do arq. Deverá aparecer a palavra function que definirá o nome da função

Ex. arq. Função:function y= escal(a,b)% escal Produto escalar de dois vetoresif size(a) ~= size(b) error(´Erro: vetores tamanhos diferentes´)endy=sum(ª*b);

p/ executar: a=3; b=98; escal(a,b);> Ans = 294

Arquivos Funções Funções:As Funções Funções recebem strings que são nomes de funções.Ex. de algumas funções funções:

Fplot veja ex. Gráfico de uma função

Fzero Raíz de uma função

Quad veja ex. IntegraçãoNumérica

Fmin Mínimo de uma função

Ex. Função Fplot da função velocid

function v=velocid(t)% velocid velocidade de uma partícula num instante

tv=sin(t).*t.^2+8*t+1;

Agora usando a função função fplot> fplot(‘velocid’,[0,12])

Script que utiliza funções:% Nome desse script tvelocid.m% Script para rodar a funçao velocid x=0:0.5:12;y=velocid(x);figure(1)plot(x,y)title('Figura 01 com plot')pause% Script para rodar a funçao velocid utilizando-se a funcao funcao fplot figure(2)fplot('velocid',[0,12])title('Figura 02 com fplot')pause% Script da mesma funcao velocid, utilizando-se a funcao funcao quad

(integracao numerica)xint=quad('velocid',0,12)

Execução script tvelocid

>> tvelocid (nesse ponto foi gerada as 2 figuras com pause

entre elas)

xint =

453.2950

Resultado execução tvelocid

Bibliografia:

1. BALTHAZAR, J.Manoel, MATLAB Conceitos Básicos – UNESP – DEMAC, 2001

2. MATSUMOTO, Élia Yathie, Matlab6 Fundamentos Pgmação, 2001;

3. TODESCO, José Leomar, Curso Introdut. MATLAB – UFSC, 1995;