MATLAB and GNU Octave numerical computing for matrix operations, data analysis, visualization, and scientific computing.
Quickly understand datasets, identify patterns, and generate insights
Example: Analyze CSV with 100K rows, identify outliers, visualize correlations, suggest hypotheses
Reduce EDA time from hours to minutes, uncover insights faster
Write scripts to clean messy data, handle missing values, normalize formats
Example: Generate Python/SQL to fix date formats, impute missing values, remove duplicates
Automate 80% of data preprocessing work
Perform hypothesis testing, regression, and statistical modeling
Example: Run A/B test analysis, calculate confidence intervals, interpret p-values
Get statistically sound analysis without PhD in statistics
Create charts, dashboards, and visual reports
Example: Generate matplotlib/seaborn code for time series plots, distribution charts, heatmaps
Build presentation-ready visualizations 3x faster
Submit your Claude Code skill and start earning
epx add K-Dense Inc./matlab --skill matlabCompatible with
Supported agents
| name | matlab |
| description | MATLAB and GNU Octave numerical computing for matrix operations, data analysis, visualization, and scientific computing. Use when writing MATLAB/Octave scripts for linear algebra, signal processing, image processing, differential equations, optimization, statistics, or creating scientific visualizations. Also use when the user needs help with MATLAB syntax, functions, or wants to convert between MATLAB and Python code. Scripts can be executed with MATLAB or the open-source GNU Octave interpreter. |
| license | For MATLAB (https://www.mathworks.com/pricing-licensing.html) and for Octave (GNU General Public License version 3) |
| compatibility | Requires either MATLAB or Octave to be installed for testing, but not required for just generating scripts. |
| metadata | skill-author: K-Dense Inc. |
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.
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
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.
% 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.
% 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.
% 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.
% 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.
% 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.
% 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.
% 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.
% 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');
% 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);
% 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{:});
GNU Octave is highly compatible with MATLAB. Most scripts work without modification. Key differences:
# or % for comments (MATLAB only %)++, --, += operatorspkg load for Octave packagesFor complete compatibility guide, see references/octave-compatibility.md.
Vectorize operations - Avoid loops when possible:
% Slow
for i = 1:1000
y(i) = sin(x(i));
end
% Fast
y = sin(x);
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
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');
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
AI-first code editor with Composer
Before installing skills in Cursor, ensure your development environment meets these requirements:
node --versionmatlabExecute the skills CLI command in your project's root directory to begin installation:
epx add K-Dense Inc./matlab --skill matlabFetches matlab from K-Dense Inc./matlab and configures it for Cursor.
The CLI shows a list of agents. Use arrow keys and space to select Cursor:
Confirm successful installation by checking the skill directory location:
.cursor/skills/matlab
Restart Cursor to activate matlab. Access via /matlabin your agent's command palette.
Learn more:View source on GitHubSkills CLI docsAbout CursorWhat are agent skills?
Time estimate: 20-40 minutes to set up and run first analysis
Prerequisites
Steps
Common Pitfalls
✓ Do
✗ Don't
💡 Pro Tips
✓ Use when
Use for exploratory data analysis, data cleaning, statistical testing, visualization prototyping, and learning new analysis techniques. Best for initial exploration and rapid insights.
✗ Avoid when
Avoid for mission-critical financial analysis, medical research requiring regulatory compliance, production ML models, or when deep statistical expertise is required for nuanced interpretation.
bioservices
cokelaer/bioservices · data · tag: data-analysis
exploratory-data-analysis
K-Dense Inc./exploratory-data-analysis · data · tag: scientific
geniml
databio/geniml · data · tag: data-analysis
interior-design-visualization
eachlabs/skills · Frontend · tag: visualization
scientific-manuscript-review
lyndonkl/claude · Productivity · tag: scientific
diagram-design
cathrynlavery/diagram-design · design · tag: visualization
matlab is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
matlab has been reliable in day-to-day use. Documentation quality is above average for community skills.
Keeps context tight: matlab is the kind of skill you can hand to a new teammate without a long onboarding doc.
matlab reduced setup friction for our internal harness; good balance of opinion and flexibility.
We added matlab from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
Solid pick for teams standardizing on skills: matlab is focused, and the summary matches what you get after install.
Registry listing for matlab matched our evaluation — installs cleanly and behaves as described in the markdown.
I recommend matlab for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
matlab has been reliable in day-to-day use. Documentation quality is above average for community skills.
Useful defaults in matlab — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
showing 1-10 of 30