You are on page 1of 19

Computac

ao Cientfica com MATLAB


Melissa Weber Mendonca
melissa.mendonca@ufsc.br

Func
oes

Na matematica,
f (x) = y .
Entrada: x
Sada: y
Acao: f .
Exemplo: f (x) = x 2 .

Func
oes j
a prontas

Exemplos:
n = input(Entre com um numero:)
nfat = factorial(n)
texto = num2str(25)

Func
oes
No MATLAB, uma funcao e um arquivo nomedafuncao.m com a
sintaxe
function [sa
da] = nomedafuncao(entrada)
% Descricao da funcao
comandos;
Uma vez construida a funcao, podemos chama-la no console,
usando
>>

y = nomedafuncao(x)

Observac
ao. Uma funcao deve sempre ter o mesmo nome que o
arquivo no qual ela esta salva.

Qual a diferenca entre um script e uma func


ao?

Um script e um arquivo que contem uma sequencia de comandos,


mas nao exige entrada ou sada.
Uma funcao deve, obrigatoriamente, ter pelo menos uma entrada e
uma sada.

Argumentos de entrada e sada

Se tivermos mais de um argumento de entrada, basta separa-los


por vrgulas:
s = soma(x,y)
Se tivermos mais de um argumento de sada, precisamos
escreve-los entre colchetes:
[a,b] = somaesubtracao(x,y)

Exemplo

Construir uma funcao que calcule a media dos 3 elementos do


vetor x.
function [y] = media(x)
y = (x(1) + x(2) + x(3))/3;

Func
oes an
onimas

Para declarar uma funcao no console, sem ter que guarda-la em


um arquivo, podemos usar o conceito de funcao anonima.

Exemplo:
>>
>>
>>

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

Gr
aficos em 2D
Cada ponto no grafico e dado por uma coordenada (x, y ), onde x
e um n
umero real e y e um n
umero real associado a x (como
y = f (x)). Mas, nao podemos representar a reta real (contnua)
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 o
resto.

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 e
um vetor tal que yi = f (xi ).
Exemplo: f (x) = x 2 ;
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));

Opc
oes do comando plot
>> help plot
Exemplos:
>> plot(x,y,r*)
>> plot(x,y,m^)
>> plot(x,y,Linewidth,3)

Alguns comandos u
teis
>> 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)

Ttulo e legendas nos eixos: title e label

>> title(y = f(x))


>> legend(legenda)
>> xlabel(x)
>> ylabel(y)

Eixos - axis
` vezes, precisamos fixar ou modificar os eixos contra os quais
As
fazemos 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

Subgr
aficos: subplot

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

Os graficos ficam nesta posicao:


1
5

2
6

3
7

4
8

Pontos no espaco: plot3

Podemos usar a funcao plot3 para observar a distribuicao de


pontos no espaco.

Exemplo:
>>
>>
>>
>>

x = rand(100,1);
y = rand(100,1);
z = rand(100,1);
plot3(x,y,z)

You might also like