180 likes | 336 Views
Introdução ao MatLab Aula 4. Sistemas Multimédia 3º ano Engenharia Informática Universidade Católica de Angola. 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.
E N D
Introdução ao MatLabAula 4 Sistemas Multimédia 3º ano Engenharia Informática Universidade Católica de Angola
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.
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.
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)
Controlo de FluxoInstruçõ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
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 ~=.
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; end >>num num = 53. >>EPS=2*EPS EPS= 2.2204e-16
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.
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
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
Sumidouros Sistemas Fontes • Ondas sinusoidais • Geradores de funções • From MATLAB workspace • Ficheiros em disco • Displays scopes • FFT scopes • Para o MATLAB workspace • Para ficheiros em disco • Interligação de Blocos lineares e não lineares Modelo Simulink • Um modelo simulink típico contém fontes, sistemas e sumidouros
Sinks é uma bibloteca de componentes Biblioteca de Blocos Simulink • O Simullink contém bibliotecas que contêm componentes que podem ser usados para construir modelos • Uma bilioteca de blocos pode conter outras bibliotecas como blocos
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
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
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
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
Subsistemas • Pode seleccionar porções do modelo usando o rato e transformá-los em subsistemas • Pode mascarar subsistemas para esconder a complxidade do utilizador • .