
Índice
Segue-se sugestões para utilização mais prática e eficaz do MATLAB na aulas de Controle Automático.
O objetivo principal aqui é criar um arquivo texto fácil de ser editado e fácil de ser exportado para página html incluíndo figuras, gráficos do MATLAB e comandos usados no MATLAB) para resumir as aulas e conteúdo sendo explorado na disciplina de Controle Automático). Uma opção para gerar este tipo de documento seria usar processadores de texto usuais como o Office Word por exemplo. Mas existe umna forma mais prática e ráapida.
O MATLAB permite criar um "diário" (arquivo texto) refletindo os comandos e resultados obtidos na janela de comandos (CLI = Comand Line Interface) do mesmo.
E o MATLAB através dos comandos save <file> (e contra-parte: load <file>) permite salvar todas as variárias (com valores) gerados em determinada seção de trabalho no mesmo.
Conciliar os comandos diary, save e load do MATLAB podem permitir agilizar a operação das aulas de controle automático e facilitar bastante o seu registro (para posterior revisão/estudo).
Antes de criar um arquivo texto "diário" e considerando-se que seja interessante de alguma forma incorporar neste "diário" os resultados gráficos obtidos, recomenda-se fortemente que, antes de executar os próximos comandos, que o usuário, chaveie o MATLAB para o diretório no qual pretende concentrar o aquivo "diário" à ser criado e os arquivos gráficos (figuras) -- preferencialmente num diretório diferente do padrão usado pelo MATLAB que é ~/Documentos/MATLAB.
Para forçar o MATLAB para determinando diretório você pode na CLI usar o comando cd para forçar o MATLAB até o diretório correto ou simplesmente usar a barra superior da CLI do MATLAB e ajustar o diretório de trabalho para outro que não seja ~/Documentos/MATLAB (o padrão adotado pelo Matlab):

Por exemplo, neste caso, se está concentrando os arquivos gerados nesta seção de trabalho no diretório ~/Documents/UPF/Controle_II/6_Usando_RL_Projetos. O local atual do diretório sendo usado pelo MATLAB pode ser confirmada usando comando pwd:
>> pwd
ans =
'/Users/fernandopassold/Documents/UPF/Controle_II/6_Usando_RL_Projetos'
>>Eventualmente, você pode criar uma nova pasta de dentro do Matlab (sem ter que recorrer ao Explorer), usando o comando mkdir (make directory), o mesmo usado em sistemas Linux. No exemplo abaixo, estamos criando a pasta "/2020_2" a partir do diretório anterior "/6_Usando_RL_Projetos", para tando foi feito:
>> mkdir 2020_2 % cria a pasta "2020_2" à partir do diretório atual
>> cd 2020_2 % chaveira para este diretório
>> pwd % verificando diretório atual de trabalho:
ans =
'/Volumes/Data/Users/fernandopassold/Documents/UPF/Controle_2/6_Projetos_via_RL/2020_2'
>> format compact % comando para compactar mensagens de texto geradas pelo Matlab
>> format short % comando para usar menos dígitos para informações numéricasUma vez decidido em que diretório serão concetrados os arquivos gerados na atual seção de trabalho, o arquivo "diário" pode ser criado simplesmente usando o comando "diary
>> diary aula_12_09_2019.txt % daqui por diante um arquivo texto de nome "aula_12_09_2019.txt" está sendo criadoNo caso anterior, os próximos comandos seguintes ao diary serão todos gravados no arquivo texto aula_12_09_2019.txt. É gerado algo similar a um arquivo de "log". Este arquivo pode ser editado por qualquer editor de textos comum como o Notepad (no Windows) ou TextEditor (no Mac) ou nano (na CLI de um sistema Linux).
Sugere-se o uso de editores de texto mais poderosos como o Sublime Text (multiplataforma) ou adotar diretamente algum editor de textos compatível com Markdown:
http://pad.haroopress.com (disponível para Windows, Linux, Mac)

https://typora.io (também disponível para Windows, Linux, Mac)

Se quiser saber mais sobre markdown ☞ O que é Markdown, Página Wikipedia sobre Markdown.
Note que todos os próximos comandos passados ao MATLAB serão automaticando repassados para o arquivo texto <arquivo.txt>, com excessão das figuras (gráficos criados no MATLAB).
Para "acrescentar" ao arquivo diary as figuras dos gráficos gerados numa seção de trabalho no MATLAB a idéia é fazer uso da linguagem Markdown. Nesta linguagem, figuras podem ser incluídas num arquivo no formato final .html ou .pdf se no arquivo .md (ou arquivo texto compatível com Markdown) forem incorporados os comandos:
No caso acima, a figura à ser acrescentada no arquivo é obtida diretamente via internet (neste caso, uma conexão online é necessária para que posteriormente a imagem seja visualizada).
No nosso caso, a idéia é usar figuras criadas locamente (no seu próprio computador). Então o comando anterior se modifica ligeiramente para:
onde: arquivo_imagem pode ser um arquivo do tipo: .jpg, .gif (animado até), .png (preferir este tipo de arquivo).
Recomenda-se png que resulta normalmetne arquivos menores (compactos), com boa resolução (se for possível especificar resolução, recomenda-se adotar 150 dpi).
Por exemplo, em determinado instante de uso do MATLAB podemos querer incluir no arquigo diário sendo criado, a figura (gráfico) do resultado gráfico da resposta ao degrau aplicado à determinada função transferência de malha-fechada.
Neste caso, na janela de gráfico (Figure <No>) do MATLAB você deve selecionar:
File >> Save, para gerar o arquivo com a figura desejada.
O MATLAB permite gravar vários formatos de imagens:

Repare na figura anterior, no diretório onde estarão sendo gravadas as imagens/figuras (o mesmo para o qual chaveamos o Matlab no início deste texto).
Recomenda-se que uma vez que a figura tenha sido salva, que no MATLAB (na janela de comandos enquanto se está trabalhando) se acrescente uma linha como:
>> % Resposta ao degrau de diferentes controladores:
>> % A sequencia de comandos acima será repassada para o arquivo texto (diary) sendo criado. Note que para o Matlab são apenas comentários (para não implicar erros no Matlab), mas quando o arquivo diary criado for aberto num editor compatível com markdown, o caracter "%" é ignorado (é impresso, mas não gera erro e pode removido do arquivo markdown) e ao lado de "%" já surge a figura (como no caso do Typora mostrado abaixo):

Obs.: a opção anterior, inclui as figuras, mas não permite escalonar as figuras.
Se for desejado escalonar as figuras usar outro comando (ou pouco mais complicado de lembrar):
<img src="exemplo_inserindo_figura.png" alt="exemplo_inserindo_figura.png" style="zoom:50%;" />ao invés de usar:
O editor Typora permite usar a opção com escalonamento depois que foi realizada a seleção do arquivo da figura deseja. Basta depois do momento de selecionar o arquivo, clicar no botão direito do mouse para abrir propriedades, o que faz surgir uma caixa de diálogo flutuante com algumas opções de escalonamento. O próprio Typora passa do formato originalmente previsto para markdown para o formato HTML (acima). Por exemplo:
Ao final de uma seção de trabalho no MATLAB, recomenda-se salvar num arquivo .mat as variáveis criadas/usadas na atual seção de trabalho (variáveis do workspace) através do comando save, por exemplo:
>> save plantaNote que neste caso, não é necessário se fornecer a extensão para o arquivo sendo criado. O próprio MATLAB assume que será criado o arquivo planta.mat para o caso do exemplo anterior.
Recomenda-se também que o usuário "feche" o arquivo texto do diário, fazendo:
>> diary offEste comando efetivamente fecha o arquivo texto iniciado anteriormente.
Atenção: No Windows, somente depois do diary off é que o arquivo texto criado ficará disponível no Explorer. Se o usuário esquecer de fornecer o comando diary off em máquina Windows, corre-se o risco de danificar o arquivo caso a máquina entre em hibernação, o usuário saia do MATLAB ou simplemente desligue o Windows.
Se não houve nenhum erro até aqui, deve constar no diretório atual de trabalho, o arquivo texto referente ao diary recém fechado e mais as figuras salvas enquanto se estava trabalhando no MATLAB.
Exemplo de conteúdo de um arquivo .txt criado no MATLAB via diary:
format compact
format short
pwd
ans =
'/Users/fernandopassold/Documents/UPF/Controle_II/6_Usando_RL_Projetos'
G=tf(1,poly([-1 -2 -10])) % ingressando dados da planta
G =
1
------------------------
s^3 + 13 s^2 + 32 s + 20
Continuous-time transfer function.
zpk(G)
ans =
1
------------------
(s+10) (s+2) (s+1)
Continuous-time zero/pole/gain model.
save planta
OS=10;
zeta = (-log(OS/100))/(sqrt(pi^2 + (log(OS/100)^2)))
zeta =
0.5912
save planta
% grafico salvo como: step_integrador_puro.jpg
% 
diary offNote que o "prompt" (>>) do MATLAB não é repassado para o arquivo texto.
Como o arquivo texto criado não passa de um simples arquivo texto, sem figuras, recomenda-se passá-lo para o formato Markdown.
No Explorer (ou outro navegador de arquivos presente no seu sistema), renomeie o arquivo .txt recém criado para .md.
Este arquivo .md pode ser editado em qualquer editor de textos simples ou outro compatível com Markdown.
Edite o arquivo .md e retire os comentários (%) presentes no arquivo texto. Principalmente em linhas como:
% grafico salvo como: step_integrador_puro.jpg
% As linhas acima devem ficar algo como:
Grafico à seguir mostra resultado da entrada degrau aplicada ao controlador
Uma vez editado o arquivo .md, se o usuário estiver usando um editor de textos compatível com Markdown, pode então exigir que seja vizualizado um "Preview" mostrando o resultado da interpretação dos comandos Markdown contidos no arquivo texto.
A figura à seguir mostra o editor Haroopad (free e multiplataforma) usado para editar/interpretar arquivos texto compatíveis com Markdown. Este editor além de interpretar comandos Markdowns, interpreta equações incorporadas no arquivo texto (.md) usando formato LaTeX. Veja exemplos nas próximas figuras (se editor além de compatível com Markdown, estiver preparado para lidar com MathJax (rendering support library):
Abaixo seguem figuras de edição usando editor Haroopad:


É simples engressar uma equação no formato compatível Markdown, basta introduzir a equação num formato compatível com LaTeX entre os caracteres $$.
Por exemplo
Exemplo_1:
$$ C(s)=\dfrac{1}{(s+1)(s+2)(s+10)}$$produz: \[ C(s)=\dfrac{1}{(s+1)(s+2)(s+10)}\]
Exemplo_2:
$$ \zeta = \dfrac{ -\log(OS/100) }{\sqrt{pi^2 + \log(OS/100)^2} }$$gera: \[ \zeta = \dfrac{ -\log(OS/100) }{\sqrt{pi^2 + \log(OS/100)^2} }\]
Exemlo_3:
$$ \omega_n = \sigma / \zeta $$gera: \[ \omega_n = \sigma / \zeta \]
Note que as equações ou expressões matemáticas podem ser introduzidas no meio do texto:
Exemplo_4:
Lembrando que $\%OS<10\%$ (O que resulta no $\zeta=0,5912 $).gera:
Lembrando que \(\%OS<10\%\) (O que resulta no \(\zeta=0,5912 \)).
MATLABLinhas de comando do MATLAB podem ser destacadas do texto, colocando as linhas de comandos entre 3 caracteres de crases, por exemplo:

O que gera:
Entrando com a equação do controlador:
\[C(s)=\frac{(s+0,1)}{(s+0,9)}\]
no MATLAB fazemos:
>> C=tf([1 0.1],[1 0.9])
>> % continuam trabalhos no Matlab...Durante a criação do diary ou durante a edição do arquivo Markdown uma forma de controlar o tamanho das figuras é incoporar diretamente código html no arquivo .md. Por exemplo:
<img src="figura.png" alt="figura" width="500"/>ou (mais explicitamente):
<img src="figura.png" width="200" height="200" />ou ainda por:
<img src="figura.png" alt="exemplo_inserindo_figura" style="zoom:50%;" />mas normalmente apenas o atributo width ou zoom já permite escalonar a figura de forma conveniente. Note que o atributo alt é opcional (não necessário).
- Writing Mathematic Fomulars in Markdown:

Editor online de equações no formato LaTeX: CodeCogs:

Introdução à expressões matemáticas formato LaTeX do Overleaf:

Outra idéia (tendência): instalar "Jupyter notebook"
Para trabalhar com o MATLAB \(\rightarrow\) Install Jupyter-MATLAB,
Mas esta opção está disponível para usuários mais avançados, com conhecimento de linha de comandos no Linux ou Mac (ou o novo shell linux presente nas últimas versões do Windows). A página anterior funciona no Mac/Linux/Windows rodando MATLAB R2017a. Exige instalação do Anaconda e Python > 3.5.
O resultado final seria algo próximo de:

Documento atualizado em 13/09/2019 e 05/10/2020 (c) Fernando Passold