matlab

19
Computa¸ ao Cient´ ıfica com MATLAB Melissa Weber Mendon¸ca [email protected]

Upload: emanuel-duarte

Post on 08-Jul-2016

214 views

Category:

Documents


1 download

DESCRIPTION

Computac~ao Cientca com MATLABMelissa Weber [email protected]

TRANSCRIPT

Computacao Cientıfica com MATLAB

Melissa Weber [email protected]

Funcoes

Na matematica,f (x) = y .

Entrada: xSaıda: yAcao: f .Exemplo: f (x) = x2.

Funcoes ja prontas

Exemplos:

n = input(’Entre com um numero:’)

nfat = factorial(n)

texto = num2str(25)

Funcoes

No MATLAB, uma funcao e um arquivo nomedafuncao.m com asintaxe

function [saıda] = nomedafuncao(entrada)

% Descricao da funcao

comandos;

Uma vez construida a funcao, podemos chama-la no console,usando

>> y = nomedafuncao(x)

Observacao. Uma funcao deve sempre ter o mesmo nome que oarquivo no qual ela esta salva.

Qual a diferenca entre um script e uma funcao?

Um script e um arquivo que contem uma sequencia de comandos,mas nao exige entrada ou saıda.Uma funcao deve, obrigatoriamente, ter pelo menos uma entrada euma saıda.

Argumentos de entrada e saıda

Se tivermos mais de um argumento de entrada, basta separa-lospor vırgulas:

s = soma(x,y)

Se tivermos mais de um argumento de saıda, precisamosescreve-los entre colchetes:

[a,b] = somaesubtracao(x,y)

Exemplo

Construir uma funcao que calcule a media dos 3 elementos dovetor x .

function [y] = media(x)

y = (x(1) + x(2) + x(3))/3;

Funcoes anonimas

Para declarar uma funcao no console, sem ter que guarda-la emum arquivo, podemos usar o conceito de funcao anonima.

Exemplo:

>> f = @(x) x^2;

>> x = 2;

>> f(x)

Graficos em 2DCada ponto no grafico e dado por uma coordenada (x , y), onde xe um numero real e y e um numero real associado a x (comoy = f (x)). Mas, nao podemos representar a reta real (contınua)no MATLAB. Por isso, precisamos usar um vetor de pontos:

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

e fazer o grafico de f apenas nestes pontos; o MATLAB ligara oresto.

Plot

O comando para fazer graficos simples no MATLAB e

plot(x,y)

em que x e um vetor dos pontos onde a funcao sera avaliada, e y eum vetor tal que yi = f (xi ).Exemplo: f (x) = x2;

x = (0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0)

y = (0, 0.01, 0.04, 0.09, 0.16, 0.25, 0.36, 0.49, 0.64, 0.81, 1.0)

Plot

Para criar estes vetores, podemos usar os seguintes comandos:

>> x = 0:0.1:1

>> y = x.^2

>> plot(x,y)

x pode ser um vetor linha ou coluna.

Tambem podemos usar

>> y = linspace(a,b,n)

Exemplo

>> x = -3:0.1:3;

>> f = @(x) x.^2+3*x

>> plot(x,f(x));

Opcoes do comando plot

>> help plot

Exemplos:

>> plot(x,y,’r*’)

>> plot(x,y,’m^’)

>> plot(x,y,’Linewidth’,3)

Alguns comandos uteis

>> close

>> close all

>> hold on

>> hold off

Exemplo:

>> x = -2:0.1:2

>> y = x.^2;

>> plot(x,y)

>> hold on

>> z = x.^3;

>> plot(x,z,’m’)

Tıtulo e legendas nos eixos: title e label

>> title(’y = f(x)’)

>> legend(’legenda’)

>> xlabel(’x’)

>> ylabel(’y’)

Eixos - axis

As vezes, precisamos fixar ou modificar os eixos contra os quaisfazemos os graficos. Para isso, podemos usar

>> axis

>> axis([x0 x1 y0 y1])

>> axis auto

>> axis equal

>> axis tight

>> axis off

>> axis on

Exemplos: f (x) = sin (x)

grid

>> t = 0:0.1:4;

>> plot(t,exp(t))

>> grid on

>> grid minor

>> grid off

Subgraficos: subplot

>> subplot(m,n,p), plot(x,y)

Os graficos ficam nesta posicao:

1 2 3 45 6 7 8

Pontos no espaco: plot3

Podemos usar a funcao plot3 para observar a distribuicao depontos no espaco.

Exemplo:

>> x = rand(100,1);

>> y = rand(100,1);

>> z = rand(100,1);

>> plot3(x,y,z)