Clear Filters
Clear Filters

Why does my code open the code for fittype, and then ask me to click continue?

1 view (last 30 days)
I am a fairly new Matlab user. Right now, I am trying to create a code to fit a surface with 4 coefficients. Here is my code:
ft=fittype( @(a, b, c, d, x, y) a.*x.^b+c.*x.^2.*y+d.*x.^1.5.*y.^0.5, 'independent', {'x', 'y'},'dependent', 'z' );
fit=fit([polarization,frequency],losses,ft);
Where polarization, frequency, and losses are all 55x1 double arrays. However, when I run the code, it will stop, and display this message in the command window:
314 [varargin{:}] = convertStringsToChars(varargin{:});
K>>
It then takes me to the fittype.m file and leaves me at line 314. The code then will not run anymore until I hit enter on my keyboard and then continue on the top panel. However, the curve it produces doesn't seem logical, but that may be a different problem. Why does this happen and how can I fix it? Any help is greatly appreciated. Thank you.

Accepted Answer

ProblemSolver
ProblemSolver on 5 Jul 2023
This is because you are passing different data type:
ft=fittype( @(a, b, c, d, x, y) a.*x.^b+c.*x.^2.*y+d.*x.^1.5.*y.^0.5, 'independent', {'x', 'y'},'dependent', 'z' );
This line is expecting you to enter character arrays (as in strings) for the independent and dependent arguments, however you are passing cell arrays of string instead. Therefore you have to convert those using a MATLAB function called 'char'. Something like this:
x = char('x');
This should resolve the issue.

More Answers (0)

Products


Release

R2023a

Community Treasure Hunt

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

Start Hunting!