Simulink Error "Attempt to extract field 'p1' from 'mxArray'"

35 visualizaciones (últimos 30 días)
Dave Russell
Dave Russell el 4 de Nov. de 2021
Respondida: Jere Knuutinen el 6 de Ag. de 2024
I'm creating a parabolic curve fit then trying to send the parameters to another function block. It works in Matlab, but when I put it into function block
function coefficients = my_block(Start, Steps, Setpoint)
coder.extrinsic('fit');
%#codegen
coefficients = [0;0;0];
x = [0; Steps; Steps*2];
y = [Start; Setpoint; Start];
f = fit(x,y,'poly2');
coefficients(1) = f.p1;
coefficients(2) = f.p2;
coefficients(3) = f.p3;
I get the error above. Simple fix?

Respuestas (2)

Swatantra Mahato
Swatantra Mahato el 8 de Nov. de 2021
Hi Dave,
The output of the extrinsic function 'fit' would be an mxArray, which is likely leading to the error when trying to extract 'p1' in the line
coefficients(1) = f.p1;
You can refer to the following link to work with output of an extrinsic function
Hope this helps

Jere Knuutinen
Jere Knuutinen el 6 de Ag. de 2024
Did you find solution for this problem?

Categorías

Más información sobre Get Started with Curve Fitting Toolbox en Help Center y File Exchange.

Productos


Versión

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by