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

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?

回答 (2 件)

Swatantra Mahato
Swatantra Mahato 2021 年 11 月 8 日

0 投票

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 2024 年 8 月 6 日

0 投票

Did you find solution for this problem?

カテゴリ

ヘルプ センター および File ExchangeLinear and Nonlinear Regression についてさらに検索

製品

リリース

R2021b

質問済み:

2021 年 11 月 4 日

回答済み:

2024 年 8 月 6 日

Community Treasure Hunt

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

Start Hunting!

Translated by