Escolar Documentos
Profissional Documentos
Cultura Documentos
Tutorial Matlab
Tutorial Matlab
Curso Introdutrio
Sumrio
1. INTRODUO ................................................................................................................ 2 1.1 O que o Matlab? ........................................................................................................ 2 2. INICIANDO ........................................................................................................................ 3 2.1 Variveis ...................................................................................................................... 3 2.1.1 ENTRANDO COM VALORES ................................................................................ 3 2.1.2 VARIVEIS PERMANENTES ................................................................................ 4 2.2 Expresses e Comandos Bsicos ................................................................................ 4 2.2.1 SALVANDO/APAGANDO O WORKSPACE ........................................................... 5 2.2.2 O COMANDO MAIS IMPORTANTE ....................................................................... 5 2.2.3 EXERCCIOS ......................................................................................................... 6 3. FAMILIARIZANDO-SE COM MATRIZES........................................................................... 7 3.1 Manipulao de Matrizes .......................................................................................... 7 3.1.1 ELEMENTOS DE UMA MATRIZ ............................................................................ 7 3.1.2 GERANDO VETORES ........................................................................................... 8 3.1.3 MATRIZES DENTRO DE MATRIZES .................................................................... 9 3.1.4 EXERCCIOS ....................................................................................................... 10 3.2 Operaes Elemento por Elemento .................................................................. 11 3.3 Operadores Lgicos e Relacionais ......................................................................... 12 3.4 Operadores e Manipulao de Matrizes ................................................................. 13 3.4.1 EXERCCIOS ................................................................................................... 13 3.5 Algumas Funes ................................................................................................... 14 4. POLINMIOS.................................................................................................................. 14 4.1 Representando Polinmios no MATLAB..................................................................... 14 4.2 Funes Relacionadas Polinmios.......................................................................... 14 4.2.1 EXERCCIOS ....................................................................................................... 15 5. GRFICOS...................................................................................................................... 15 5.1 Grficos 2-D ............................................................................................................... 15 5.1.2 EXERCCIOS ....................................................................................................... 17 5.2 Grficos 3-D ............................................................................................................... 18 5.2.1 FUNES ELEMENTARES PARA GRFICOS 3-D............................................ 18 5.2.2 MESHGRID.......................................................................................................... 18 5.2.3 MELHORANDO A APARNCIA ........................................................................... 19 5.2.4 EXERCCIOS ....................................................................................................... 20 6. PROGRAMAO............................................................................................................ 20 6.1 Controladores de Fluxo .............................................................................................. 21 6.1.1 FOR ..................................................................................................................... 21 6.1.2 WHILE.................................................................................................................. 21 6.1.3 IF.......................................................................................................................... 22 6.1.4 BREAK, INPUT, PAUSE ...................................................................................... 22 6.2 Arquivos M ................................................................................................................. 23 6.2.1 SCRIPTS.............................................................................................................. 23 6.2.2 ARQUIVOS-FUNO .......................................................................................... 24 6.2.3 FUNES FUNO............................................................................................ 25 6.2.4 EXERCCIOS ....................................................................................................... 26 7. BIBLIOGRAFIA................................................................................................................ 26 8. RESPOSTA DOS EXERCCIOS...................................................................................... 27
1. INTRODUO
Para maiores informaes sobre as ltimas novidades do software, consulte a pgina na internet da MathWorks Inc. em http://www.mathworks.com
2. INICIANDO
2.1 Variveis
O MATLAB trabalha essencialmente com um tipo de varivel: uma matriz contendo nmeros, complexos ou no (um escalar uma matriz 1 x 1). Em alguns casos, um tratamento especial dado a uma matriz 1 x 1 (escalar) ou a matrizes 1 x n ou n x 1 (vetores).
Variveis
Escalares
Vetores
Matrizes
1 2
-7 0
3 8
Numricos
Strings
B =
4.9 7.6 8
Por exemplo, para entrar com a matriz abaixo na memria do computador, e guard-la na varivel A: A= 1 4 7 2 5 8 3 6 9
Basta digitar:
A=[1 2 3;4 5 6; 7 8 9]
A = 1 4 7 2 5 8 3 6 9
OBS: Para que o computador realize a operao e no mostre a sada, basta terminar a expresso com ponto-e-vrgula (;). Isto muito til para evitar que o computador fique mostrando nmeros de clculos intermedirios e para acelerar as operaes.
ans
flops
Contador matemticas.
de
operaes
NaN inf
Not a Number (indeterminao) Infinito. Tipo de computador. Resposta sucinta. Verso do MATLAB.
Os nmeros so em notao decimal. Pode-se criar nmeros complexos basta escrever i (ou j) depois da parte imaginria. Alguns exemplos de nmeros permitidos:
1/3 9.63973 3 + 2i -99 1.602E-20 -3.1459i .0001 6.025E23 3E5i
A preciso de todas as operaes eps, embora os nmeros mostrados ocultem algumas casa decimais. Para mudar o formato de sada dos nmeros, altere o item numeric format ou no menu options, ou ento use o comando format.
/ e \ ^
O MATLAB possui uma vasta gama de funes matemticas elementares, com seno (sin), tangente (tan), logaritmo (log10), etc. Por exemplo, para calcular o seno de 5 e guardar na varivel x:
x=sin(5)
Subtraindo matrizes:
A=[1 2 3;4 5 6;7 8 9]; B=[4 5 6;1 2 3;8 7 6]; C=A'-B
OBS:
especificadas. O comando load carrega as informaes salvas, e anlogo ao save. O comando clear nome_de_varivel apaga a varivel do workspace. Digitar somente clear apaga todas as variveis do workspace!
Curso Introdutrio de MATLAB help who WHO List current variables. WHO lists the variables in the current workspace. WHOS lists more information about each variable. WHO GLOBAL and WHOS GLOBAL list the variables in the global workspace.
Um comando igualmente importante lookfor, que procura entre todas as funes do MATLAB a palavra-chave especificada.
lookfor max BITMAX Maximum floating point integer. REALMAX Largest positive floating point number. MAX Largest component.
2.2.3 EXERCCIOS
Comandos: who, whos, eps, format, quit, save, load, clear, help, lookfor.
Exerccios: 1) Armazene no workspace os seguintes valores: a = 3.132; b = -23.004; c = 5*pi; d = (3 5.4 7.43) e = (-2.234 0 pi/2) -9.81 f= 0 1 g= 12e-8 4i pi*i B= 5 32 0 34 4.65 13 87 74 -43 A= 0.32 1e2 9 2.5 + pi 4 51 2 12 24
3) Verifique o resultado das seguintes operaes: a) sin(a) * log(b) b) tan(c+eps) asin(b) e) max(log(g + f + dt))*B f) sin(cos(tan(A)))
5) Salve as variveis x, Z, B em um arquivo chamado exerc1.mat. 6) Saia do MATLAB, entre novamente e carregue as variveis salvas anteriormente. 7) Apague a varivel Z.
Resulta em:
x = -1.3000 4.3266 7.5000
Elementos individuais de uma matriz podem ser referenciados com seus respectivos ndices entre parntesis. No exemplo anterior, para referenciar o segundo elemento do vetor x:
x(2) ans = 4.3266
Analogamente em uma matriz, com linha e coluna determinada tenho um elemento. Seja:
x=[1 2 3;4 5 6;7 8 9] x = 1 4 7 2 5 8 3 6 9
Os dois pontos significam incio : passo : fim. O valor de passo pode ser qualquer nmero real ( 0). A notao ( : ) muito til para gerar tabelas e plotar grficos, como veremos adiante.
x=0:0.2:3; y=exp(-x) + sin(x); z=[x'y'] z = 0 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.4000 1.6000 1.8000 2.0000 2.2000 1.0000 1.0174 1.0597 1.1135 1.1667 1.2094 1.2332 1.2320 1.2015 1.1391 1.0446 0.9193
Curso Introdutrio de MATLAB 2.4000 2.6000 2.8000 3.0 0.7662 0.5898 0.3958 0.1909
Seguindo o mesmo raciocnio, pode-se extrair matrizes menores a partir de uma maior. J sabido o comando
x=A(1,3) x = 3
atribui varivel x o elemento da 1a linha e 3a coluna da matriz A. Da mesma forma que possvel atribuir um elemento de uma matriz (que um escalar, ou seja, uma matriz 1 x 1), tambm possvel atribuir pedaos inteiros da mesma matriz. Por exemplo, seja a matriz A: 1 A= 5 9 14 2 6 10 83 3 7 11 23 4 8 12 0 Pegar colunas: os elementos da 2a linha e 3a e 4a
10
O que aconteceu? Ao invs de passar um escalar como ndice para as colunas da matriz A, passou-se o vetor [3 4]. O MATLAB interpretou isto como sendo: pegue os elementos a23 e a24. Um outro exemplo ainda na matriz A. Para pegar a parte selecionada.
A([1 2 3],[2 3])
1 A= 5 9 14
2 6 10 83
3 7 11 23
4 8 12 0
ans = 2 6 10 3 7 11
Usar os dois pontos sozinhos significa todos os elementos da respectiva linha ou coluna:
A(3,:) ans = 9 10 11 12
3.1.4 EXERCCIOS
1) Sejam as matrizes abaixo: 1 A= 5 9 14 2 6 10 83 3 7 11 23 4 8 12 0 B= 7.4 -4.01 0.1 pi 2 10 0 3 0
a) Atribua o elemento a32 varivel c b) Atribua o elemento b22 varivel c c) Atribua os elementos a11, a12 e a13 um vetor d d) Atribua a 3a coluna da matriz B a um vetor d e) Atribua a 2a linha de B primeira linha de A. Dica: preencha os espaos restantes com 0. f) Atribua a 4a linha de A 2a linha de A.
11
a) x comea em 0, vai at 15, passo 1 b) x comea em 3.4 vai at 8, passo 0.32 c) x comea em 10, vai at 1, passo 1.23 d) x comea em 0, vai at 152, passo 10*pi
3) Quais destes comandos so vlidos? a) c = A(2,3) b) c = A[1 2 3] c) c = A([ 1 2 3],4) d) c = A(1:3,4) e) c = A([1:4],2) f) c = A(2,:) g) c = A(:,:) h) c = A(2:4,[1 3 4])
Pode-se perceber que no segundo caso p que ocorreu foi: elemento a11 * b11, a12 * b12, a21 * b21. Diferente do primeiro caso, onde ocorreu uma multiplicao de duas matrizes 3 x 3. As operaes elemento por elemento so: Smbolo .* ./ ou .\ .^ Operao multiplicao diviso potenciao
12
Existem ainda algumas funes que so teis com os operadores lgicos, com any ou all. Por exemplo:
x = [1 2 3 4 5 6] x = 1 2 3 4 5 6
13
all(x>5) ans = 0
3.4.1 EXERCCIOS
Comandos: any, all. Exerccios: 1) Seja o vetor x = 1:10. Verifique as afirmativas: a) (x.^2) == ( x.*x) b) any((x.^3)>(3*x)) c) all((x./(x+1))>((x+1)./(x+1.5))) d) A = [1 2 3; 4 5 6; 7 8 9]; A^2 == A.^2
14
2) Extrair a partir do vetor x do exerccio anterior: a) elementos maiores que 5 b) elementos diferentes de 3 e 5 c) elementos iguais a 2 5 8 9 d) elementos cujo resto da diviso por 3 1. Dica: utilize a funo rem.
e logaritmo natural logaritmo base 10 ndice de matriz mximo valor mnimo valor mdia aritmtica desvio padro
polinmio caracterstico determinante mdulo raiz quadrada parte real de nmero complexo parte imaginria de nmero complexo conjunto de nmero complexo arredondar
4. POLINMIOS
4.1 Representando Polinmios no MATLAB
O MATLAB representa polinmios como vetores de uma linha, contendo os coeficientes ordenados em ordem decrescente. Por exemplo, o polinmio: x3 6x2 72x 27 representado da forma
p=[1 -6 -72 -27] p = 1 -6 -72 -27
15
4.2.1 EXERCCIOS
1) Sejam os polinmios p = x4 3x2 +5x 30 e q = 2x4 7x3 +2x 15. Calcule: a) p x q b) p q c) p(2) d) razes q e) 1 derivada de p f) 1 derivada de p no ponto x =3 g) 1 derivada de p q
5. GRFICOS
O MATLAB proporciona tcnicas sofisticadas para visualizao de dados. Ele trabalha essencialmente com objetos grficos, tais como linhas e superfcies, cuja aparncia pode ser controlada atravs de propriedades de objeto. Entretanto, como o MATLAB possui uma vasta gama de funes para grficos que automatizam essas propriedades, na maioria das vezes no ser necessrio lidar com estes objetos.
16
Para plotar o grfico y = f(x), primeiro cria-se um vetor x contendo os valores de x, e depois um vetor y com os valores de y. Ento chama-se a x 0 1 2 3 4 5
plot(x,y) x=[0:5]; plot(x,x.^2)
y=x 0 1 4 9 16 25
Lembrando que para definir o vetor x pode-se usar os comandos mostrados na seo 3.1.2 (Gerando Vetores) e colocar a funo diretamente num dos parmetros da funo plot. Por exemplo:
O MATLAB criar uma janela com a figura do grfico ( vide figura 1). Na verdade, a funo plot recebe um nmero varivel de argumentos. Sua forma mais geral plot(x1,y1,jeito1,x2,y2,jeito2,,xn,yn,jeiton). Ou seja, voc pode traar mais de uma curva no mesmo grfico. O argumento jeito representa as vrias opes para o grfico, que pode ser qualquer um dos seguintes strings2:
y m c r g b
w k -. o x
+ * : -.
25
20
15
10
0 0
0.5
1.5
2.5
3.5
4.5
Um string uma seqncia de caracteres que o MATLAB interpreta como um texto. Os strings so
17
Seja a funo y = e-x sen(x). Como seria seu grfico no intervalo [ 0 ; e* ] ? Para desenh-lo, primeiro cria-se um vetor x do tamanho do intervalo desejado com um passo suficientemente pequeno para que a curva do desenho seja suave (um passo 0.1 neste caso suficiente). Depois cria-se o vetor y = f(x) (ou coloca-se diretamente a funo no parmetro da funo plot), e plota-se o grfico com o comando plot. Alguns detalhes podem ser acrescentados:
ttulo do grfico escreve no local especificado escreve texto no usando mouse grfico mono-log em x grfico di-log
nome do eixo x nome do eixo y desenha linhas de grade grfico mono-log em y intervalo dos eixos no grfico
x=[0:0.1:exp(1)*pi]; y=exp(-x).*sin(x); plot(x,y,'--b'); title('grfico f(x)=exp(-x)*sin(x)'); xlabel('eixo x'); ylabel('eixo y'); gtext('ponto de mximo local');
eixo y
0.3 0.25
0.2
0.15
0.1
0.05
-0.05 0 1 2 3 4 eixo x 5 6 7 8 9
5.1.2 EXERCCIOS
Comandos: plot, title, xlabel, ylabel, axis, gtext, grid, semilogx, loglog Exerccios:
1) Plote o grfico das seguintes funes, no intervalo especificado: a) y = x3 5x +2, x [-20;20] b) y = sin(x)*cos(x), x [-2;] c) y = cos(ex), x [0;20] d) y = d(x3 5x + 2)/dx, x [0;10]
2) Plote em escala mono-log ou di-log as funes acima, acrescentando elementos como ttulo, nome aos eixos, etc.
18
Curvas
Superfcies
plot3 contour
superfcies 3D
Por exemplo:
t=0:pi/50:10*pi; plot3(sin(t),cos(t),t);
40
30
20
Gera a figura 3. Todos os outros comandos de escala, ttulo, nome aos eixos continuam valendo (nome ao eixo z: zlabel).
10
5.2.2 MESHGRID
O MATLAB define uma superfcie do tipo mesh (rede) pelas coordenadas Z sobre um plano x-y. Superfcies tipo mesh so teis para visualizar matrizes demasiadamente grandes para serem mostradas na forma numrica, ou para plotar funes de duas variveis. O primeiro passo para plotar uma funo de 2 variveis z=f(x,y) gerar matrizes X e Y contendo linhas e colunas repetidas, respectivamente, para funcionarem como o domnio da funo. A funo meshgrid transforma o domnio especificado por dois vetores x y em duas matrizes X e Y. Essas matrizes ento so usadas para avaliar a funo de 2 variveis. Por exemplo, seja a funo:
19
20
possvel ainda mudar o mapa de cores dos grficos. Para tal, utilize a funo colormap.
subplot(221) mesh(X,Y,Z) title('Sombrero') subplot(222) plot3(sin(t),cos(t),t); title('Hlice') subplot(223) mesh(a,b,c) title('Esfera') subplot(224) mesh(X,Y,3*sqrt(X.^2+Y.^2)) title('Cone')
Figura 4 - Grfico usando comando subplot
5.2.4 EXERCCIOS
Comandos: plot3, mesh, contour, surf, meshgrid, view, subplot, colormap
1) Plote as seguintes funes no intervalo especificado: a) f(x,y) = x2 + y2, x, y [-5;5] b) f(x,y) = (1 - x2 - y2) , x, y [-0.5;0.5] c) f(x,y) = x y , x, y [0;1] d) f(x,y) = arctg(x2 + y2) , x, y [-8;8] 2) Plote os seis primeiros grficos do item anterior na mesma figura.
e) f(x,y) = (x + y)/(x y), x, y [-10;10] f) f(x,y) = x y /(x2 + y2), x, y [-10;10] g) f(x,y) = sen(x/2) cos(y/3), x, y [-;]
6. PROGRAMAO
Arquivos
Funes
Funes Funo
21
Outra grande vantagem do MATLAB a facilidade para criar programas, da mesma forma que linguagens como o C, BASIC ou Fortran.
6.1.1 FOR
O lao for permite um comando, ou grupo de comandos, repetir-se um nmero determinado de vezes. A forma geral de um lao for : for varivel = expresso comandos end
Por exemplo,
for i = 1:10 v(i)=3*i; end
12
15
18
21
24
27
30
6.1.2 WHILE
O lao while permite que o comando seja repetido um nmero indefinido de vezes, enquanto uma condio lgica seja satisfeita. A forma geral do lao while : while (expresso verdadeira) comandos end
Assim, como no caso de for, while precisa de um end para indicar o fim do lao. O exemplo abaixo calcula o fatorial de n enquanto n! < 10100.
n=1;
22
6.1.3 IF
O comando if estabelece caminhos alternativos para a fluncia do programa. Sua forma geral : if condio verdadeira comandos elseif condio 2 verdadeira comandos else comandos end
A primeira condio sempre escrita com if, a ltima com else, e todas as intermedirias com elseif.
a=round(10*rand(1)); if a>5 b=3*a; elseif a<5; b=a/3; else b=a; end
23
pause pausa na execuo do programa, at que qualquer tecla ser digitada. Pause(n) d uma pausa de n segundos.
6.2 Arquivos M
Quando uma linha de comandos digitada no MATLAB, ele imediatamente processa e devolve o resultado. Porm, possvel executar seqncias de comandos, que podem ser guardados em arquivos. Arquivos que contm comandos do MATLAB so chamados arquivos M porque possuem extenso .m.
Um arquivo M formado por uma seqncia de comandos ou de referncia para outros arquivos. Eles podem ser criados a partir de qualquer editor d texto (como por exemplo, o Notepad do Windows), e so arquivos de texto comuns. Existem dois tipos distintos de arquivos: Scripts e Funes. Existe ainda uma classe especial de funes chamada funes funo.
6.2.1 SCRIPTS
Os arquivos script automatizam uma seqncia de comandos. Quando um script chamado, o MATLAB simplesmente executa os comandos contidos no arquivo. Scripts so teis para entrar com matrizes muito extensas (pois erros de digitao podem ser facilmente corrigidos) e comandos que seriam digitados freqentemente. O exemplo abaixo foi escrito do editor de texto Notepad, e calcula os primeiros nmeros de Fibonacci, mostrando o resultado em um grfico.
% Arquivo M que calcula os primeiros % nmeros de Fibonacci f = [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)
O smbolo % significa comentrios. Tudo que estiver na linha aps % no ser considerado pelo MATLAB.
24
Estando este arquivo salvo em um dos diretrios path do MATLAB com uma extenso .m, toda vez que seu nome for digitado, todas as linhas de comandos acima sero executadas.
OBS: Para saber o path do MATLAB, use o comando path. Com este comando possvel inclusive alterar o path original. Lembre-se de salvar o arquivo com uma extenso .m, com a opo salvar como tipo: todos os arquivos (*.*).
6.2.2 ARQUIVOS-FUNO
Uma funo difere de um script j que argumentos podem ser passados para a funo, e as variveis criadas e manipuladas na funo so locais para a mesma. Na primeira linha de um arquivo funo dever aparecer a palavra function, definir o nome da funo.
function y = escal(a,b) % ESCAL Produto escalar de dois vetores % % ESCAL retorna um vetor que o resultado do produto % escalar de dois vetores. % Os dois vetores devem ser do mesmo tamanho if size(a) ~= size(b) error(Erro: vetores no tem mesmo tamanho); end y=sum(a.*b);
Salve este texto como um arquivo escal.m no path do MATLAB. Crie dois vetores de mesmo tamanho e chame a funo escal. A resposta ser o produto escalar de dois vetores.
OBS: As primeiras linhas de comentrios, que comeam na 2 linha do arquivo so tratadas pelo help on-line como a explicao da funo, sendo que a 2 linha usada pelo comando lookfor. Por exemplo,
function y=prximo(x) % PRXIMO Nmero consecutivo % PRXIMO(x) retorna o prximo nmero natural depois de x. % % Veja tambm ANTERIOR, BLABLABLABLA
25
digitar lookfor prximo, o MATLAB ir procurar todas as funes que contenham esta palavra, e mostrar suas 2as linhas.
fzero fmin/fmins
As funes matemticas so representadas por arquivos-funo. Por exemplo, seja a funo representando a velocidade de uma partcula: v(t) = sen(t) t2 +8t +1 Para plotar o grfico da velocidades em funo do tempo existem duas poes: criar um vetor t do tamanho desejado, criar um vetor v = sin(t).* t.^2 +8*t +1, e usar a funo plot com v e t; criar um arquivo funo com a funo v(t) e usar a funo fplot.
A vantagem da 2 opo que o MATLAB escolher pontos suficientemente espaados para que a curva seja suave. Crie um arquivo chamado velocid:
!notepad velocid.m function v=velocid(t) % VELOCID velocidade de uma % partcula num instante t % v=sin(t).*t.^2+8*t+1;
Da mesma forma, para avaliar o espao percorrido no mesmo intervalo de tempo (integral da funo), ou quando a partcula est parada (v=0), basta usar as outras funes:
x=quad('velocid',0,12) x = 453.2952
26
6.2.4 EXERCCIOS
1) Crie scripts para as seqncias de comandos a) item 5.1.1 b) item 5.2.2 c) item 6.2.1 d) que geram nmeros primos de 2 a 1000
2) Crie uma funo que: a) calcule a mdia de um vetor b) calcule o produto de duas matrizes c) diz se um nmero positivo ou negativo, par ou mpar d) dados T e v, a e b calcula a presso de um gs de Van der Waals
3) Crie um script que plote o grfico p x v de um gs de Van der Waals cujas constantes a e b sejam determinadas ao carregar o script e cuja a temperatura seja digitada pelo usurio. dica: use a funo criada no exerccio 2-d. 4) Plote o grfico do item 2-d usando fplot. Encontre o mnimo da funo atravs de fmin. Assuma v, a, b constantes quaisquer.
7. BIBLIOGRAFIA
MATLAB Users Guide, The MathWorks Inc. TODESCO, Jos Leomar, Curso Introdutrio de MATLAB, UNIVERSIDADE FEDERAL DE SANTA CATARINA, 1995.
27
7.4292 d) 2.2834 + 3.1416i - Inf 0 e) 1.0e+002 * 0.0959+0.1571i 0.6139+1.0053i 0 0.8108 0.7396 0.7830 0.1739 0.7723 -1.7064 h) -1.0128 -0.0055 34.0000 4.6500 13.0000 87.0000 74.0000 -43.0000 4) a) x = 10.2609 y = 3.6111 Z = -1.1394 4.6052 2.1972 d) t=f*B 1.7302 1.3863 3.9318 0.6931 2.4849 3.1781 3.6739 3.7241 0.1288 0.6523+1.0681i 0.0892+0.1461i 0.2494+0.4084i 0.6696 0.3906 0.5804 0.0113 0.0035 -0.0116 -1.7442 -0.0203 0.1933 -0.5450 0.7205 -0.5095 -0.0201 -0.0661 0.1897 -0.7156 0.0006 0.0825 1.6690+2.7332i 1.4196+2.3248i -0.8249-1.3509i
2) a) 19.8720 b) 12.5760 c) 5.2340 5.4000 5.8592 d) 24.8540 0 3.5708 e) 1.0e+002 * 1.5410 0 + 0.0400i -0.1571 + 0.0314i
b) c)
3.1.4 1) a) c=A(3,2) b) c=B(2,2) f) 1.0e+003 * 0.1821 0.6280 1.6770 g) 0.6893 311.1628 28.1880 15.5050 12.2320 158.9044 0.7254 32.8730 77.9055 2) a) 3) b) x=0:1:15 x=-3.4:0.32:8 0.0631 3.5746 0.8552 0.3593 8.4800 3.5250 c=10 c=2
28
2) Para aplicar escala usando mono-log ou di-log ao grfico basta usar os comandos
d) x=[-10:0.5:10]; y=x; [x,y]=meshgrid(x,y); z=atan(x.^2 + y.^2); mesh(z) e) x=[-10:0.5:10]; y=[-10:0.5:10]; [x,y]=meshgrid(x,y); z=(x+y)./(x-y); mesh(z) f) x=[-10:0.5:10]; y=[-10:0.5:10]; [x,y]=meshgrid(x,y);
b) deconv(p,q) 0.5000 d) polyval(p,2) -16 e) roots(q) 3.5850 0.5709 + 1.1745i 0.5709 - 1.1745i -1.2268 f) polyval(polyder(q),3) g) polyder(deconv(p,q))
29
d)
2) a)
b)
c)
function y = teste(x) if rem(x,2)==0 disp(O nmero par) else disp(O nmero impar) end if abs(x)~=x disp(O nmero negativo) else disp(O nmero positivo) end
3)
5) a)