Você está na página 1de 51

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Introdu c ao ao Matlab
Direcionada para o m etodo de elementos nitos

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

24 de agosto de 2009

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Matlab Tipo de linguagem Bibliotecas b asicas Caixas de ferramenta B asico Prompt Declarando vari aveis Mostrando vari aveis Listando vari aveis Destruindo vari aveis Matrizes e vetores Lista expl cita de elementos Operadores Salvar e carregar dados Editor Script Algoritmo Opera co es Indexa c ao Fun co es Gr acos Figura Par ametros de objetos Eixo Gr acos Refer encias
Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Tipo de linguagem Bibliotecas b asicas Caixas de ferramenta

Tipo de linguagem
Linguagem interpretada
tempo de interpreta c ao tempo de execu c ao
k = k + 1, k Z x = A1 b, A C10001000

macro-opera c oes
matrizes operadores e fun co es mais recorrentes

identica c ao autom atica de tipo


L ogico: b = true Num erico: k = 1, z = 1 + i Caractere: s = a Estrutura: s .a = 1 C elula: c = {1, a}

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Tipo de linguagem Bibliotecas b asicas Caixas de ferramenta

Bibliotecas b asicas
Interface do Matlab: e.g. edit, help Fun co es b asicas sobre tipos: e.g. char, sum, max Fun co es matem aticas: e.g. sin, cos, erf, gamma, bessel, ellipke M etodos num ericos b asicos: e.g. polin omios, integra c ao, LU Gr acos: e.g. polilinhas, malhas Manipula c ao de arquivos Data e hora Audio e v deo Interface do computador: e.g. porta serial Interface gr aca Matrizes esparsas
Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Tipo de linguagem Bibliotecas b asicas Caixas de ferramenta

Caixas de ferramenta

Estat stica Mapas Equa co es diferenciais parciais Matem atica simb olica ...

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Prompt Declarando vari aveis Mostrando vari aveis Listando vari aveis Destruindo vari aveis

Prompt

o prompt e uma janela onde os comandos dados linha por linha cada comando e escrito ap os >> e e executado ao teclar ENTER

To get started, select MATLAB Help or Demos from the Help >> Hello, world!

tudo escrito ap os o caracter % e coment ario, e n ao comando


>> % nada ir a acontecer ap os teclar ENTER >> clc % comando para limpar a tela do prompt

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Prompt Declarando vari aveis Mostrando vari aveis Listando vari aveis Destruindo vari aveis

Declarando vari aveis

todas vari aveis s ao inicializadas para detectar seu tipo atribui c ao


>> a = 1 % <a> e um double inicializado com 1 >> a = c % <a> agora e um caracter inicializado com c

vari avel ans e criada quando nenhum nome e dado


>> 1 % <ans> e um double inicializado com 1 >> c % <ans> agora e um caracter inicializado com c

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Prompt Declarando vari aveis Mostrando vari aveis Listando vari aveis Destruindo vari aveis

Constantes num ericas importantes

pi: o n umero = 3, 1415926... i, j: o n umero imagin ario i = j = inf: innito inf = 1/0

NaN: not-a-number NaN = 0/0 = inf*0

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Prompt Declarando vari aveis Mostrando vari aveis Listando vari aveis Destruindo vari aveis

Mostrando vari aveis

o ponto e v rgula impede que o valor da vari avel seja mostrado...


>> 1; % atribui mas n ao mostra o valor de <ans> >> a = c; % atribui mas n ao mostra o valor de <a>

... e se a vari avel j a est a denida ela pode ser mostrada


>> >> >> >> e um double inicializado com pi a = pi; % <a> a % mostra o valor de <a> a; % nada acontece b % erro: b n ao existe

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Prompt Declarando vari aveis Mostrando vari aveis Listando vari aveis Destruindo vari aveis

Listando vari aveis

listando vari aveis existentes


who lista vari aveis whos lista vari aveis com seus respectivos tipos >> >> >> >> >> um double complexo inicializado com 0 + i i; % <ans> e e um caracter inicializado com c a = c; % <a> b = false; % <b> e um bin ario inicializado com false who whos

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Prompt Declarando vari aveis Mostrando vari aveis Listando vari aveis Destruindo vari aveis

Destruindo vari aveis


destruindo vari aveis
clear x y z destr oi vari aveis x, y e z clear all destr oi todas as vari aveis >> >> >> >> >> >> >> >> i; % <ans> e um double complexo inicializado com 0 + i e um caracter inicializado com c all = c; % <all> b = false; % <b> e um bin ario inicializado com false who clear all % destr oi vari avel <all> who clear all % destr oi todas as vari aveis: <ans> e <b> who

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Lista expl cita de elementos

Lista expl cita de elementos Operadores Salvar e carregar dados Editor Script Algoritmo Opera c oes Indexa c ao Fun c oes

lista de elementos e delimitada por parenteses elementos de uma mesma linha s ao separados por v rgula ou espa co para mudar de linha e usado ponto e v rgula
>> >> >> >> >> >> a b c d e f = = = = = = [1 2 3] % define vetor <a> 1 x 3 [1; 2; 3] % define vetor <b> 3 x 1 [1, 2; 3, 4] % define matriz <c> 2 x 2 [1 -2 3; 3-4 1 2] % define matriz <d> 2 x 3 [1 2; 3 4 5] % erro: concatenac ao inconsistente [c d] % define matriz <f> 2 x 5

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Operador :

Lista expl cita de elementos Operadores Salvar e carregar dados Editor Script Algoritmo Opera c oes Indexa c ao Fun c oes

o operador : permite denir um vetor por incremento


i:f gera o vetor [i i + 1 i + 2 ... f ] i:d:f gera o vetor [i i + d i + 2d ... i + nd ], onde i + nd f >> a = 1:3 % define vetor <a> 1 x 3 >> b = 1:2:6 % define vetor <b> 1 x 3 >> c = [4:-1:1; 1 2:2:4 1] % define matriz <c> 2 x 4

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Salvar e carregar dados

Lista expl cita de elementos Operadores Salvar e carregar dados Editor Script Algoritmo Opera c oes Indexa c ao Fun c oes

qualquer vari avel pode ser salva e restaurada de maneira muito simples
save file x y z salva as vari aveis x, y e z no arquivo le.mat load file carrega as vari aveis x, y e z do arquivo le.mat >> >> >> >> >> >> >> a = 1:3 % define vetor <a> 1 x 3 b = 2 % define vari avel <b> save mydata a b % salva vari aveis <a> e <b> clear all % destr oi vari aveis <a> e <b> load mydata % restaura vari aveis <a> e <b> clear all % destr oi vari aveis <a> e <b> load mydata b % restaura apenas vari avel <b>

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Editor

Lista expl cita de elementos Operadores Salvar e carregar dados Editor Script Algoritmo Opera c oes Indexa c ao Fun c oes

como salvar uma sequ encia de comandos do prompt?


scripts: sequ encia de comandos, como feita no prompt fun c oes: permite receber e retornar vari aveis

Matlab possui um editor de texto com marcador de sintaxe


>> edit % mostra editor >> edit clc % abre arquivo clc.m no editor

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Script

Lista expl cita de elementos Operadores Salvar e carregar dados Editor Script Algoritmo Opera c oes Indexa c ao Fun c oes

sequ encia de comandos compartilha escopo do prompt


% este c odigo est a salvo em um arquivo test.m avel <a> no escopo do prompt a = 1:3 % define vari who % lista todas vari aveis do prompt (incluindo <a>)

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Problema de treli cas


y 250kN 4 4 3

Lista expl cita de elementos Operadores Salvar e carregar dados Editor Script Algoritmo Opera c oes Indexa c ao Fun c oes

3 2 1 1

0,3m

Area de se c ao: A = 0, 0001m2 M odulo de Young: E = 295GN/m2


x

200kN

0,4m

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Deni c ao de um problema de treli cas


y 250kN 4 4 3

Lista expl cita de elementos Operadores Salvar e carregar dados Editor Script Algoritmo Opera c oes Indexa c ao Fun c oes

p: matrix 4 2 com as coordenadas (x , y ) dos n os e: matrix 4 2 com a conectividade (i , j ) de aresta


0,3m

3 2 1 1

b: matrix 4 2 bin aria indicando coordenadas xas de cada n o f: matrix 4 2 com a for ca externa em cada n o

200kN

0,4m

A: vetor 4 1 com a area de se c ao de cada aresta E: vetor 4 1 com o m odulo de Young de cada aresta
Introdu c ao ao Matlab

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Script de deni c ao de um problema de treli cas

Lista expl cita de elementos Operadores Salvar e carregar dados Editor Script Algoritmo Opera c oes Indexa c ao Fun c oes

% p e b f A E

este c odigo est a salvo em um arquivo truss.m = [0 0; .4 0; .4 .3; 0 .3]; % coordenadas dos n os (m) = [1 2; 3 2; 1 3; 4 3]; % connectividade de aresta = [1 1; 0 1; 0 0; 1 1]; % coordenadas fixas de cada n o = [0 0; 20e4 0; 0 -25e4; 0 0]; % forc a externa em cada n o (N) area de cada barra (m2) = [1e-4; 1e-4; 1e-4; 1e-4]; % = [295e9; 295e9; 295e9; 295e9]; % m odulo de Young (Pa)

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Algoritmo
if <express ao l ogica> <procedimento> elseif <express ao l ogica> <procedimento> else <procedimento> end avel> switch <vari case <constante> <procedimento> case <constante> <procedimento> otherwise <procedimento> end
Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Lista expl cita de elementos Operadores Salvar e carregar dados Editor Script Algoritmo Opera c oes Indexa c ao Fun c oes

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Algoritmo

Lista expl cita de elementos Operadores Salvar e carregar dados Editor Script Algoritmo Opera c oes Indexa c ao Fun c oes

for <contador> = <vetor> <procedimento> end ao l ogica> while <express <procedimento> end break % sai do loop mais interno continue % pula o restante do c odigo do loop ao ou script return % sai da func

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Opera c oes com matrizes

Lista expl cita de elementos Operadores Salvar e carregar dados Editor Script Algoritmo Opera c oes Indexa c ao Fun c oes

s ao denidas na linguagem todas as opera co es b asicas com matrizes


p = [0 0; .4 0; .4 .3; 0 .3] % matriz 4 x 2 d = [1; 1] % vetor 2 x 1 p % matriz 2 x 4: transposto de matriz p + 2*p % matriz 4 x 2: adic ao de matrizes ao de matrizes p*d % vetor 4 x 1: multiplicac (p*p)pi % matriz 2 x 2: exponenciac ao de matriz (p*p)\d % vetor 2 x 1: inver ao de matriz d/(p*p) % erro: dimens oes n ao concordam

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Opera c oes elemento-a-elemento

Lista expl cita de elementos Operadores Salvar e carregar dados Editor Script Algoritmo Opera c oes Indexa c ao Fun c oes

adi c ao e subtra c ao s ao naturalmente opera co es elemento-a-elemento s ao denidas na linguagem outras opera co es elemento-a-elemento estas opera co es s ao identicadas com um ponto antes do operador
a = [0 0; .4 0; .4 .3] % matriz 3 x 2 b = [.4 .3; .4 0; 0 0] % matriz 3 x 2 ao elemento-a-elemento a.*b % matriz 3 x 2: multiplicac a./b % matriz 3 x 2: divis ao elemento-a-elemento a.b % matriz 3 x 2: exponenciac ao elemento-a-elemento a.*b % erro: dimens oes n ao concordam

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Opera c oes l ogicas e comparativas

Lista expl cita de elementos Operadores Salvar e carregar dados Editor Script Algoritmo Opera c oes Indexa c ao Fun c oes

s ao denidas na linguagem todas as opera co es l ogicas e comparativas b asicas com matrizes


a = [0 2; 3 3; 2 0] % matriz 3 x 2 a == 3 % valor: [false false; true true; false false] a = 2 % valor: [true false; true true; false true] a < 3 % valor: [true true; false false; true true] a % valor: [true false; false false; false true] a & (a-2) % valor: [false false; true true; false false]

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Indexa c ao

Lista expl cita de elementos Operadores Salvar e carregar dados Editor Script Algoritmo Opera c oes Indexa c ao Fun c oes

o primeiro ndice de uma matriz e relativo ` a linha o segundo ndice de uma matriz e relativo ` a coluna matrizes podem ser indexadas por vetores vari avel especial end
tamanho ao longo da respectiva dimens ao

vari avel especial :


todos elementos ao longo da respectiva dimens ao M = [1 2 3; 4 5 6] % define matriz 2 x 3 M(2,1) % valor: [4] M(1,end) % valor: [3] M(2,:) % valor: [4 5 6] M(:,2) % valor: [2; 5] M(:,2:end) % valor: [2 3; 5 6] M(:,[3 1 2 3]) % valor: [3 1 2 3; 6 4 5 6]
Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Indexa c ao linear

Lista expl cita de elementos Operadores Salvar e carregar dados Editor Script Algoritmo Opera c oes Indexa c ao Fun c oes

uma matriz e armazenada na mem oria como um vetor segundo a ordem de indexa c ao...
e.g. [1 2 3; 4 5 6] e armazenada como 1, 4, 2, 5, 3, 6

... e quando e indexada com apenas um ndice, ela retorna o respectivo elemento matrizes podem ser indexadas linearmente por vetores
M = [1 2 3; 4 5 6] % define matriz 2 x 3 M(3) % valor: [2] M(end) % valor: [6] M(1:3) % valor: [1 4 2] M(1:end) % valor: [1, 4, 2, 5, 3, 6] M([end/2:end]) % valor: [2; 5; 3; 6] M(:) % valor: [1; 4; 2; 5; 3; 6]

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Indexa c ao l ogica

Lista expl cita de elementos Operadores Salvar e carregar dados Editor Script Algoritmo Opera c oes Indexa c ao Fun c oes

um vetor l ogico b pode ser usado para indexar uma matriz... ... e o resultado e equivalente ` a indexa c ao com as posi co es que cont em elementos true
M = [1 2 3; 4 5 6] % define matriz 2 x 3 M(:,M(1,:)>1) % valor: [2 3; 5 6] M(M<=4) % valor: [1; 4; 2; 3]

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Fun c oes

Lista expl cita de elementos Operadores Salvar e carregar dados Editor Script Algoritmo Opera c oes Indexa c ao Fun c oes

sequ encia de comandos escopo pr oprio e n ao enxerga o escopo do prompt pode receber e retornar v arios par ametros
a salvo em um arquivo func.m odigo est % este c function [x,y,z] = func(r,s,t) x = r + s + t; y = r.*s.*t; z = (r./s).t;

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Help de arquivos .m

Lista expl cita de elementos Operadores Salvar e carregar dados Editor Script Algoritmo Opera c oes Indexa c ao Fun c oes

o comando help mostra o texto de ajuda do arquivo .m


help clc % exibe ajuda sobre clc.m help help % exibe ajuda sobre help.m

o texto de ajuda exibido s ao as primeiras linhas cont guas de coment arios do arquivo .m
function ajuda ao ajuda. e o texto de ajuda da func %AJUDA Este % este c odigo est a salvo em um arquivo ajuda.m % Exemplo: % help ajuda % exibe este texto % See also HELP. %Este coment ario n ao faz parte da ajuda.

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Fun c oes matem aticas do Matlab

Lista expl cita de elementos Operadores Salvar e carregar dados Editor Script Algoritmo Opera c oes Indexa c ao Fun c oes

Fun co es trigonom etricas: sin, cos, tan, atan, asin, acos Fun co es logaritmas e exponenciais: exp, log, log2, log10

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Fun c oes de matrizes

Lista expl cita de elementos Operadores Salvar e carregar dados Editor Script Algoritmo Opera c oes Indexa c ao Fun c oes

Especiais: zeros, ones, eye, rand, randn Tamanho: isempty, size, length Classica c ao: sort, unique Valor: sum, max, min, mean Formato: reshape, repmat, ndgrid Partes: diag, triu, tril L ogica: all, any, nd Inteira: round, x, ceil, oor, gcd, rem Conjuntos: ismember, intersect, union, setdi, setxor

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Matrizes esparsas

Lista expl cita de elementos Operadores Salvar e carregar dados Editor Script Algoritmo Opera c oes Indexa c ao Fun c oes

matrizes esparsas s o armazenam elementos n ao nulos speye gera uma matriz identidade esparsa
I = speye(3) % matriz identidade 3 x 3 I = speye(3,3) % mesma matriz identidade 3 x 3 I = speye(3,4) % matriz identidade 3 x 4

S = sparse(M) converte a matriz cheia M para matriz esparsa S M = full(S) converte a matriz esparsa S para matriz cheia M

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Matrizes esparsas

Lista expl cita de elementos Operadores Salvar e carregar dados Editor Script Algoritmo Opera c oes Indexa c ao Fun c oes

sparse(i,j,v,m,n) gera uma matriz esparsa m n onde elementos n ao nulos v s ao colocados nas posi co es indexadas por i e j , e elementos indexados ` a mesma posi c ao s ao somados
S S S S = = = = sparse(2,3) % [0 0 0; 0 0 0] sparse(1,[2 1e3],[1 10],1,1e3) % [1 0 ... 0 1000] sparse([2 1 2],1:3,4,2,3) % [0 4 0; 4 0 4] sparse([1 3; 4 3],1,1,5,1) % [1; 0; 2; 1; 0]

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

M etodo de elementos nitos para treli cas

Lista expl cita de elementos Operadores Salvar e carregar dados Editor Script Algoritmo Opera c oes Indexa c ao Fun c oes

Entrada:
p : matriz n 2 de coordenadas dos n os e : matriz m 2 com connectividade de arestas f : matriz n 2 com for ca externa em cada n o b : matriz n 2 sinalizando coordenadas xas em cada n o A: vetor m 1 area de se c ao de cada barra E : vetor m 1 m odulo de Young de cada barra

Sa da:
d : matriz n 2 com o deslocamento de cada n o : vetor m 1 com a tens ao em cada barra

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Prot otipo da fun c ao

Lista expl cita de elementos Operadores Salvar e carregar dados Editor Script Algoritmo Opera c oes Indexa c ao Fun c oes

Dado p , e , f , b , A e E , determinar d e
function [d,sigma] = solvetruss(p,e,f,b,A,E) %SOLVETRUSS Soluc ao do problema de trelic as.

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Formula c ao

Lista expl cita de elementos Operadores Salvar e carregar dados Editor Script Algoritmo Opera c oes Indexa c ao Fun c oes

O deslocamento dos n os d = [dx dy ] Rn2 pode ser determinado pelo sistema de equa co es lineares
fx fy =K dx dy Ki 12 Ki 22 Ki 32 Ki 42 Ki 13 Ki 23 Ki 33 Ki 43 Ki 14 ei 1 Ki 24 ei 2 Ki 34 ei 1 + n Ki 44 ei 2 + n

Ai Li ei1 qi

ei2

Ki 11 Ki 21 Ai Ei T aa = Ki = Ki 31 Li Ki 41 a = [cos i

cos i sin i

sin i ]

onde i = 1, ..., m, K R2n2n e a matriz de rigidez e f = [fx fy ] Rn2 e o vetor de for ca.

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Comprimento e angulo das barras

Lista expl cita de elementos Operadores Salvar e carregar dados Editor Script Algoritmo Opera c oes Indexa c ao Fun c oes

Dado p e e , determinar L e
% comprimento das barras (m) dp = p(e(:,2),:) - p(e(:,1),:); L = sum(dp.2, 2)..5 angulo das barras (rad) % theta = atan2(dp(:,2), dp(:,1));

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Constru c ao da matriz de rigidez

Lista expl cita de elementos Operadores Salvar e carregar dados Editor Script Algoritmo Opera c oes Indexa c ao Fun c oes

% matriz de rigidez os umero de n n = size(p,1); % n c = cos(theta); s = sin(theta); c2 = A.*E./L.*c.*c; cs = A.*E./L.*c.*s; s2 = A.*E./L.*s.*s; kd = [c2 c2 s2 s2]; % elementos diagonais ao-diagonais knd = [-c2 -s2 cs cs -cs -cs]; % elementos n ie = [e e+n ... e(:,1) e(:,1)+n e(:,[1 2 1 2]) ... e(:,2) e(:,2)+n e(:,[1 2 2 1])+n]; je = [e e+n ... e(:,2) e(:,2)+n e(:,[1 2 2 1])+n ... e(:,1) e(:,1)+n e(:,[1 2 1 2])]; K = sparse(ie,je,[kd knd knd],2*n,2*n);
Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Condi c oes de contorno

Lista expl cita de elementos Operadores Salvar e carregar dados Editor Script Algoritmo Opera c oes Indexa c ao Fun c oes

Os deslocamentos relativos ` as coordenadas xas dos n os s ao nulos.


% condic oes de contorno ib = find(b(:)); K(ib,:) = 0; K(:,ib) = 0; K(ib+2*n*(ib-1)) = 1; f = f(:); f(ib) = 0;

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Deslocamento e tens ao

Lista expl cita de elementos Operadores Salvar e carregar dados Editor Script Algoritmo Opera c oes Indexa c ao Fun c oes

% deslocamento (m) d = full(reshape(K\f,n,2)); % tens ao (Pa) sigma = E.*sum([-c -s c s].* ... [d(e(:,1),:) d(e(:,2),:)],2)./L;

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Figura Par ametros de objetos Eixo Gr acos

Figura
gura e uma janela que pode conter
axes: eixos para gr acos uicontrol: controles de interface de usu ario

uma gura e unicamente identicada por um n umero (handle) retornado pela fun c ao que a cria axes e uicontrol s ao adicionados na gura corrente gcf retorna o handle da gura corrente clf destr oi todos objetos lhos da gura corrente
figure % cria uma nova janela h2 = figure % cria uma nova figura h3 = figure % cria uma nova figura h4 = gcf % <h4> e igual a <h3> figure(h2) % torna a figura <h2> corrente h5 = gcf % <h5> e igual a <h2>
Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Figura Par ametros de objetos Eixo Gr acos

Par ametros de objetos


todo objeto gr aco do Matlab e denido por par ametros cada par ametro e setado por um par de argumentos
o primeiro e uma string com o nome do par ametro o segundo e um valor para o par ametro

set e get permitem setar e pegar par ametros de um objeto atrav es do respectivo handle
h1 = figure(color,white,name,White) h2 = figure(color,black,name,Black) set(h1) % mostra todas opc oes para os par ametros de <h1> ametros de <h1> get(h1) % mostra todos os valores dos par get(h2,color) % pega cor de <h2> set(h2,color,red,name,Red) % muda par ametros de <h2> get(h2,color) % pega cor de <h2>

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Figura Par ametros de objetos Eixo Gr acos

Eixo
eixos s ao objetos contidos em uma gura e podem conter gr acos um eixo e unicamente identicado por um n umero (handle) retornado pela fun c ao que o cria gr acos s ao plotados no eixo corrente gca retorna o handle do eixo corrente cla destr oi todos objetos lhos do eixo corrente

% uma figura ser a automaticamente criada caso n ao exista nenhum h1 = axes(nextplot,add) % cria um novo eixo h2 = axes(color,black) % cria um novo eixo set(h1,position,[.1 .1 .8 .3]) % muda posic ao de <h1> set(h2,position,[.1 .6 .8 .3]) % muda posic ao de <h2> axes(h1) % torna eixo <h1> corrente

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Figura Par ametros de objetos Eixo Gr acos

Atalhos uteis para par ametros de eixos

para facilitar o uso, foram denidas uma s erie de fun co es para setar par ametros de eixos nas formas mais recorrentes
hold on pr oximo objeto ser a adicionado aos objetos do eixo, e equivale a set(gca,nextplot,add) hold off pr oximo objeto substituir a todos os objetos do eixo, e equivale a set(gca,nextplot,replace) box, grid, axis, view, zoom, pan

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Figura Par ametros de objetos Eixo Gr acos

Polilinhas
Criadas pelas fun co es plot e plot3
ao automaticamente criados % uma figura e um eixo ser t = 0:pi/8:10*pi; % par ametro de curva x = cos(t); % coordenada x y = sin(t); % coordenada y z = t/pi; % coordenada z plot(z.*x, z.*y, k:,... % espiral z(end)*x, z(end)*y, r-) % c rculo hold on % pr oximo plot ser a adicionado elice plot3(z.*x, z.*y, z, b.-) % h axis image % ajusta eixos aos gr aficos view(3) % coloca c amera em um " angulo 3D" legend(espiral, c rculo, h elice c onica)
10 5 0 10 5 0 5 10

espiral crculo hlice cnica

10 5 0 5

10

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Figura Par ametros de objetos Eixo Gr acos

Cores

direto: vetor com 3 componentes RGB no intervalo [0, 1]


strings s ao aceitas como argumentos para cores pr e-denidas e.g. branco e [1 1 1], preto e [0 0 0], azul e [0 0 1]

mapa de cores: escalar


interpola c ao linear para mapear um intervalo de valores [a, b ] no ndice da paleta de cores

pode ser denida apenas uma paleta de cores para cada gura pode ser denido apenas um intervalo de valores para cada eixo

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Figura Par ametros de objetos Eixo Gr acos

Malhas
Criadas pela fun c ao patch
% uma figura e um eixo ser ao automaticamente criados p = [0 0 0; 1 0 0; 1 1 0; 0 1 0; ... 0 0 1; 1 0 1; 1 1 1; 0 1 1]; % v ertices t = [4 3 2 1; 5 6 7 8; 1 2 6 5; ... 2 3 7 6; 3 4 8 7; 4 1 5 8]; % faces patch(vertices, p, faces, t, ... facevertexcdata, p, facecolor, ... interp, edgecolor, [0 0 0]) axis image view(3) xlabel(r) ylabel(g) zlabel(b) title(cubo RGB)
Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Figura Par ametros de objetos Eixo Gr acos

Grades
Suprf cies em grades criadas pelas fun co es surf e mesh Curvas de n vel em grades criadas pelas fun co es contour, contour3 e contourf
% uma figura e um eixo ser ao automaticamente criados x = 0:5; 25 y = 0:5; 20 z = x*y; 15 surf(-x, y, z) 10 hold on 5 0 mesh(x, y, z) 5 contour(x, -y, z, 16) 0 contourf(-x, -y, z, 16) 5 5 axis([-5 5 -5 5 0 25])

5 0

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Figura Par ametros de objetos Eixo Gr acos

Plotando problema de treli cas


figure(Color, [1 1 1], Name, Truss problem, ... NumberTitle, off) axes(nextplot,add) Truss problem h = patch(Vertices, p, Faces, e, ... EdgeColor,[0 0 0]); % graph quiver(p(:,1), p(:,2), f(:,1), f(:,2),... .3, Color, [1 0 0]); % external forces ip = find(sum(b,2)==1); plot(p(ip,1), p(ip,2), ro); % supports ip = find(sum(b,2)==2); plot(p(ip,1), p(ip,2), r); % supports axis image off title(Truss problem)

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Figura Par ametros de objetos Eixo Gr acos

Plotando resultado do problema de treli cas


figure(Color, [1 1 1], Name, Stress,... NumberTitle,off) axes(nextplot,add) patch(Vertices, p, Faces, e, ... EdgeColor,[1 1 1]*.9) pd = p(e,:) + d(e,:); sigmad = [sigma; sigma]; ed = reshape(1:size(pd,1),size(pd,1)/2,2); patch(Vertices, pd, Faces, ed, ... FaceVertexCData, sigmad, ... EdgeColor,flat) axis image off title(Stress) colorbar

Stress

x 10

1 0 1 2

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Conte udo Matlab B asico Matrizes e vetores Gr acos Refer encias

Refer encias

Introdu c ao ao Matlab (este texto) Matlab: getting started guide

Adriano Chaves Lisboa . Douglas Alexandre Gomes Vieira

Introdu c ao ao Matlab

Você também pode gostar