Communitygithub.com

matlab

Erstellen, überprüfen, migrieren und sicher planen von numerischen Arbeitsabläufen mit MATLAB oder GNU Octave, einschließlich Arrays, Tabellen/Zeitdaten, Tests, Projekten, Grafiken, MAT-Dateien und expliziter Python-Interoperabilität.

Was ist matlab?

Diese Fähigkeit (Skill) unterstützt Entwickler und Forscher beim Entwerfen, Überprüfen und Migrieren von numerischem Code mit MATLAB R2026a oder GNU Octave 11.3.0. Sie betont klare Sicherheitsgrenzen: Niemals nicht vertrauenswürdige .m-, MLX-, MEX-, MAT-Dateien oder generierte Artefakte ausführen. Stattdessen wird statische Analyse durch lokale Hilfsskripte (Python-basiert) zur Bestandsaufnahme von Code, MAT-Dateien und Projektmanifesten durchgeführt, ohne die Laufzeitumgebung tatsächlich zu starten. Der Skill behandelt ausführlich die Lizenzprüfung (MATLAB ist proprietär, Octave ist GPLv3), Datenstrukturen (Arrays, Tabellen, Timetables), numerische Genauigkeit, die Integration mit Python (Engine, Compiler SDK) sowie Best Practices für Tests, Projekte und Grafikexport. Alle Hilfsskripte sind netzwerkfrei, ausführungsfrei und erfordern Python 3.11+. Der Skill dient als umfassender Leitfaden für die sichere und reproduzierbare Arbeit mit MATLAB/Octave in KI-gestützten Entwicklungsumgebungen wie Claude Code, Cursor oder Codex.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/K-Dense-AI/scientific-agent-skills/tree/main/skills/matlab

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

MATLAB und GNU Octave

Verwenden Sie diesen Skill, um numerischen Code zu entwerfen oder zu überprüfen, MATLAB-Versionen zu migrieren, reproduzierbare Projekte vorzubereiten und vertrauenswürdige Ausführungen zu planen. MATLAB und GNU Octave sind unterschiedliche Produkte: Die Kompatibilität ist teilweise, keine Garantie für Lizenz oder Verhalten.

Produkt- und Lizenzprüfung

  • MATLAB R2026a ist proprietär. Gehen Sie nicht davon aus, dass MATLAB, MATLAB Online, eine benannte Toolbox, MATLAB Test, MATLAB Compiler, MATLAB Coder, Parallel Computing Toolbox oder ein Add-on installiert, lizenziert oder dem Benutzer verfügbar ist.
  • MATLAB Runtime ist nicht MATLAB. Es führt kompatible, mit MATLAB Compiler erstellte Anwendungen aus; es kann keinen beliebigen Quellcode ausführen oder die MATLAB Engine für Python hosten. Das Erstellen von Artefakten erfordert den entsprechenden lizenzierten Compiler und jedes vom Quellcode verwendete Produkt.
  • GNU Octave 11.3.0 ist freie Software unter GPLv3+. Octave-Pakete sind keine MATLAB-Toolboxen. Ähnliche Namen implizieren keine API-, numerische, grafische oder Lizenzäquivalenz.
  • Fragen Sie, welche Laufzeitumgebung, Version, Plattform, installierte Produkte und Lizenzkontext der Benutzer tatsächlich hat. Behandeln Sie die Verfügbarkeit als unknown, bis sie bestätigt ist.

Siehe Octave-Kompatibilität und Ausführungs-/Produktgrenzen.

Unverhandelbare Sicherheitsgrenze

Führen Sie niemals eine nicht vertrauenswürdige .m-, .mlx-, MEX-Binärdatei, MAT-Datei, Projekt-Start-/Herunterfahraktion, Paketinstallationsprogramm oder generiertes Artefakt aus. Eine statische Überprüfung beweist keine Sicherheit.

Behandeln Sie diese als Ausführungs- oder Code-Ladeoberflächen:

  • eval, evalin, assignin, textbasiertes feval, str2func, Callbacks, Timer, App-Callbacks und dynamisch geänderte Pfade;
  • system, unix, dos, Shell-Escape !, Java, .NET, Python (py.*, pyrun, pyrunfile), MEX und native Bibliotheken;
  • mex, codegen, MATLAB Compiler, Build-Aufgaben, Paket-/Projektstart und generierter Code;
  • load, Objekt-Deserialisierung (loadobj, benutzerdefinierte Serialisierung), Funktions-Handles, Java/System-Objekte und von MAT-Dateien erreichbarer Klassencode.

.mlx ist ein undurchsichtiges Archiv für dieses Toolkit und MEX ist nativer ausführbarer Code. Verwenden Sie Python-Pickle nicht für den Austausch. Überprüfen Sie zuerst, isolieren Sie bei Bedarf, holen Sie explizite Zustimmung ein und rufen Sie dann eine vom Benutzer bestätigte ausführbare Datei und Lizenz auf. Gebündelte Skripte sind statisch oder Trockenlauf-Tools: Keines startet MATLAB, Octave, Python Engine, einen Compiler oder einen Unterprozess.

Standard-Workflow

  1. Ziel klären. Erfassen Sie MATLAB-Release oder Octave-Version, Betriebssystem/Architektur, Basisprodukt im Vergleich zu erforderlichen Toolboxen/Paketen, erwartete Ein-/Ausgaben, numerische Toleranzen und ob die Ausführung autorisiert ist.
  2. Statistisch inventarisieren. Scannen Sie .m-Dateien, undurchsichtige Artefakte, Projektpfade, erforderliche Produkte und MAT-Header, bevor diese zur Laufzeit geladen werden.
  3. Code-Form wählen. Bevorzugen Sie Funktionen mit einem arguments-Block für die Automatisierung. Verwenden Sie Skripte nur für kontrollierte Orchestrierung und Live-Skripte für überprüfte interaktive Erzählungen.
  4. Semantik explizit machen. Erfassen Sie Formen, Klassen, Einheiten, Regeln für fehlende Werte, Indizierung, implizite Expansion, RNG-Algorithmus/Seed, Toleranzen und Ausgabeformate.
  5. Ohne versteckten Zustand testen. Halten Sie Fixtures synthetisch, Pfade projektlokal, Grafiken deterministisch und Tests unabhängig von Basis-Workspace-Residuen.
  6. Ausführung planen. Erstellen Sie einen argv-Plan, überprüfen Sie Start-/Pfad-Effekte und Lizenzen und starten Sie nur nach expliziter Zustimmung außerhalb dieser Helfer.
  7. Provenienz erfassen. Hashen Sie benannte Eingaben/Code und erfassen Sie Release, Produkte, RNG-Richtlinie, Toleranzen und Befehlsplan, ohne die Umgebung zu dumpen.

Sprach- und Daten-Checkliste

Skripte, Funktionen und Live-Skripte

  • Skripte teilen den Aufrufer-/Basis-Workspace und hinterlassen Variablen. Funktionen haben lokale Workspaces und explizite Ein-/Ausgaben.
  • Live-Skripte (.mlx) mischen Code und reichhaltige Ausgabe, sind aber keine Klartext-Review-Artefakte. Exportieren Sie den überprüften Code zur statischen Inspektion nach .m.
  • Vermeiden Sie clear all, breites addpath(genpath(...)), Abhängigkeit von pwd, globale Variablen und stilles Namens-Shadowing. Verwenden Sie Projektwurzeln und fullfile.
  • Validieren Sie Größen, Klassen und Werte in arguments-Blöcken. Denken Sie daran, dass Typdeklarationen Eingaben konvertieren können; Validatoren prüfen ohne Konvertierung.
  • Eine Hauptfunktionsdatei sollte mit dem Hauptfunktionsnamen übereinstimmen. Lokale Funktionen sind private zur Datei; seit R2024a können sie überall in einem Skript außerhalb von Bedingungskontexten erscheinen.
function y = scaleSignal(x, options)
arguments
    x (:,1) double {mustBeFinite}
    options.Scale (1,1) double {mustBeFinite, mustBeNonzero} = 1
end
y = x .* options.Scale;
end

Lesen Sie Programmierung.

Arrays, Indizierung und Numerik

  • MATLAB verwendet 1-basierte, spaltenweise Indizierung. A(i,j), A(k), A(:,j), A{...} und A.(name) haben unterschiedliche Semantik.
  • *, /, \ und ^ sind Matrixoperationen; punktierte Formen sind elementweise. Verwenden Sie A\b, nicht inv(A)*b.
  • Seit R2016b erweitern sich kompatible Dimensionen implizit. Bestätigen Sie die beabsichtigte Form vor Operationen, die versehentlich ein äußeres Ergebnis bilden könnten.
  • Reservieren Sie Speicher vor, wenn die Ausgabegröße bekannt ist, aber vektorisieren Sie nicht auf Kosten großer temporärer Variablen oder unlesbaren Codes. Messen Sie mit timeit oder dem Profiler.
  • Vergleichen Sie Gleitkommaergebnisse mit domänenspezifischen absoluten und relativen Toleranzen, nicht mit pauschalem == oder einem magischen Vielfachen von eps.
  • Legen Sie sowohl Zufallsalgorithmus als auch Seed fest. Verwenden Sie benannte RandStream-Teilströme für unabhängige parallele Arbeit; verwenden Sie kein zeitbasiertes rng("shuffle") für eine Reproduzierbarkeitsbehauptung.

Lesen Sie Arrays und Mathematik.

Tabellen, Timetables und fehlende Werte

  • Eine table hat benannte, gleich hohe Variablen, die unterschiedliche Typen haben können. T(rows,vars) gibt eine Tabelle zurück; T{rows,vars} extrahiert Inhalte; T.Var wählt eine Variable aus.
  • Eine timetable hat zusätzlich Zeilenzeiten. Sortieren Sie, validieren Sie Zeitzonen und Eindeutigkeit, verwenden Sie dann retime/synchronize gezielt.
  • Fehlende Sentinel-Werte sind typabhängig: NaN, NaT, <missing>, <undefined> und leere Zeichenvektoren. Ganzzahl- und logische Arrays haben keinen Standard-Sentinel für fehlende Werte.
  • Definieren Sie Importoptionen anstatt sich für Produktionsdaten auf Rückschlüsse zu verlassen. Bewahren Sie Einheiten, Zeitzonen, Variablennamen, Kodierungen und Regeln für fehlende Werte.

Lesen Sie Datenimport/export.

Grafik und Export

Verwenden Sie explizite Figure-/Achsen-Handles und tiledlayout; beschriften Sie Einheiten; setzen Sie Limits, Farbskalen, Schriftgrößen und Colormaps bewusst. Bevorzugen Sie exportgraphics gegenüber saveas für Publikationsausgabe. In R2026a exportiert es Raster, PDF/EPS/EMF, SVG, GIF und interaktives HTML; die Formatfähigkeiten unterscheiden sich. Geben Sie ContentType="vector" für geeignete PDF/SVG-ähnliche Ausgabe und Resolution für Rasterausgabe an. Überprüfen Sie Barrierefreiheit und eingebettetes Rasterverhalten.

Lesen Sie Grafik und Export.

MAT-Dateien und Austausch

  • Version 7 ist der normale save-Standard; matfile erstellt standardmäßig 7.3. Die Versionen 4/6/7/7.3 unterscheiden sich in Typen, Komprimierung und variablenbezogenen Grenzen.
  • Version 7.3 basiert auf HDF5, ist aber kein willkürlicher HDF5-Austauschvertrag. Teilweiser Zugriff und Chunking können bei großen Arrays helfen.
  • Laden Sie niemals eine nicht vertrauenswürdige MAT-Datei. Inventarisieren Sie zuerst Header/Datensätze. Objekte können Klassen-Deserialisierungsverhalten auslösen; undurchsichtiger/Funktions-/natives Inhalt erfordert Eskalation.
  • Bevorzugen Sie CSV/JSON/Parquet/HDF5 mit einem dokumentierten Schema für einfachen Austausch. Benennen Sie Pickle-Nutzlasten nicht als MAT-Dateien um und deserialisieren Sie Pickle nicht.

Lesen Sie Datenimport/export.

Projekte, Analysen und Tests

  • Verwenden Sie MATLAB-Projekte für kontrollierte Pfade, Start-/Herunterfahraufgaben, Abhängigkeiten, Versionskontrolle und reproduzierbare Einstiegspunkte. Überprüfen Sie Projektaktionen, bevor Sie ein nicht vertrauenswürdiges Projekt öffnen.
  • matlab.codetools.requiredFilesAndProducts und der Abhängigkeitsanalysator sind statische Näherungen; dynamischer Dispatch kann Fehler oder falsch positive Ergebnisse verursachen. Ein Bericht über erforderliche Produkte beweist nicht, dass eine Lizenz verfügbar ist.
  • Verwenden Sie den Code-Analysator (codeIssues; ältere Text-Workflows können checkcode verwenden) und codeCompatibilityReport vor der Migration.
  • Basis-MATLAB enthält Skript-, Funktions- und klassenbasierte matlab.unittest-Workflows. Parallele Läufe erfordern die Parallel Computing Toolbox. Abhängigkeitsbasierte Auswahl, umfangreichere Qualitäts-Dashboards, generierte Tests und erweiterte Abdeckungs-/Äquivalenzfunktionen können MATLAB Test oder andere Produkte erfordern.
  • R2026a runtests öffnet und schließt automatisch ein Projekt, wenn die Zieltests zu einem noch nicht geöffneten Projekt gehören. Berücksichtigen Sie Start- und Herunterfahraktionen, bevor Sie dieses Verhalten verwenden.

Lesen Sie Programmierung und Ausführung/Testen.

Python-Integration, fixiert auf R2026a

  • R2026a unterstützt 64-Bit CPython 3.9-3.13 für MATLAB Interface to Python, MATLAB Engine for Python und MATLAB Compiler SDK for Python.
  • Das aktuelle hier überprüfte R2026a PyPI-Paket ist matlabengine==26.1.12 (veröffentlicht 2026-05-08). Es erfordert ein installiertes R2026a; MATLAB Runtime allein ist nicht ausreichend. R2026a enthält auch eine vorinstallierte Engine-Distribution unter einem benannten matlabroot-Pfad.
  • Die Paketinstallation gewährt keine MATLAB- oder Toolbox-Lizenzen. Konfigurieren Sie einen benannten Interpreter/ausführbare Datei; drucken Sie nicht die vollständige Umgebung, PATH, PYTHONPATH oder Anmeldeinformationen.
  • pyenv steuert die MATLAB-zu-Python-Interpreterauswahl. In-Prozess-Python erfordert im Allgemeinen einen Neustart von MATLAB zum Wechseln; Out-of-Process-Python kann beendet und neu konfiguriert werden.
  • Das Starten der Engine ist eine explizite Ausführungsaktion: matlab.engine.start_matlab() startet einen MATLAB-Prozess und kann eine Lizenz auschecken. Rufen Sie es niemals nur auf, um die Verfügbarkeit zu testen.
  • Überprüfen Sie die Konvertierungssemantik für NumPy-Arrays, pandas DataFrames, Tabellen/Timetables, Strings/fehlende Werte, Datetime/Duration, Wörterbücher, Form/Reihenfolge und nicht unterstützte sparse/object/categorical Fälle.

Lesen Sie Python-Integration.

Lokale Helfer-CLIs

Jeder Helfer ist netzwerkfrei, begrenzt, lehnt symbolische Links ab und führt nicht aus. Führen Sie aus diesem Skill-Verzeichnis mit Python 3.11+ aus. Bash ist nur erlaubt, um diese Python-CLIs und Validierungsbefehle aufzurufen; verwenden Sie es niemals, um einen generierten MATLAB/Octave-argv-Plan oder ein nicht vertrauenswürdiges Artefakt auszuführen.

HelferZweck
scripts/plan_batch_command.pyProduzieren Sie überprüfte MATLAB/Octave-argv; niemals ausführen
scripts/scan_m_code.pyScannen Sie .m-Text und markieren Sie undurchsichtige .mlx/MEX-Risiken
scripts/validate_project_manifest.pyValidieren Sie Pfade und deklarierten Produkt-/Lizenzstatus
scripts/inventory_mat_file.pyHeader/Metadaten-Inventar; niemals loadmat aufrufen
scripts/plan_python_compatibility.pyÜberprüfen Sie die R2026a CPython/Engine-Kompatibilität
scripts/reproducibility_report.pyHashen Sie benannte lokale Artefakte und geben Sie einen begrenzten Bericht aus
scripts/generate_function_scaffold.pyTrockenlauf oder Erstellen Sie Funktions- und Unit-Test-Gerüste
python scripts/scan_m_code.py path/to/source --root path/to/project
python scripts/plan_batch_command.py matlab script path/to/main.m --root path/to/project
python scripts/validate_project_manifest.py project-manifest.json --root path/to/project
python scripts/inventory_mat_file.py data.mat --root path/to/project
python scripts/plan_python_compatibility.py --python-version 3.13
python scripts/reproducibility_report.py --root path/to/project --file src/analyze.m
python scripts/generate_function_scaffold.py analyzeSignal --root path/to/project

Der Gerüstgenerator standardmäßig auf Trockenlauf; Schreiben erfordert --write und verweigert Kollisionen. SciPy und h5py sind optionale Inventar-Backends; wenn autorisiert, fügen Sie exakt überprüfte Versionen zur Projekt-Lockdatei des Aufrufers hinzu. Sie sind nicht für --help oder Header-only-Inventar erforderlich, und dieser Skill führt keine Paketinstallation durch.

Referenzen

Gebündelte JSON-Assets sind das Projektmanifest, Reproduzierbarkeitsmanifest und R2026a Python-Tabelle. Es gibt kein templates/-Verzeichnis und keine Markdown-Datei wird aus assets/ geladen; Lokale Link-Tests erzwingen diesen Paketvertrag.

Primärquellen (verifiziert 2026-07-23)

Scientific Agent Skills zitieren

Dieser Skill ist Teil von Scientific Agent Skills von K-Dense. Wenn er wesentlich zu einem Manuskript, Bericht, Präsentation oder Code-Release beigetragen hat, fügen Sie das Papier in die Referenzen oder den Softwareabschnitt ein und teilen Sie dem Benutzer mit, dass Sie dies getan haben:

Kassis, T., Agarw

…

[abgeschnitten für Übersetzung]

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

adaptyv

How to use the Adaptyv Bio Foundry API and Python SDK for protein experiment design, submission, and results retrieval. Use this skill whenever the user mentions Adaptyv, Foundry API, protein binding assays, protein screening experiments, BLI/SPR assays, thermostability assays, or wants to submit protein sequences for experimental characterization. Also trigger when code imports `adaptyv`, `adaptyv_sdk`, or `FoundryClient`, or references `foundry-api-public.adaptyvbio.com`.

aeon

This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.

alphagenome

Look up precomputed AlphaGenome Atlas effects for any GRCh38 single-nucleotide variant (AVI score with Phred and 18 SHAP feature attributions, plus raw and quantile scores for RNA-seq, DNase, ATAC, ChIP-TF, ChIP-histone, CAGE, PRO-cap, splicing, polyadenylation and contact-map tracks), score variants or scan windows on demand with the AlphaGenome model for human and mouse (variant scoring, in silico mutagenesis, REF-versus-ALT track prediction), and build Atlas website deep links. Use when the user mentions AlphaGenome, AlphaGenome Atlas, AVI or AlphaGenome Variant Impact, DeepMind variant effect prediction, or wants to prioritise or mechanistically interpret non-coding, regulatory, splicing, enhancer, promoter, or chromatin-accessibility effects of SNVs from a VCF, credible set, or region. Research use only; not a clinical tool.

analytical-method-validation

Plan, execute, and document validation, verification, and transfer of analytical procedures under the governing framework - ICH Q2(R2) and Q14, USP <1220>/<1225>/<1226>, ICH M10 bioanalytical, CLSI EP, or ISO/IEC 17025. Use for HPLC, LC-MS/MS, GC, CE, ICP-MS, dissolution, qNMR, qPCR, NIR, and ligand binding or cell-based assays whenever the question is whether a procedure is fit for its intended purpose. Triggers include

anndata

Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.

arbor

Autonomously improve a real artifact (code, training recipe, agent harness, data pipeline, prompt) against an objective and an evaluator, using Hypothesis Tree Refinement (HTR) from the Arbor paper. Use this whenever someone wants to iteratively optimize something over many experiments without overfitting — e.g.

arboreto

Infer gene regulatory networks (GRNs) from gene expression data using scalable algorithms (GRNBoost2, GENIE3). Use when analyzing transcriptomics data (bulk RNA-seq, single-cell RNA-seq) to identify transcription factor-target gene relationships and regulatory interactions. Supports distributed computation for large-scale datasets.

astropy

Core Python library for astronomy and astrophysics workflows that need Astropy APIs, including units/quantities, coordinates, FITS I/O, tables, time systems, WCS, and cosmology. Use when implementing or debugging astronomical data analysis code with Astropy.

autoskill

Observe the user

benchling-integration

Benchling Python SDK and REST API integration for registry entities, inventory, ELN entries, workflows, Benchling Apps, and Data Warehouse queries. Use when automating lab data with benchling-sdk or the v2 API.

bgpt-paper-search

Search scientific papers and retrieve structured experimental data extracted from full-text studies via the BGPT MCP server. Returns 25+ fields per paper including methods, results, sample sizes, quality scores, and conclusions. Use for literature reviews, evidence synthesis, and finding experimental details not available in abstracts alone.

bids

>

biopython

Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.

bioservices

Unified Python interface to 40+ bioinformatics services. Use when querying multiple databases (UniProt, KEGG, ChEMBL, Reactome) in a single workflow with consistent API. Best for cross-database analysis, ID mapping across services. For quick single-database lookups use gget; for sequence/file manipulation use biopython.

bulk-rnaseq

End-to-end bulk RNA-seq orchestrator — takes raw FASTQ reads through QC and trimming (FastQC, fastp/Trim Galore), alignment and quantification (STAR, Salmon, featureCounts), assembles a gene-level counts matrix, then hands off to differential expression (pydeseq2), pathway/GSEA enrichment (pathway-enrichment), and publication figures (scientific-visualization). Use whenever the user has bulk RNA-seq reads or quant output and wants a complete, reproducible differential-expression workflow — e.g.

cellxgene-census

Query the CZ CELLxGENE Census programmatically for versioned public single-cell and spatial transcriptomics data. Use when you need population-scale cell metadata, gene expression slices, Census summary counts, source H5AD URIs/downloads, embeddings, spatial Census data, or reference atlas comparisons across organisms, tissues, diseases, assays, and cell types. For analyzing your own local single-cell data use scanpy, anndata, or scvi-tools.

cirq

Google quantum computing framework. Use when targeting Google Quantum AI hardware, designing noise-aware circuits, or running quantum characterization experiments. Best for Google hardware, noise modeling, and low-level circuit design. For IBM hardware use qiskit; for quantum ML with autodiff use pennylane; for physics simulations use qutip.

citation-management

Comprehensive citation management for academic research. Search OpenAlex, PubMed, and Google Scholar for papers, extract accurate metadata, validate citations, and generate properly formatted BibTeX entries. This skill should be used when you need to find papers, verify citation information, convert DOIs to BibTeX, or ensure reference accuracy in scientific writing.

clinical-decision-support

Prepare and validate research-only clinical decision-support evaluation, evidence-profile, cohort, survival, biomarker/model, privacy, and governance artifacts. Use for aggregate or synthetic research documentation and traceability—not patient care or live clinical operation.

clinical-reports

Create safety-bounded draft structures and run local deterministic checks for clinical case, diagnostic, trial, safety, and aggregate research reports. Use only with synthetic, de-identified, or aggregate inputs and verified source-fact manifests; every output requires qualified review.

Verwandte Skills