matlab
БесплатноБез исполняемых скриптовНе проверенMATLAB and GNU Octave numerical computing for matrix operations, data analysis, visualization, and scientific computing. Use when writing MATLAB/Octave scripts
Об этом скилле
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 - Matrix creation, indexing, manipulation, and operations
- mathematics.md - Linear algebra, calculus, ODEs, optimization, statistics
- graphics-visualization.md - 2D/3D plotting, customization, export
- data-import-export.md - File I/O, tables, data formats
- programming.md - Functions, scripts, control flow, OOP
- python-integration.md - Calling Python from MATLAB and vice versa
- octave-compatibility.md - Differences between MATLAB and GNU Octave
- 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 loadfor Octave packages
For complete compatibility guide, see references/octave-compatibility.md.
Best Practices
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; endUse 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 desc
Установить matlab в Claude Code и Claude Desktop
Зарегайся, чтобы установить скилл
Создай бесплатный аккаунт, чтобы открыть команду установки и сохранить скилл в библиотеку.
- Открой команду установки в одну строку
- Сохраняй скиллы в синхронизируемую библиотеку
- Уведомления, когда скиллы обновляются
Разрешённые инструменты
Инструменты, которые скиллу разрешено вызывать.
Без ограничений — скилл может использовать любой инструмент.
Вложенные файлы
FAQ
Что делает скилл matlab?
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.
Как установить скилл matlab?
Скопируй папку скилла в ~/.claude/skills (вкладка Claude Code выше делает это одной командой), либо поставь как плагин.
Скилл matlab запускает скрипты?
Нет, скилл состоит только из инструкций (SKILL.md), без исполняемых скриптов.
Похожие скиллы
XLSX
Read, analyze and build Excel spreadsheets
от Anthropicvercel-react-best-practices
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js c
от Vercelvercel-optimize
Use for Vercel cost and performance optimization on deployed projects, especially Next.js, SvelteKit, Nuxt, and limited Astro apps. Collect Vercel metrics, usag
от Vercelpresentation-creator
Create data-driven presentation slides using React, Vite, and Recharts with Sentry branding. Use when asked to "create a presentation", "build slides", "make a
от Sentry