Você está na página 1de 6

Comando de formatao

O comando format controla como o s nmeros aparecem na tela. O formato de exibio


padro do MATLAB o formato short, que utiliza quatro dgitos decimais. Voc pode exibir
mais digitando format long, o que resulta na exibio de 16 dgitos. Para retornar ao modo
padro, digite format short.
Plotando com o MATLAB
O MATLAB possui muitas funes poderosas e fceis de serem utilizadas para a criao de
plotagens retilneas, logartmicas, de superfcie e de contornos. Como um exemplo simples,
plotemos a funo y=3cos(2x) para 0x7. A funo plot(x,y) gera um grfico com o s valores
de x no eixo horizontal (as abcissas) e com o s valores de y no eixo vertical (as ordenadas). A
sesso
>>x=0:0.01:7;
>>y=3*cos(2*x);
>>plot(x,y),xlabel(x),ylabel(y)
Alguns comandos de plotagem do MATLAB
Comando descrio
[x,y]=ginput(n) Habilita o mouse a capturar n pontos de um
plotagem, e retorna as coordenadas x e y no
vetores x e y, ambos com o tamanho n.
Grid Insere linhas de grid na plotagem
plot(x,y) Habilita a insero e o posicionamento de
texto com o mouse
Title(text) Insere texto de ttulo na parte superior da
plotagem
Xlabel(text) Adiciona um rtulo ao eixo horizontal (as
abcissas)
Ylabel(text) Adiciona um rtulo ao eixo vertical (as
ordenadas)


Criando vetores no MATLAB
O conceito de um vetor pode ser generalizado para qualquer nmero de componentes. No
MATLAB um vetor simplesmente uma lista de escalares, cuja ordem de aparecimento na lista
pode ser significativa, assim como quando especificamos as coordenadas xyz.
Para criar um vetor linha no MATLAB , voc simplesmente digita os elementos dentro de um
par de colchetes, separando os elementos com um espao ou uma vrgula. Os colchetes so
necessrios para arranjos exceto nos casos em que voc utiliza o operador dois pontos para
criar um arranjo. Nesse caso, voc no deve utilizar colchetes, mas pode utilizar parnteses
opcionalmente. A escolha entre espao ou vrgula uma questo de preferncia pessoal,
embora a chance de erro seja menor se voc utilizar vrgula.
Para criar um vetor coluna, voc pode separar os elementos utilizando ponto e vrgula;
alternativamente, voc pode criar um vetor linha e ento utilizar a notao de transposio(),
que converte um vetor linha em um vetor coluna, ou vice-versa. Por exemplo:
>>g=[3;7;9]
g=
3
7
9
Voc pode criar vetores anexando um vetor ao outro. Por exemplo, para criar o vetor linha u
cujas primeiras trs colunas contm os valores de r=[2,4,20] e cujas quarta, quinta e sexta
colunas contm valores de w=[9,-6,3], digite u =[r,w]. O resultado o vetor u=[2,4,20,9,-6,3].
O operador dois pontos(:) facilmente gera um vetor grande de elementos regularmente
espaados. Ao digitar
>>x=m:q:n
Um vetor x de valores com espaamento q criado. O primeiro valor m. o ltimo valor n se
m n for um mltiplo inteiro de q. se no, o ltimo valor menor do que n. Por exemplo, ao
se digitar x=0:2:8, o vetor x=[0,2,4,6,8] criado, ao passo que ao se digitar x=0:2:7 o vetor
x=[0,2,4,6] criado. Para criar um vetor linha z que consiste nos valores de 5 a 8 em passos de
0,1, digite z=5:0.1:8. Se o incremento q for omitido, presume-se que ele 1. Assim, y=-3:2
produz o vetor y=[-3,-2,1,0,1,2].
O incremento q pode ser negativo. Nesse caso, m deve ser maior do que n. Por exemplo,
u=10:-2:4 produz o vetor u=[10,8,6,4].
o comando linspace tambm cria um vetor linha com espaamento linear, mas em vez de
especificar o incremento, voc especifica o nmero de valores. A sintaxe linspace (x1,x2,n),
em que x1 e x2 so os limites inferior e superior e n o nmero de pontos. Por exemplo
linspace(5,8,31) equivalente a 5:0.1:8. Se n for omitido, o espaamento igual a 1.
O comando logspace cria um arranjo de elementos espaados logaritmicamente. Sua sintaxe
logspace (a,b,n), em que n o nmero de pontos entre 10
a
e 10
b
. por exemplo, x=logspace
(-1,1,4) produz o vetor x=[0.1000, 0.4642, 2.1544, 10.000]. se n for omitido, o nmero de
pontos padro 50.
Plotando polinmios
A funo polyval (a,x) avalia um polinmio em valores de sua varivel independente x, que
pode ser uma matriz ou um vetor. O arranjo de coeficientes do polinmio a. o resultado do
mesmo tamanho que x. por exemplo, para avaliar o polinmio f(x)= 9x
3
-5x
2
+3x+7 nos pontos x
= 0,2,4,...,10: digite:
>>f=polyval([9,-5,3,7],[0:2:10]);
O vetor resultante f contm seis valores correspondentes a f(0),f(2),f(4),...,f(10).
Para plotar esse polinmio para -2x5, voc deve digitar:
>>x=-2:0.01:5;
>>polyval([9,-5,3,7],x);
>>plot (x,f),xlabel(x),ylabel(f(x)),grid
As razes de um polinmio podem ser encontradas com a funo roots(a), em que o arranjo
que contm os coeficientes do polinmio. Por exemplo, para obter as razes de
x
3
+12x
2
+45x+50=0, voc deve digitar y=roots([1,12,45,50]). A resposta (y) um arranjo coluna
que contm os valores -2,-5,-5.
Funes definidas pelo usurio
O arquivo de funo o tipo arquivo M. diferentemente de um arquivo de script, todas as
variveis em um arquivo de funo so variveis locais, o que significa que seus valores esto
disponveis apenas dentro da funo.
Para criar um arquivo de funo, abra o Editor. A primeira linha em um arquivo de funo deve
ser uma linha de definio de funo que apresenta uma lista de entradas e sadas. Essa linha
distingue um arquivo de funo de um arquivo de script. Sua sintaxe a seguinte:
Function[variveis de sada]=nome_da_funcao(variveis de entrada)
As variveis de sada so aquelas cujos valores so calculados pela funo, utilizando os valores
dados das variveis de entrada. Note que as variveis de sada devem estar entre
colchetes(que so opcionais se houver apenas uma sada), enquanto que as variveis de
entrada devem estar entre parnteses . o nome_da_funcao deve ser igual ao nome do arquivo
em que ela salva (com a extenso.m). isto , se o nome da funo for drop, ela deve ser salva
no arquivo drop.m. a funo chamada quando digitamos o seu nome (por exemplo, drop)
na linha de comando.
As funes operam variveis dentro do seu prprio espao de trabalho (chamado de variveis
locais), que separado do espao de trabalho (workspace) que voc acessa no prompt de
comando do MATLAB. Considere a seguinte funo fun definida pelo usurio
Function z =fun (x,y)
u=3*x;
z= u+6*y.^2;

Funo handle (descritores de funes)
um function fandle uma forma de referenciar uma dada funo. Voc pode criar um handle
para qualquer funo utilizando o sinal @ antes do nome da funo. Voc pode ento dar um
nome ao handle e utiliz-lo para referenciar a funo.
Por exemplo, considere a seguinte funo definida pelo usurio, que calcula y=x+2e
-x
-3.
Function y= f1(x)
Y=x+2*exp(-x)-3;
Para criar um handle com nome fh1, voc deve digitar fh1=@f1.
Funes de funes
Se a funo sobre a qual se atua no uma funo simples, mais conveniente definir a
funo em um arquivo M. Voc pode passar a funo para a funo principal utilizando um
handle.
Encontrando os zeros de uma funo. Voc pode utilizar a funo fzero pra encontrar o zero
de uma funo de uma nica varivel, que indicado por x. sua sintaxe bsica
fzero(@function, x0)
em que @function um function handle e x0 uma estimativa inicial do zero fornecida pelo
usurio. A funo fzero I retorna um valor de x que prximo de x0.
Ela identifica apenas os pontos em que a funo cruza o eixo x, no apenas pontos em que a
funo apenas toca o eixo.
Minimizando uma funo de uma varivel a funo fminbnd encontr a o mnimo de uma
funo de uma nica varivel, que indicado por x. Sua sintaxe bsica
fminbnd (@function,x1,x2)
em que @function um handle da funo. A funo retorna um valor de x que minimiza a
funo no intervalo x1xx2. Por exemplo , fminbnd (@cos, 0,4) retorna o valor x = 3,1416.
Entretanto, para utilizar essa funo a fim de encontrar o mnimo de funes mais
complicadas, mais conveniente definir a funo em um arquivo de funo. Por exemplo, se
y=1-ze
-x
, defina o seguinte arquivo de funo:
function y=f2(x)
Y=1-x.exp(-x);
Para encontrar o valor de x em 0x5 que define o mnimo de y, digite x=fminbnd(@f2,0,5). A
resposta x=1. Para encontrar o valor mnimo de y, digite y=f2(x). a resposta y=0.6321.

Minimizando uma funo de vrias variveis Para encontrar o mnimo de uma funo de mais
de uma varivel, utilize a funo fminsearch. Sua sintaxe bsica
fminsearch(@function, x0)
em que @function um handle da funo. O vetor x0 uma estimativa inicial que deve ser
fornecida pelo usurio. Por exemplo, para utilizar a funo f=xe
-x2-y2
, primeiro defina-a em um
arquivo M utilizando o vetor x cujos elementos so x(1) = x e x(2) = y.
function f =f4(x)
f=x(1).*exp(-x(1).^2-x(2).^2);
suponha que uma boa estimative seja em torno de x=y=0. A sesso
>>fminsearch(@f4,[0,0])
ans=
-0.7071 0.000
Portanto, o mnimo ocorre em x=-0,7071, y=0.
Funes annimas
As funes annimas permitem criar uma funo simples sem a necessidade de criar um
arquivo M para ela. Voc pode construir uma funo annima tanto na linha de comando do
MATLAB quanto dentro de outra funo ou script. A sintaxe para criar uma funo annima a
partir de uma expresso
fhandle=@(arglist) expr
em que arglist uma lista de argumentos de entrada separados por vrgulas a ser passada para
a funo e expr uma expresso qualquer vlida do MATLAB. Essa sintaxe cria o function
handle fhandle, que permite chamar a funo. O handle tambm til para passar a funo
annima em uma chamada de alguma outra funo, da mesma forma que qualquer outro
function handle.
Por exemplo, para criar uma simples funo sq para calcular o quadrado de um nmero digite
Sq=@(x) x,^2;
Para melhorar a legibilidade, voc pode escrever entre parnteses, como sq=@(x) (x.^2);. Para
executar a funo, digite o handle da funo, seguido pelos argumentos de entrada entre
parnteses. Por exemplo,
>>sq(5)
ans= 25
>>sq=(5,7])
ans= 25 49

Você também pode gostar