interpn not working inside of a Simulink function

1 ビュー (過去 30 日間)
Julien Esposito
Julien Esposito 2021 年 11 月 17 日
回答済み: Pavan Guntha 2021 年 11 月 24 日
The following function call:
vs = getAeroCoefficientsForVTail( 0, -10 ); works when running on the command line.
But, when running untitled_20210b.mdl, the Embedded Simulink MATLAB function calling getAeroCoefficientsForVTail complains saying "wong number of input arguments.".
This is weird behavior, since calling the function outside of the Embedded Simulink MATLAB function works.
Help appreciated in this very confusing problem.

回答 (1 件)

Pavan Guntha
Pavan Guntha 2021 年 11 月 24 日
Hi Julien,
The issue occurs because of the follwing line in the code 'getAeroCoefficientsForVTail.m':
% Line 91:
coefficients = reshape( interpn( alpha_s, beta_s, LUT, alpha_deg, beta_deg, 'linear', -1 ), [1, 71] );
% Specifically the issue is with the arguments to the 'interpn' function.
The following error message is shown when the function is run through both MATLAB/ Simulink:
"The number of input coordinate arrays must match the dimensions of the sample values."
For more information on interpn, you could look at the documentation page here.
Hope it helps!

Community Treasure Hunt

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

Start Hunting!

Translated by