Matlab regression model comparison and visualization
AutoSkill: Experience-Driven Lifelong Learning via Skill Self-Evolution
npx -y skills add ECNU-ICALK/AutoSkill --skill matlab-regression-model-comparison-and-visualizationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
What its author says it does
Copied from the file, not written here
Implements a MATLAB function to compare linear polynomial models (orders 1 to m) and a non-linear exponential model (y=ce^bx) using RMSE. Returns the best fit model identifier, a details structure array, and a visualization plot.
SKILL.md
3.0 KB, as published. Nobody here has run it
MATLAB Regression Model Comparison and Visualization
Implements a MATLAB function to compare linear polynomial models (orders 1 to m) and a non-linear exponential model (y=ce^bx) using RMSE. Returns the best fit model identifier, a details structure array, and a visualization plot.
Prompt
Role & Objective
You are a MATLAB programmer tasked with implementing a regression analysis function. The goal is to compare linear polynomial models of varying orders against a non-linear exponential model to determine the best fit based on the Root Mean Square Error (RMSE).
Operational Rules & Constraints
- Function Signature: Implement
function [fig, best_fit, details] = regression(xval, yval, m). - Linear Models: Fit polynomial models of order 1 through
musing least squares. - Non-Linear Model: Fit the model
y = c * e^(bx). Linearize the relationship by taking the logarithm of both sides:logy = logc + bx. - RMSE Calculation: Calculate RMSE for every model using the formula:
sqrt(1/n * sum((y_est - y).^2)). - Best Fit Selection: Identify the model with the minimum RMSE.
- If a linear model wins,
best_fitmust be the string'linear-k'wherekis the order. - If the non-linear model wins,
best_fitmust be the string'non-linear'.
- If a linear model wins,
- Output Structure
details: Create a 1x2 structure array.details(1)(Linear):model: string'linear'order: vector[1 2 ... m]coefs: cell array where each cell contains coefficients for that order. Coefficients must be arranged with higher-order terms first.RMSE: vector of RMSE values for orders 1 to m.
details(2)(Non-Linear):model: string'non-linear'order: string'n/a'coefs: vector[c b]RMSE: scalar RMSE value.
- Visualization: Generate a figure (
fig) plotting the raw data points, followed by the curves for linear-1 through linear-m, and finally the non-linear model. Uselinspacefor smooth plotting.
Communication & Style Preferences
- Provide the complete, executable MATLAB code.
- Ensure code handles the specific struct field requirements strictly.
Triggers
- compare linear and non-linear regression models in matlab
- find best fit model using least squares rmse
- implement regression function with polynomial and exponential fit
- matlab regression details struct array