Curve fitting with 5 variables

Dear Matlab experts,
I want to code curve fitting with 5 variables.
I got this message from Matlab, "Too many input arguments."
I added my code here, and I want to know how to solve this problem.
Thank you in advance.
Sincerely yours,
Redwood
%%Fit: 'China'.
[xData, yData, wData, cData, zData] = prepareSurfaceData( x, y, w, c, z );
% Set up fittype and options.
ft = fittype( 'a+ b*x +c*y + d*w + e*c', 'independent', {'x', 'y', 'w', 'c'}, 'dependent', 'z' );
opts = fitoptions( ft );
opts.Display = 'Off';
opts.Lower = [0 0 0 0 0];
opts.StartPoint = [0.01 0.01 0.01 0.01 0.01];
opts.Upper = [Inf Inf Inf Inf Inf];
% Fit model to data.
[fitresult, gof] = fit( [xData, yData, wData, cData], zData, ft, opts );

5 Comments

Which line is reporting too many input arguments?
Which MATLAB version are you using?
Dear Walter,
I am using Matlab R2012a.
I would like to know whether curve fitting can be worked with many variables (more than 4).
Also, I would like to know whether my coding is correct or not.
Sincerely yours,
Redwood
Answer his first question so he can help you. Copy and paste all the red error text that you are getting.
I got this in Matlab.
Error using prepareSurfaceData (line 31) Too many input arguments.
Sincerely your,
Redwood
prepareSurfaceData's changes are specifically documented; you can undertake them yourself; see http://www.mathworks.com/help/curvefit/preparesurfacedata.html

Sign in to comment.

Answers (1)

Valeria Alejandra
Valeria Alejandra on 6 Sep 2024
Edited: Valeria Alejandra on 6 Sep 2024
The "fit" function only supports two independent variables and you are trying to add four.
Since you are adding more than two elements in "here", then there are more than expected and matlab returns the error
fitobject = fit([here],z,fitType)

Categories

Asked:

on 14 Apr 2013

Edited:

on 6 Sep 2024

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!