Um projeto Campus Livre · licença MIT

MatLivre

Uma alternativa livre, gratuita e mais rápida.

Uma alternativa livre e gratuita ao MATLAB e ao GNU Octave: um editor e executor rápido de live scripts para código MATLAB. Abra, edite e execute live scripts .mlx e arquivos .m com resultados, tabelas e figuras na própria página, num aplicativo nativo para Windows. O motor da linguagem é uma implementação independente, escrita em Rust do zero: sem instalar o MATLAB, sem licença, sem Java.

Livre não significa mais lento. Nos nossos benchmarks o MatLivre iguala ou supera o MATLAB R2023b: mais rápido em 11 de 12 testes de linguagem, a até 1,2× no outro, e cerca de 43× mais rápido em live scripts.

Código aberto, licença MIT. O código está no GitHub para qualquer pessoa ler, usar e melhorar. Issues e pull requests são bem-vindos.

Windows 10 e 11 (instalador ou ZIP portátil) e Linux (AppImage). Gratuito, sem conta. O Windows é a plataforma principal. Aviso do Windows? Instalar no Linux

The MatLivre window: a live script with code and printed results, an inline sine and cosine plot, and the workspace panel listing twelve variables.
0.3 spara o app abrir e ficar pronto (1 s na primeira execução)
43×mais rápido que o Live Editor do MATLAB num notebook típico com quatro figuras
5.5×mais rápido que o MATLAB R2023b nos benchmarks de linguagem (média geométrica), 83× mais que o Octave e 83× mais que o Scilab
1,837funções do MATLAB e do Symbolic Math Toolbox implementadas
36 MBum único executável, que depende apenas de DLLs que já vêm no Windows
Por que o MatLivre existe

Décadas de código científico não deveriam depender de um servidor de licenças.

Uma quantidade enorme de material didático, código de teses e ferramentas de laboratório está escrita na linguagem do MATLAB. Executá-la normalmente exige uma licença paga, atrelada a um fornecedor em outro país que pode reajustar, restringir ou retirar o acesso.

O MatLivre permite que esse trabalho continue funcionando: no notebook de um estudante, numa escola sem orçamento, num laboratório que acabou de perder suas licenças. Ele lê os mesmos arquivos, mostra a mesma saída e não custa nada.

Desempenho

Igual ou melhor que a alternativa comercial.

Medido numa única máquina (Intel Core i5-10600K, 24 GB de RAM, Windows 11 Pro) contra o MATLAB R2023b, o GNU Octave 11.3.0 e o Scilab 2025.0.0, executados um após o outro, nunca ao mesmo tempo.

Executando um live script

Motor Primeira execução Execução seguinte
MatLivre0.14 s0.11 s
MATLAB Live Editor14.30 s4.91 s
MATLAB, mesmo código como .m1.17 s0.37 s
GNU Octavenão executa live scripts

Um notebook com oito seções (álgebra matricial, um laço, estatística, uma tabela, processamento de texto) e quatro figuras. O MatLivre ainda não grava as saídas de volta no arquivo. O script do benchmark está no repositório.

Executando código (os 12 casos, em milissegundos, menor é melhor; verde é o mais rápido)

Caso MATLABOctaveScilabMatLivre vs MATLAB vs Octave vs Scilab
scalar_loop (2M iterations)4.572,267.821,662.672.691.7×844×619×
while_branch (Collatz, 2.9M steps)79.6211,231.6970,510.3814.305.6×785×4,929×
fib_recursive (fib 20)0.96123.4270.680.0615.8×2,023×1,159×
array_growth (100k appends)6.83377.48211.681.185.8×319×179×
indexed_assign (1M writes)2.931,996.90879.512.361.2×847×373×
vector_math (2M elements)107.4092.81180.5910.6510.1×8.7×17.0×
matmul_3000.680.550.190.332.1×1.7×1,8× mais lento
linsolve_3000.531.540.480.591,1× mais lento2.6×1,2× mais lento
sort_1e659.0914.82185.386.978.5×2.1×26.6×
string_build (20k appends)207.04249.86491.8035.305.9×7.1×13.9×
struct_fields (500k updates)144.114,309.091,841.380.65223×6,660×2,846×
cell_ops (100k writes + reads)21.54561.40349.366.703.2×83.8×52.1×

Nos 12 casos, a média geométrica é 5,5× mais rápida que o MATLAB, 83× mais rápida que o Octave e 83× mais rápida que o Scilab, com checksums idênticos nos quatro. O MatLivre é mais rápido que o MATLAB em 11 de 12 casos (mais lento em linsolve_300), mais rápido que o Octave nos 12 e mais rápido que o Scilab em 10 (mais lento em matmul_300 e linsolve_300). O Scilab roda uma adaptação do script, na sintaxe dele. Casos abaixo de 1 ms variam dezenas de por cento entre execuções, e o conjunto é pequeno e favorece a compilação nativa de laços. Medido em 07/11/2026. As colunas de razão são calculadas a partir da tabela. Os resultados completos estão em benchmarks/RESULTS.md.

Tempo de abertura

ProgramaPrimeira aberturaAbertura seguinte
MatLivre app (janela pronta)0.97 s0.31 s
MatLivre CLI0.03 s0.07 s
GNU Octave CLI2.56 s0.35 s
MATLAB desktopn/d3.90 s
MATLAB -batch24.30 s6.84 s

Tempo até o programa executar uma linha de código, ou até você poder trabalhar nele. A primeira abertura do MATLAB foi uma partida realmente a frio. A interface gráfica do Octave não aparece: a primeira abertura para num assistente de configuração.

Lado a lado, e vs Octave

MatLivre, MATLAB, Octave e Scilab.

O GNU Octave é uma alternativa livre consolidada e o MATLAB é a referência. Cada um tem pontos fortes, então aqui vai uma comparação honesta.

MatLivreMATLABOctaveScilab
PreçoGratuitoLicença pagaGratuitoGratuito
LicençaMITProprietáriaGPLCeCILL v2.1
Código-fonteAbertoFechadoAbertoAberto
Exige servidor de licenças ou instalar o MATLABNãoSimNãoNão
Live scripts (.mlx) com resultados na páginaSimSimNãoNão
Executa scripts .mSimSimSimNão (linguagem própria, com conversor)
Velocidade nos benchmarks de linguagemMais rápido em 10 de 12 casosReferênciaMais lento que o MatLivre nos 12Mais lento que o MatLivre em 10 de 12
Abertura (a quente)0.31 s3.90 s0.35 s–
Compatibilidade com o MATLABSegue semântica, exibição e erros do R2023bReferênciaEm grande parte compatível, com diferenças conhecidasSintaxe parecida, mas não substitui direto
Toolboxes e SimulinkApenas Symbolic MathExtensivosPacotes do Octave ForgeXcos e módulos ATOMS
PlataformasWindows, Linux (AppImage)Windows, macOS, LinuxWindows, macOS, LinuxWindows, macOS, Linux

Escolha o MATLAB se precisar do Simulink ou de toolboxes que o MatLivre não cobre. Escolha o Octave se precisar de macOS, ou da opção mais madura no Linux. Escolha o MatLivre se quiser um ambiente de live scripts livre, aberto e rápido no Windows ou no Linux para o código MATLAB que você já tem. O Scilab também é livre e de código aberto (licença CeCILL, mantido pela Dassault Systèmes) e é uma boa escolha para o Xcos e seu próprio ecossistema, mas usa linguagem própria, não a do MATLAB. Os detalhes do Octave e do Scilab vêm da documentação pública e dos benchmarks acima; consulte cada projeto para a informação mais recente.

Por que escolher o MatLivre em vez do Octave.

O Octave é uma alternativa livre respeitada ao MATLAB e devemos muito a ele. Se você quer uma que também execute live scripts, seja mais rápida e tenha cara de notebook moderno, é aqui que o MatLivre é melhor:

O Octave não abre live scripts. O MatLivre abre.

O Octave não tem suporte a arquivos .mlx nem um editor interativo com saída na página. O MatLivre abre, edita e executa esses arquivos, com resultados, tabelas e figuras ao lado do código. E seus arquivos .m continuam funcionando.

Mais rápido, em todos os benchmarks que rodamos.

O MatLivre foi mais rápido que o Octave nos 12 benchmarks de linguagem, 83× mais rápido na média geométrica, com resultados idênticos. Laços, recursão, crescimento de arrays e atualização de structs são compilados para código de máquina em vez de interpretados.

Um notebook, não uma janela de comandos.

No Octave, as seções %% imprimem na janela de comandos e as figuras abrem em janelas separadas. No MatLivre, cada seção executa sozinha, com controles interativos (sliders, listas, caixas de seleção), navegador de variáveis e figuras na página.

Pronto num instante, até na primeira vez.

O app fica pronto em 0,97 s na primeira abertura (0,31 s depois). A linha de comando do Octave leva 2,56 s na primeira abertura, e a interface gráfica parou num assistente de configuração quando a abrimos pela primeira vez.

Feito para igualar a saída do MATLAB.

Formato de exibição, mensagens de erro e semântica são conferidos contra o MATLAB R2023b, em 1.837 funções, incluindo o Symbolic Math Toolbox, classdef e table. O objetivo é que o código escrito para MATLAB dê a mesma saída, e não apenas uma saída parecida.

Onde o Octave ainda é a melhor escolha: ele roda também em macOS, tem décadas de maturidade e um grande ecossistema de pacotes (Octave Forge). O MatLivre é jovem: o Windows é a plataforma principal, o Linux é mais novo e menos testado, e ainda não há versão para macOS. Benchmarks e métodos estão no repositório.

O aplicativo

Um notebook com cara de ferramenta nativa.

MatLivre showing several figures drawn inline next to the code that produces them.
As figuras aparecem ao lado do código que as gera, com uma mira que lê valores diretamente no gráfico.
  • Live scripts. Texto formatado, código e resultados na página ou à direita. Execute uma seção, execute e avance, ou execute tudo, e pare entre instruções.
  • Controles interativos. Sliders, listas, caixas de seleção e campos de edição em arquivos .mlx.
  • Gráficos. 2D e 3D, superfícies com iluminação, contornos, imagens, mapas de calor, boxplots e gráficos de bolhas, dois eixos y, layouts em blocos. Exportação para PNG e SVG.
  • Ambiente de trabalho. Painel de arquivos, navegador de variáveis, janela de comandos, abas arrastáveis, temas claro e escuro.
  • Nunca trava. O código roda em sua própria thread; arquivos alterados por outro programa são recarregados, e edições não salvas nunca são sobrescritas.

Um assistente de IA opcional, nas suas condições

Se você já tem o Claude Code instalado, o MatLivre pode oferecer um painel de chat, sugestões de código e um servidor MCP que funcionam por meio dele. É opcional: o editor e o motor da linguagem nunca dependem disso, não há chave de API, e dá para desativar pelo menu do app.

A linguagem

Compatibilidade com o MATLAB é a regra.

Semântica, formato de exibição e mensagens de erro seguem o MATLAB R2023b, e a suíte de testes compara a saída do MatLivre com a do MATLAB para cada família de funções.

Linguagem

Arrays N-D de todos os tipos numéricos, strings, números complexos, células e structs, classdef com herança, eventos e enumerações, table, timetable, datetime, containers.Map.

Matemática

Álgebra linear, resolvedores de EDO e EDP, otimização, estatística, FFT e filtragem, matrizes esparsas e solvers iterativos, grafos e redes, geometria computacional.

Matemática simbólica

Aritmética exata, diff, int, limit, taylor, solve, transformadas de Laplace, simplify, funções especiais, polinômios ortogonais e unidades simbólicas.

Navegue e pesquise todas as funções que o MatLivre cobre. O estado de cada função das referências do MATLAB e do Symbolic Math Toolbox está na lista de cobertura.

Clean-room

Construído a partir do comportamento, não do código-fonte.

O MatLivre foi escrito apenas a partir do comportamento observado. O formato de live script está documentado numa especificação pública, produzida ao inspecionar arquivos de dados .mlx e o comportamento público do Live Editor. O comportamento da linguagem é verificado executando código e comparando saídas. Nenhum código-fonte da MathWorks foi lido ou copiado.

MATLAB é marca registrada da The MathWorks, Inc. O MatLivre é um projeto independente e não é afiliado nem endossado pela The MathWorks.

Limites, com franqueza

O que ainda não faz.

O MatLivre é jovem (versão 0.1.x). Ainda não executa todo programa MATLAB, e preferimos dizer isso a deixar você descobrir às vésperas de um prazo.

  • O Windows é a plataforma principal. O Linux (AppImage) foi testado apenas no Ubuntu 24.04, e ainda não há versão para macOS.
  • Saídas salvas em arquivos .mlx não são restauradas ao abrir nem gravadas de volta; execute o script para regerá-las.
  • Texto rico em live scripts (negrito, itálico, links, equações, imagens) é exibido como texto simples.
  • Algumas funções ainda faltam, entre elas dsolve e geração simbólica de código. Toolboxes além do Symbolic Math não são cobertos.
  • Alguns fluxos de números aleatórios, layouts de gráficos e detalhes de dithering diferem dos do MATLAB.

A lista completa e atual está em Known limits, no README.

Contribua

Ajude a deixá-lo mais rápido e mais compatível.

O MatLivre é de código aberto e construído em público. Você não precisa ser especialista em Rust ou em computação numérica para ajudar: um bom relato de bug é uma contribuição. Issues e pull requests são bem-vindos, e cada correção melhora o software científico livre para todos.

Deixe mais rápido

Desempenho é um recurso. Faça o profiling dos benchmarks, ache um caminho lento e acelere: geração de código nativo, álgebra linear multithread, evitar cópias. Os casos em que outros ainda ganham (linsolve_300 contra MATLAB e Scilab, matmul_300 contra o Scilab) são um bom ponto de partida.

Benchmarks →

Feche lacunas de compatibilidade

Escolha na lista de cobertura uma função ainda não implementada, implemente e teste contra a saída gravada do MATLAB R2023b. Corrigir uma diferença de formato de exibição ou de mensagem de erro também conta.

Lista de cobertura →

Quebre com código de verdade

Execute os scripts e live scripts da sua disciplina, tese ou laboratório. Quando algo falhar, diferir do MATLAB ou ficar lento, abra uma issue com o menor exemplo possível. É a contribuição mais valiosa que existe.

Abrir uma issue →

Leve para mais plataformas

O Windows é a plataforma principal. Testar em mais distribuições Linux e portar para macOS abriria o MatLivre para muito mais estudantes e laboratórios.

Discutir um port →

Melhore o app e a documentação

Live scripts com texto rico, equações e saídas salvas, gráficos melhores, acessibilidade, traduções, exemplos e tutoriais: há muito a construir no app e ao redor dele.

Limitações conhecidas →

Pronto para começar?

Faça um fork do repositório, faça sua alteração e abra um pull request. A revisão acontece em público.

Duas regras que protegem o projeto

  • Apenas clean-room. Aprenda o comportamento do MATLAB pela documentação e executando código. Nunca leia nem copie código-fonte da MathWorks, incluindo os arquivos .m de uma instalação do MATLAB.
  • Compatibilidade exige evidência. Funções novas vêm com testes cuja saída esperada foi gravada do MATLAB R2023b. Veja as notas para contribuidores para o fluxo de trabalho.
Obtenha

Baixe, ou compile você mesmo.

Baixe o instalador ou o ZIP portátil do Windows, ou o AppImage do Linux, na versão mais recente. Ou compile a partir do código-fonte com uma toolchain Rust recente; no Windows o resultado roda em qualquer Windows 10 ou 11 sem instalar mais nada.

git clone https://github.com/campuslivre/matlivre
cd matlivre
cargo run -p livre-app --release

# run a script headless
matlivre-cli script.m

Instalando no Linux

No Linux, o MatLivre vem em um único AppImage: um arquivo que roda sem instalar nada no sistema e sem root. Foi testado no Ubuntu 24.04 (GNOME, Wayland); outras distribuições podem funcionar, mas ainda não foram testadas. Se algo falhar, conte para nós qual distribuição você usa.

1. Pelo terminal

mkdir -p ~/.local/bin
curl -L -o ~/.local/bin/matlivre https://github.com/campuslivre/matlivre/releases/latest/download/matlivre.AppImage
chmod +x ~/.local/bin/matlivre
matlivre

O arquivo fica em ~/.local/bin, que a maioria das distribuições já tem no PATH (saia e entre na sessão uma vez se o comando matlivre não for encontrado). Repetir a mesma linha curl depois substitui o arquivo pela versão mais nova.

2. Pelo gerenciador de arquivos

  1. Baixe o matlivre.AppImage com o botão Instalar acima.
  2. Clique com o botão direito no arquivo, abra Propriedades e, em Permissões, permita executar o arquivo como programa.
  3. Dê um duplo clique.

Se não iniciar e a mensagem citar FUSE, instale o pacote libfuse2 da sua distribuição (libfuse2t64 no Ubuntu recente), ou execute matlivre --appimage-extract-and-run. Os nomes dos menus variam entre ambientes de desktop. Prefere compilar? Use os comandos acima; no Ubuntu ou Debian a compilação precisa de build-essential pkg-config libgtk-3-dev libxkbcommon-dev libwayland-dev.

O Windows mostrou “O Windows protegeu o computador”? Isso é esperado.

O MatLivre é um projeto jovem e independente, e o instalador ainda não tem assinatura digital. Certificados de assinatura de código custam dinheiro todo ano, e o Microsoft SmartScreen avisa sobre qualquer programa sem assinatura ou ainda pouco baixado. O aviso é sobre reputação, não sobre algum problema encontrado no arquivo. Você pode ler todo o código-fonte, ou compilar você mesmo.

1. Windows SmartScreen

  1. Abra o instalador baixado.
  2. Na janela azul “O Windows protegeu o computador”, clique em Mais informações.
  3. Clique em Executar assim mesmo.

2. Aviso de download do navegador

  1. Edge: na lista de downloads, abra o menu … ao lado do arquivo, escolha Manter, depois Mostrar mais e Manter mesmo assim.
  2. Chrome: abra a lista de downloads e clique em Manter ao lado do arquivo (ou na seta, depois Manter mesmo assim).
  3. Firefox: no painel de downloads, escolha Permitir download se ele perguntar.

Os nomes dos menus variam um pouco entre versões e idiomas do Windows e dos navegadores. Execute apenas arquivos baixados deste site ou da página de versões no GitHub. Prefere não confiar em um binário? Compile do código-fonte com os comandos acima.

Sobre a iniciativa

Campus Livre

O MatLivre é o primeiro projeto da Campus Livre, uma iniciativa que desenvolve software livre e de código aberto para o trabalho acadêmico e científico, feito no Brasil. Acreditamos que software de conhecimento não deve ficar atrás de paywalls, porque isso atrasa o progresso do conhecimento e da tecnologia, e que nenhum país deve depender de um produto comercial que um fornecedor ou governo estrangeiro possa cortar.

Nossos projetos são gratuitos, rodam na sua máquina, leem e gravam os formatos que você já tem, são construídos sem copiar o código de ninguém e são honestos sobre o que ainda não fazem.