UNESP - FEIS - DEE Lista de Exercícios - Matlab
% LISTA DE EXERCÍCIOS - COMANDOS BÁSICOS DO MATLAB
% EXECUTE OS SEGUINTES COMANDOS E INTERPRETE OS RESULTADOS
a= 2500/20
a=2500/20;
b=[1 2 3 4 5 6 7 8 9 ]
c=[1 2 3 ; 4 5 6; 7 8 9]
c=[c ; [10 11 12]]
c(2,2)=0
l=length(b)
[m,n]=size(b)
[m,n]=size(c)
who
whos
clear
who
b=1+2+3+4 +...
5+6-7
x=1:2:9
x=(0.8:0.2:1.4);
y=sin(x)
help sin
dir
a=2^3
a=4/3
format long
a=4/3
format short
clear
a=[1 2 3; 4 5 6 ; 7 8 9];
b=a’
c=a+b
c=a-b
a(1,:)=[-1 -2 -3]
c=a(:,2)
c=a(2:3,2:3)
x=[-1 0 2];
y=[-2 -1 1]’;
x*y
c=x+2
a=[1 0 2; 0 3 4; 5 6 0];
size(a)
b=inv(a);
c=b*a
1
UNESP - FEIS - DEE Lista de Exercícios - Matlab
c=b/a
c=b\a
clear a b c x y
whos
% A instrução seguinte abre o arquivo [Link] e grava todas as instruções
% digitadas na sequência
diary [Link]
x=[1 -2 3];
y=[4 3 2];
z=x.*y
z=x.^y
y. ^2
diary off % Encerra a gravação da instrução diary em [Link]
dir
type [Link]
clear
help diary
help sqrt
% Trabalhando com números complexos
i=sqrt(-1)
z=3+4*i
a=[1 2; 3 4]+i*[5 6 ; 7 8]
realz=real(z)
imagz=imag(z)
modz=abs(z)
fasez=angle(z)
% Multiplicação de polinômios
% x3 = (x^2 + 3x + 2).(x^2 - 2x +1)
x3=conv([1 3 2],[1 -2 1]) % Como ele faz isto?
% Determinação das raízes de um polinômio
roots([1 3 2])
roots([1 -2 1])
roots(x3)
% Utilitários para matrizes
a=eye(4)
a=rand(5)
help rand
b=[2 0 0; 0 3 0; 0 0 -1];
d= det(b)
l=eig(b)
2
UNESP - FEIS - DEE Lista de Exercícios - Matlab
help det
help eig
clear
% RECURSOS DE GRAVAÇÃO (ARMAZENAGEM) DE DADOS
help save
help load
a=[1 2 3 4 5 6 7 8];
b=a*2;
c=a-1;
save arquivo1 a b c
dir
clear
whos
load arquivo1
whos
% Em que arquivo estão gravados os vetores a, b e c?
clear
% RECURSOS GRÁFICOS
y=[0 2 5 4 1 0];
plot(y)
help pi
t=0:.4:4*pi
y=sin(t)
z=cos(t);
plot(t,y,’.’,t,z,’-.’)
title(‘Funções’)
xlabel(‘t’)
ylabel(‘Seno e Cosseno’)
text(3,0.5,’Seno’)
% Após o próximo comando, selecione a posição que deseja colocar o texto ‘Cosseno’ com
% o mouse
gtext(’Cosseno’)
% AJUSTE DE CURVAS DE DADOS EXPERIMENTAIS
t=(-1:.1:1);
3
UNESP - FEIS - DEE Lista de Exercícios - Matlab
x=t.^2;
xr=x+0.2*(rand(size(x))-.5);
figure(1);plot(t,xr,'g*')
p=polyfit(t,xr,2)
xa=polyval(p,t);
figure(1);plot(t,xr,'g*',t,xa)
% Após a próxima instrução, clique em dois pontos do gráfico, e os valores
% das coordenadas serão retornados em [x,y]
[x,y]=ginput(2)
% PROGRAMANDO COM O MATLAB
% Abra um arquivo a partir do Matlab (File, New, M-File)
% e você estará trabalhando no Bloco de Notas (Notepad) do Windows.
% Digite os seguintes comandos e grave o arquivo com o nome
% teste1.m, no diretório de usuários (alunos).
n=3;
m=3;
for i=1:m
for j=1:n
a(i,j)=i+j;
end;
end
disp(‘Matriz A’)
disp(a)
%final do programa teste1.m
4
UNESP - FEIS - DEE Lista de Exercícios - Matlab
% CRIANDO UMA SUBROTINA
% Abra outro arquivo, savando-o com nome de teste2.m
% Digite os seguintes comandos neste arquivo
v=1:1:10;
m=media(v);
s=sprintf(‘\n A média é: %4.2f’,m);
disp(s);
%final do programa teste2.m
Agora crie o seguinte arquivo, com o nome de media.m
function x = media(u)
%function x=media(u) calcula a média do vetor u, colocando o resultado em x
x=sum(u)/length(u);
%final da subrotina media.m
%Na linha de comando do Matlab, digite:
teste2
echo on
teste2
echo off
% CRIANDO UM PROGRAMA EXEMPLO DE GRÁFICO 3D
% Abra outro arquivo, savando-o com nome de teste3.m
% Digite os seguintes comandos neste arquivo
clear
n=30;
m=30;
for i=1:m
for j=1:n
a(i,j)=sqrt(i+j);
end
end
b=[a+0.5 a'-0.5;
(a.^2)/5 ((a'-0.1).^2)/2];
mesh(b)
% EXERCÍCIOS COM O MATLAB
5
UNESP - FEIS - DEE Lista de Exercícios - Matlab
Exercício 1 - Faça um programa que desenhe uma pirâmide 3D. Utilize o mesh( ).
Exercício 2 - Copie o gráfico de uma senóide para um arquivo texto do “WORD”. Siga os
seguintes passos: 1 Após ter gerado o gráfico, faça print -dmeta (no MATLAB); 2
Precione ALT-TAB até entrar no “WORD” ou então abra o “WORD”; 3 posicione o
cursor no local do texto onde o gráfico deva entrar; 4 Digite Ctrl-V; 5 Ajuste a escala
vertical do gráfico com o editor de gráficos do “WORD”.
Exercício 3 - Repita o exercício 2 com -dbitmap no lugar de -dmeta e compare o
tamanho (em Kb) dos dois arquivos texto.
Exercício 4 - Resolva o circuito dado na figura abaixo (encontre i 1 e i 2 ) utilizando a
inversão de matrizes do MATLAB. Faça um programa para isto. Adote R 1 = 5, R 2 =
10, R 3 = 5, R 4 = 15, R 5 = 20, V 1 = 10,0v, V 2 = 20,0v.
R2 R3
R1 R4 R5
i1 i2
+ +
V1 V2
- -
Resp. : i 1 = 0,1026 A e i 2 = 0,4615 A.
Exercício 5 - Supondo que a fonte V 2 esteja em curto, ou seja V 2 = 0,0v, quais os valores
de i 1 e i 2 ?
Resp. : i 1 = 0,4103 A e i 2 = -0,1538 A.
Exercício 6 - Gere um vetor com N elementos aleatórios. Escreva uma função que tenha
como entrada o vetor, e retorne o índice e o valor do maior elemento do vetor, utilizando o
comando if.
Exercício 7 - Escreva um programa (utilizando o comando while) que aceite entradas
numéricas pelo teclado. Os valores devem ser números entre 0 e 5, e caso o usuário digite
algum valor fora deste intervalo, o programa é encerrado.
Exercício 8 - Em uma sala estão 8 pessoas, reunidas em uma mesa circular. Cada uma
escolhe um número aleatoriamente e pega o seu nímero e soma com os números das
pessoas ao lado, a sua esquerda e direita. Passa-se as 8 somas para você, que estava fora da
reunião. Como voce descobre o número que cada pessoa escolheu ? Utilize o MATLAB.