first-order-model-fitting
Fits first-order dynamic models to experimental data to extract gain and time constant parameters.
Install
mkdir -p .claude/skills/first-order-model-fitting && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/1882" && unzip -o skill.zip -d .claude/skills/first-order-model-fitting && rm skill.zipInstalls to .claude/skills/first-order-model-fitting
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Fit first-order dynamic models to experimental step response data and extract K (gain) and tau (time constant) parameters.Key capabilities
- →Fit first-order dynamic models to experimental data
- →Extract process gain (K) parameters
- →Determine time constant (tau) parameters
- →Calculate R-squared and fitting error metrics
How it works
The skill uses a first-order step response formula to fit experimental data, identifying the gain and time constant through curve fitting.
Inputs & outputs
When to use first-order-model-fitting
- →Fitting experimental response data
- →Identifying system gain parameters
- →Determining process time constants
About this skill
First-Order System Model Fitting
Overview
Many physical systems (thermal, electrical, mechanical) exhibit first-order dynamics. This skill explains the mathematical model and how to extract parameters from experimental data.
The First-Order Model
The dynamics are described by:
tau * dy/dt + y = y_ambient + K * u
Where:
y= output variable (e.g., temperature, voltage, position)u= input variable (e.g., power, current, force)K= process gain (output change per unit input at steady state)tau= time constant (seconds) - characterizes response speedy_ambient= baseline/ambient value
Step Response Formula
When you apply a step input from 0 to u, the output follows:
y(t) = y_ambient + K * u * (1 - exp(-t/tau))
This is the key equation for fitting.
Extracting Parameters
Process Gain (K)
At steady state (t -> infinity), the exponential term goes to zero:
y_steady = y_ambient + K * u
Therefore:
K = (y_steady - y_ambient) / u
Time Constant (tau)
The time constant can be found from the 63.2% rise point:
At t = tau:
y(tau) = y_ambient + K*u*(1 - exp(-1))
= y_ambient + 0.632 * (y_steady - y_ambient)
So tau is the time to reach 63.2% of the final output change.
Model Function for Curve Fitting
def step_response(t, K, tau, y_ambient, u):
"""First-order step response model."""
return y_ambient + K * u * (1 - np.exp(-t / tau))
When fitting, you typically fix y_ambient (from initial reading) and u (known input), leaving only K and tau as unknowns:
def model(t, K, tau):
return y_ambient + K * u * (1 - np.exp(-t / tau))
Practical Tips
- Use rising portion data: The step response formula applies during the transient phase
- Exclude initial flat region: Start your fit from when the input changes
- Handle noisy data: Fitting naturally averages out measurement noise
- Check units: Ensure K has correct units (output units / input units)
Quality Metrics
After fitting, calculate:
- R-squared (R^2): How well the model explains variance (want > 0.9)
- Fitting error: RMS difference between model and data
residuals = y_measured - y_model
ss_res = np.sum(residuals**2)
ss_tot = np.sum((y_measured - np.mean(y_measured))**2)
r_squared = 1 - (ss_res / ss_tot)
fitting_error = np.sqrt(np.mean(residuals**2))
When not to use it
- →Systems with higher-order dynamics
- →Non-step response experimental data
Prerequisites
Limitations
- →Only applicable to first-order systems
- →Requires clean transient phase data
How it compares
It provides a mathematical framework for parameter extraction rather than relying on visual estimation of system response.
Compared to similar skills
first-order-model-fitting side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| first-order-model-fitting (this skill) | 3 | 6mo | No flags | Advanced |
| quant-analyst | 103 | 2mo | No flags | Advanced |
| umap-learn | 6 | 2mo | Review | Intermediate |
| embedding-strategies | 8 | 2mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by benchflow-ai
View all by benchflow-ai →You might also like
quant-analyst
zenobi-us
Expert quantitative analyst specializing in financial modeling, algorithmic trading, and risk analytics. Masters statistical methods, derivatives pricing, and high-frequency trading with focus on mathematical rigor, performance optimization, and profitable strategy development.
umap-learn
K-Dense-AI
UMAP dimensionality reduction. Fast nonlinear manifold learning for 2D/3D visualization, clustering preprocessing (HDBSCAN), supervised/parametric UMAP, for high-dimensional data.
embedding-strategies
wshobson
Select and optimize embedding models for semantic search and RAG applications. Use when choosing embedding models, implementing chunking strategies, or optimizing embedding quality for specific domains.
building-automl-pipelines
jeremylongshore
Build automated machine learning pipelines, including feature engineering, model selection, and performance evaluation.
model-compare
rawwerks
Compare 3D CAD models using boolean operations (IoU, Dice, precision/recall). Use when evaluating generated models against gold references, diffing CAD revisions, or computing similarity metrics for ML training. Triggers on: model diff, compare models, IoU, intersection over union, model similarity, CAD comparison, STEP diff, 3D evaluation, gold reference, generated model, precision recall 3D.
matchms
davila7
Mass spectrometry analysis. Process mzML/MGF/MSP, spectral similarity (cosine, modified cosine), metadata harmonization, compound ID, for metabolomics and MS data processing.