Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
k-dense-ai avatar

Matlab

  • 896 installs
  • 32k repo stars
  • Updated July 29, 2026
  • k-dense-ai/scientific-agent-skills

matlab is a Claude Code skill that documents correct MATLAB readtable, readmatrix, and writematrix patterns for developers who import and export CSV, spreadsheets, MAT files, and images.

About

matlab is a scientific-agent skill that gives coding agents a structured reference for MATLAB data import and export. It covers six areas: text and CSV files, spreadsheets, MAT files, images, tables and data types, and low-level file I/O. Examples show readtable for mixed-type tables, readmatrix for numeric data, readcell for cell arrays, readlines for line-based text, and fileread for whole-file strings. Developers reach for it when agents must generate correct high-level I/O instead of brittle low-level fopen patterns. The skill targets reproducible scientific pipelines where file format choice affects downstream matrix and table operations.

  • Covers text/CSV, spreadsheets, MAT files, images, tables, and low-level file I/O
  • Documents readtable, readmatrix, readcell, readlines, and detectImportOptions workflows
  • Includes write paths with delimiter, range, and header options
  • Six top-level reference sections in the skill table of contents

Matlab by the numbers

  • 896 all-time installs (skills.sh)
  • +40 installs in the week ending Jul 29, 2026 (Skillselion tracking)
  • Ranked #315 of 2,065 Data Science & ML skills by installs in the Skillselion catalog
  • Security screen: LOW risk (skills.sh audit)
  • Data as of Jul 29, 2026 (Skillselion catalog sync)
npx skills add https://github.com/k-dense-ai/scientific-agent-skills --skill matlab

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs896
repo stars32k
Security audit3 / 3 scanners passed
Last updatedJuly 29, 2026
Repositoryk-dense-ai/scientific-agent-skills

How do you import CSV and MAT files in MATLAB?

Import and export CSV, spreadsheets, MAT files, images, and tables in MATLAB while your agent writes correct readtable/writematrix patterns.

Who is it for?

Developers running MATLAB scientific pipelines who need agents to emit correct readtable and readmatrix patterns for mixed data files.

Skip if: Python or R data import workflows where MATLAB-specific table and matrix APIs do not apply.

When should I use this skill?

User asks to read, write, import, or export CSV, spreadsheets, MAT files, or images in MATLAB.

What you get

MATLAB table and matrix variables loaded from CSV, spreadsheets, MAT files, and images with correct high-level I/O functions.

  • MATLAB import scripts
  • table and matrix variables from disk files

By the numbers

  • Reference organizes MATLAB I/O into 6 documented sections

Files

SKILL.mdMarkdownGitHub ↗

MATLAB/Octave Scientific Computing

MATLAB is a numerical computing environment optimized for matrix operations and scientific computing. GNU Octave is a free, open-source alternative with high MATLAB compatibility.

Quick Start

Running MATLAB scripts:

# MATLAB (commercial)
matlab -nodisplay -nosplash -r "run('script.m'); exit;"

# GNU Octave (free, open-source)
octave script.m

Install GNU Octave:

# macOS
brew install octave

# Ubuntu/Debian
sudo apt install octave

# Windows - download from https://octave.org/download

Core Capabilities

1. Matrix Operations

MATLAB operates fundamentally on matrices and arrays:

% Create matrices
A = [1 2 3; 4 5 6; 7 8 9];  % 3x3 matrix
v = 1:10;                     % Row vector 1 to 10
v = linspace(0, 1, 100);      % 100 points from 0 to 1

% Special matrices
I = eye(3);          % Identity matrix
Z = zeros(3, 4);     % 3x4 zero matrix
O = ones(2, 3);      % 2x3 ones matrix
R = rand(3, 3);      % Random uniform
N = randn(3, 3);     % Random normal

% Matrix operations
B = A';              % Transpose
C = A * B;           % Matrix multiplication
D = A .* B;          % Element-wise multiplication
E = A \ b;           % Solve linear system Ax = b
F = inv(A);          % Matrix inverse

For complete matrix operations, see references/matrices-arrays.md.

2. Linear Algebra

% Eigenvalues and eigenvectors
[V, D] = eig(A);     % V: eigenvectors, D: diagonal eigenvalues

% Singular value decomposition
[U, S, V] = svd(A);

% Matrix decompositions
[L, U] = lu(A);      % LU decomposition
[Q, R] = qr(A);      % QR decomposition
R = chol(A);         % Cholesky (symmetric positive definite)

% Solve linear systems
x = A \ b;           % Preferred method
x = linsolve(A, b);  % With options
x = inv(A) * b;      % Less efficient

For comprehensive linear algebra, see references/mathematics.md.

3. Plotting and Visualization

% 2D Plots
x = 0:0.1:2*pi;
y = sin(x);
plot(x, y, 'b-', 'LineWidth', 2);
xlabel('x'); ylabel('sin(x)');
title('Sine Wave');
grid on;

% Multiple plots
hold on;
plot(x, cos(x), 'r--');
legend('sin', 'cos');
hold off;

% 3D Surface
[X, Y] = meshgrid(-2:0.1:2, -2:0.1:2);
Z = X.^2 + Y.^2;
surf(X, Y, Z);
colorbar;

% Save figures
saveas(gcf, 'plot.png');
print('-dpdf', 'plot.pdf');

For complete visualization guide, see references/graphics-visualization.md.

4. Data Import/Export

% Read tabular data
T = readtable('data.csv');
M = readmatrix('data.csv');

% Write data
writetable(T, 'output.csv');
writematrix(M, 'output.csv');

% MAT files (MATLAB native)
save('data.mat', 'A', 'B', 'C');  % Save variables
load('data.mat');                   % Load all
S = load('data.mat', 'A');         % Load specific

% Images
img = imread('image.png');
imwrite(img, 'output.jpg');

For complete I/O guide, see references/data-import-export.md.

5. Control Flow and Functions

% Conditionals
if x > 0
    disp('positive');
elseif x < 0
    disp('negative');
else
    disp('zero');
end

% Loops
for i = 1:10
    disp(i);
end

while x > 0
    x = x - 1;
end

% Functions (in separate .m file or same file)
function y = myfunction(x, n)
    y = x.^n;
end

% Anonymous functions
f = @(x) x.^2 + 2*x + 1;
result = f(5);  % 36

For complete programming guide, see references/programming.md.

6. Statistics and Data Analysis

% Descriptive statistics
m = mean(data);
s = std(data);
v = var(data);
med = median(data);
[minVal, minIdx] = min(data);
[maxVal, maxIdx] = max(data);

% Correlation
R = corrcoef(X, Y);
C = cov(X, Y);

% Linear regression
p = polyfit(x, y, 1);  % Linear fit
y_fit = polyval(p, x);

% Moving statistics
y_smooth = movmean(y, 5);  % 5-point moving average

For statistics reference, see references/mathematics.md.

7. Differential Equations

% ODE solving
% dy/dt = -2y, y(0) = 1
f = @(t, y) -2*y;
[t, y] = ode45(f, [0 5], 1);
plot(t, y);

% Higher-order: y'' + 2y' + y = 0
% Convert to system: y1' = y2, y2' = -2*y2 - y1
f = @(t, y) [y(2); -2*y(2) - y(1)];
[t, y] = ode45(f, [0 10], [1; 0]);

For ODE solvers guide, see references/mathematics.md.

8. Signal Processing

% FFT
Y = fft(signal);
f = (0:length(Y)-1) * fs / length(Y);
plot(f, abs(Y));

% Filtering
b = fir1(50, 0.3);           % FIR filter design
y_filtered = filter(b, 1, signal);

% Convolution
y = conv(x, h, 'same');

For signal processing, see references/mathematics.md.

Common Patterns

Pattern 1: Data Analysis Pipeline

% Load data
data = readtable('experiment.csv');

% Clean data
data = rmmissing(data);  % Remove missing values

% Analyze
grouped = groupsummary(data, 'Category', 'mean', 'Value');

% Visualize
figure;
bar(grouped.Category, grouped.mean_Value);
xlabel('Category'); ylabel('Mean Value');
title('Results by Category');

% Save
writetable(grouped, 'results.csv');
saveas(gcf, 'results.png');

Pattern 2: Numerical Simulation

% Parameters
L = 1; N = 100; T = 10; dt = 0.01;
x = linspace(0, L, N);
dx = x(2) - x(1);

% Initial condition
u = sin(pi * x);

% Time stepping (heat equation)
for t = 0:dt:T
    u_new = u;
    for i = 2:N-1
        u_new(i) = u(i) + dt/(dx^2) * (u(i+1) - 2*u(i) + u(i-1));
    end
    u = u_new;
end

plot(x, u);

Pattern 3: Batch Processing

% Process multiple files
files = dir('data/*.csv');
results = cell(length(files), 1);

for i = 1:length(files)
    data = readtable(fullfile(files(i).folder, files(i).name));
    results{i} = analyze(data);  % Custom analysis function
end

% Combine results
all_results = vertcat(results{:});

Reference Files

  • [matrices-arrays.md](references/matrices-arrays.md) - Matrix creation, indexing, manipulation, and operations
  • [mathematics.md](references/mathematics.md) - Linear algebra, calculus, ODEs, optimization, statistics
  • [graphics-visualization.md](references/graphics-visualization.md) - 2D/3D plotting, customization, export
  • [data-import-export.md](references/data-import-export.md) - File I/O, tables, data formats
  • [programming.md](references/programming.md) - Functions, scripts, control flow, OOP
  • [python-integration.md](references/python-integration.md) - Calling Python from MATLAB and vice versa
  • [octave-compatibility.md](references/octave-compatibility.md) - Differences between MATLAB and GNU Octave
  • [executing-scripts.md](references/executing-scripts.md) - Executing generated scripts and for testing

GNU Octave Compatibility

GNU Octave is highly compatible with MATLAB. Most scripts work without modification. Key differences:

  • Use # or % for comments (MATLAB only %)
  • Octave allows ++, --, += operators
  • Some toolbox functions unavailable in Octave
  • Use pkg load for Octave packages

For complete compatibility guide, see references/octave-compatibility.md.

Best Practices

1. Vectorize operations - Avoid loops when possible:

   % Slow
   for i = 1:1000
       y(i) = sin(x(i));
   end

   % Fast
   y = sin(x);

2. Preallocate arrays - Avoid growing arrays in loops:

   % Slow
   for i = 1:1000
       y(i) = i^2;
   end

   % Fast
   y = zeros(1, 1000);
   for i = 1:1000
       y(i) = i^2;
   end

3. Use appropriate data types - Tables for mixed data, matrices for numeric:

   % Numeric data
   M = readmatrix('numbers.csv');

   % Mixed data with headers
   T = readtable('mixed.csv');

4. Comment and document - Use function help:

   function y = myfunction(x)
   %MYFUNCTION Brief description
   %   Y = MYFUNCTION(X) detailed description
   %
   %   Example:
   %       y = myfunction(5);
       y = x.^2;
   end

Additional Resources

  • MATLAB Documentation: https://www.mathworks.com/help/matlab/
  • GNU Octave Manual: https://docs.octave.org/latest/
  • MATLAB Onramp (free course): https://www.mathworks.com/learn/tutorials/matlab-onramp.html
  • File Exchange: https://www.mathworks.com/matlabcentral/fileexchange/

Related skills

How it compares

Use matlab when agents must emit idiomatic high-level MATLAB I/O instead of generic pseudocode for scientific file loading.

FAQ

When should MATLAB readtable vs readmatrix be used?

The matlab skill recommends readtable for mixed-type CSV columns as a table, readmatrix for purely numeric data as a matrix, and readcell when cell arrays are required for heterogeneous fields.

What file formats does the matlab skill cover?

The matlab skill reference spans text and CSV files, spreadsheets, MAT files, images, MATLAB tables and data types, and low-level file I/O across six documented sections.

Is Matlab safe to install?

skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

Data Science & MLpipelinesanalytics

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.