agentsclimarketplace

Matlab regression model comparison and visualization

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt4_8_GLM4.7/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.From its SKILL.md

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill matlab-regression-model-comparison-and-visualization

Assembled 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.

SKILL.md

3.0 KB, 581 tokens by cl100k_base, 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

  1. Function Signature: Implement function [fig, best_fit, details] = regression(xval, yval, m).
  2. Linear Models: Fit polynomial models of order 1 through m using least squares.
  3. Non-Linear Model: Fit the model y = c * e^(bx). Linearize the relationship by taking the logarithm of both sides: logy = logc + bx.
  4. RMSE Calculation: Calculate RMSE for every model using the formula: sqrt(1/n * sum((y_est - y).^2)).
  5. Best Fit Selection: Identify the model with the minimum RMSE.
    • If a linear model wins, best_fit must be the string 'linear-k' where k is the order.
    • If the non-linear model wins, best_fit must be the string 'non-linear'.
  6. 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.
  7. 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. Use linspace for 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

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.