Giter VIP home page Giter VIP logo

maslab's Introduction

Bem vindo ao MASLAB!

MASLAB é um software de simulação desenvolvido para a disciplina de Modelagem e Análise de Sistemas Lineares da Universidade Federal de Ouro Preto. MASLAB foi desenvolvido com a premissa de simular o comportamento físico de sistemas de tanques contendo líquidos, permitindo modelar e observar seu comportamento ao longo do tempo.

Tela inicial do MASLAB

A interface gráfica do software permite ao usuário desenhar de forma simples um conjunto de tanques a serem simulados. Note que não há um limite máximo de tanques, sendo assim, o limite é definido pelo poder computacional da máquina em que o software é executado.

Cada um dos tanques possui 2 entradas e uma única saída, sendo que cada uma destes acessos pode ser acessado e configurado individualmente para cada tanque. Para isso, o software utiliza a linguagem de programação C#, onde o utilizador poderá inserir um código customizado para controlar cada tanque do modo que preferir. Código de simulação do tanque

O editor de código escrito para o software é baseado no componente AvalonEdit, um dos principais editores de código disponíveis para o dotnet. O editor conta com uma integração avançada à plataforma Roslyn do dotnet, escrita especificamente para este software, permitindo recursos avançados como análise sintática e semântica, auto sugerir, trechos de código automáticos, compilação em tempo de execução, etc.

MASLAB inclui nativamente o suporte para as bibliotecas do Math.net, permitindo que o usuário possa utilizar funções de computação numérica e simbólica sem grandes complicações.

Plotando Gráficos

MASLAB inclui alguns métodos embutidos no código de simulação de cada tanque. Uma destas funções, Plot, permite desenhar gráficos durante a execução da simulação. Plot possui a seguinte sintaxe:

Plot("Nome_da_série", TimeSpan instante, double valor);

"Nome_da_serie" define o conjunto que irá receber os pontos da plotagem. Se uma série inexistente for inserida, automaticamente ela será criada.

instante é uma variável do tipo TimeSpan. Essa variável é fornecida através do parâmetro tempo do método OnUpdate da simulação. Embora seja aconselhável passar o parâmetro tempo diretamente para o método Plot, por algum motivo especial, pode ser necessário utilizar valores customizados. Neste caso, você pode criar quantos objetos do tipo TimeSpan forem necessários. Por exemplo:

TimeSpan ts = TimeSpan.FromSeconds(5);
Plot("Minha Serie", ts, 1.873);

valor é exatamente isso, o valor a ser plotado. O valor é uma variável do tipo double. Note que em C# o sinal de separação de casas decimais para o tipo double é o ponto final (.). enter image description here

Plataformas Suportadas

MASLAB está diponível para o Windows, Linux e macOS.

Instalação

link link

link link

link

Basta fazer o download da versão adequada ao seu sistema operacional e executar, ou descompactar o arquivo para uma pasta, caso opte pela versão zip.

Executando o software

Windows: Caso opte pelo download do arquivo zip, para executar o software no ambiente Windows, basta abrir a pasta em que o software foi descompactado e executar o arquivo MASLAB.exe. Do contrário, ao executar o instalador, atalhos para o software serão criados no menu iniciar e na área de trabalho.

MacOS: Após a instalação usando o instalador, o aplicativo ficará disponível juntamente aos demais apps. Caso opte pelo download do arquivo zip, execute o arquivo MASLAB para abrir o aplicativo.

Linux: Após descompactar o software para alguma pasta do computador, execute o o arquivo MASLAB. Pode ser necessário conceder alguma permissão ao software.

Sobre o software

Desenvolvido por Ítalo A. Aguiar Sob orientação de Rodrigo Augusto Ricco.

Instituto de Ciências Exatas e Aplicadas - ICEA

Universidade Federal de Ouro Preto - UFOP

maslab's People

Contributors

italoaguiar avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.