A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introdução ao MatLab Aula 4

Apresentações semelhantes


Apresentação em tema: "Introdução ao MatLab Aula 4"— Transcrição da apresentação:

1 Introdução ao MatLab Aula 4
Multimédia Engenharia Biomédica

2 Ficheiros M O MATLAB necessita que o ficheiro M seja armazenado ou na directoria de trabalho ou numa directoria que é especificado na sua directoria de trabalho. Por exemplo considere a utilização do MatLab num PC com um ficheiro M definido pelo utilizador armazenado numa directoria chamada "\MATLAB\MFILES";. Então, para aceder a esse ficheiro M tanto se pode mudar a directoria de trabalho com cd\matlab\mfiles da janela de comandos MATLAB ou adicionando esse directório ao percurso (path) do MATLAB. Adição permanente ao percurso é conseguido editando o ficheiro \MATLAB\matlabrc.m. Uma modificação temporária do percurso é feita teclando path(path,'\matlab\mfiles') a partir do MATLAB.

3 Ficheiros M Os ficheiros que vêm com o MATLAB estão já em directorias adequadas e podem ser usadas a partir de qualquer directoria de trabalho.

4 Funções em Ficheiros M Como exemplo duma M-File que define uma função, crie na sua directoria de trabalho um ficheiro chamado yplusx.m que contenha os seguintes comandos: function z = yplusx(y,x) z = y + x; Os seguintes comandos teclados no MATLAB demonstram este ficheiro M é usado x = 2; y = 3; z = yplusx(y,x)

5 Controlo de Fluxo Instruções ciclos e condicionais
As instruções para ciclos e if existem mas devem se evitadas por serem computacionalmente ineficientes. Um exemplo de uso da instrução for é for k=1:10, x(k) = cos(k); end Cria um vector de inteiros de inteiros positivos de 1 a 10. Esta operação pode ser criada com o comando k = 1:10; x = cos(k); Cria a função dum vector em vez do ciclo for

6 Instruções condicionais
Uma instrução if pode ser usada para definir instruções condicionais Um exemplo é if(a <= 2), b = 1; elseif(a >=4) b = 2; else b = 3; end As comparações permitidas são >=, <=, <, >, ==, e ~=.

7 Ciclos While (controlo de fluxo)
O ciclo While executa um conjunto de comandos um número determinado de vezes A forma geral do ciclo while é while expression commands… end Os comandos entre o while e o end são executados enquanto a expressão for verdadeira Exemplo >>num=0; EPS=1; >>while (1+EPS)>1 EPS=EPS/2; num=num+1; >>num num = 53. >>EPS=2*EPS EPS= e-16

8 Variáveis definidas pelo utilizador
Suponha por exemplo que deseja correr um ficheiro M com valores diferentes da variável T. A linha de comando seguinte no ficheiro M define o valor T = input('Introduza o valor de T: ') Sempre que o comentário entre plicas for mostrado no ecrã, o utilizador deve teclar o valor apropriado Use o help com os seguintes itens diary, save, load, who e whos.

9 Simulink Capacidade gráfica para diagramas de blocos
Pode introduzir e remover componentes (chamados blocos) Biblioteca extensiva de blocos Uma é o conjunto de blocos para DSP

10 Simullink Um ambiente para construção e simulação de modelos.
Sistemas contínuos, discretos e híbridos Componentes lineares e não lineares Pode simular eventos assíncronos Integrada de forma harmoniosa com o MATLAB e as caixas de ferramentas

11 Modelo Simulink Um modelo simulink típico contém fontes, sistemas e sumidouros Fontes Sistemas Sumidouros Ondas sinusoidais Geradores de funções From MATLAB workspace Ficheiros em disco Interligação de Blocos lineares e não lineares Displays scopes FFT scopes Para o MATLAB workspace Para ficheiros em disco

12 Um modelo Simulink simples

13 Biblioteca de Blocos Simulink
O Simullink contém bibliotecas que contêm componentes que podem ser usados para construir modelos Uma biblioteca de blocos pode conter outras bibliotecas como blocos Sinks é uma bibloteca de componentes

14 Construção dum modelo Janela do modloe Use o botão esquerdo do rato para arrastar blocos para a janela do modelo Biblioteca de blocos lineares Biblioteca de Fontes

15 Ligação de blocos Use o botão do lado esquerdo do rato para
Clicar numa porta e arrastar a lição Use o botão do lado Direito para fazer ligações

16 Mais sobre o Simulink Clique duas vezes num bloco para abrir a sua caixa de diálogo. Os parâmetros para o boloco podem ser estabelecidos nessa caixa. Exemplo: definir a amplitude, frequência, fase e frequência da fonte sinusoidal Clique no botão de HELP da caixa de diálogo dum bloco para activar o browser web no ficheiro de ajuda desse componente. Uma vez seleccionado, o bloco pode ser rodado e variado o seu tamanho Objectivo: o tornar o diagrama de blocos mais legível

17 Parâmetros de simulação
O menu de simulação pode ser usado para definir os parâmetros da simulação Pode-se especificar o solver adequado. Para sistemas discretos de passo fixo usar o solver discreto de passo fixo Para sistemas multi-taxa usar o solver discreto de passo variável Pode-se também especificar variáveis que podem ser obtidas ou devolvidas ao espaço de trabalho MATLAB

18 Subsistemas Pode seleccionar porções do modelo usando o rato e transformá-los em subsistemas Pode mascarar subsistemas para esconder a complxidade do utilizador .

19 Exemplos

20 Função Passo Unitário Função Passo Genérico %F1_7a Unit step function
t=-2:0.01:5; % make t a vector of 701 points q=size(t); f=zeros(q(1),q(2)); % set f = a vector of zeros q=size(t(201:701)); f(201:701)=ones(q(1),q(2));% set final 500 points of f to 1 plot(t,f),title('Fig.1.7a Unit step function'); axis([-2,5,-1,2]); % sets limits on axes xlabel('time, t'); ylabel(' u(t)'); grid; Função Passo Genérico

21 %F1_7b Signal g(t) multiplica f(101:501)=2. 5-cos(5
%F1_7b Signal g(t) multiplica f(101:501)=2.5-cos(5*t(101:501) por funções pulso ([u(t+1)-u(t-3)] %F1_7b Signal g(t) multiplied by a pulse functions t= -2:0.01:5; q=size(t); f=zeros(q(1),q(2)); f(101:501)=2.5-cos(5*t(101:501)); plot(t,f),title('Fig.1.7b Signal g(t) multiplied by a pulse functions'); axis([-2,5,-1,4]); xlabel('time, t'); ylabel(' g(t)[u(t+1)-u(t-3)]'); grid;

22 Sequências Sequência Rampa
Uma sequência rampa transladada com declive B é definida como: Sequência rampa unitária e sequências de rampa transladada Código MATLAB : n=-10:1:20; f=2*(n-10); stem(n,f);

23 Sequência Exponencial Real
Definida como: Exemplo para A = 10 e a = 0.9, a sequência aproxima-se de zero quando n tende para infinito e aproxima-se de mais infinito quando n tende para menos infinito MATLAB Code: n=-10:1:10; f =10*(.9).^n; stem(n,f); axis([ ]);

24 Sequência Sinusoidal Uma sequência sinusoidal pode ser descrita como :
Onde A é um número real positivo (amplitude), N é o período, e a a fase. Exemplo: A = 5, N = 16 e Código MATLAB : n=-20:1:20; f=5*[cos(n*pi/8+pi/4)]; stem(n,f);

25 Sequência sinusoidal modulada exponencialmente
Obtém-se multiplicando uma sequência exponencial por uma sequência sinusoidal. Pode ser descrita por : Exemplo: A = 10, N = 16, a = 0.9 Código MATLAB : n=-20:1:20; f=10*[0.9 .^n]; g=[cos(2*n*pi/16+pi/4)]; h=f .*g; stem(n,h); axis([ ]);


Carregar ppt "Introdução ao MatLab Aula 4"

Apresentações semelhantes


Anúncios Google