Can i use cell inside user defined Matlab function in Simulink?

1 回表示 (過去 30 日間)
nithesh k
nithesh k 2017 年 3 月 7 日
回答済み: Astarag Chattopadhyay 2017 年 3 月 13 日
function y = fcn(u)
%#codegen
A=cell(1,4);
p=zeros(3,12);
for i=1:4
A{:,i}=rotx(u(i));
end
p=cell2mat(A);
y=reshape(p,[3,12]);
end
function R = rotx(t)
ct = cos(t);
st = sin(t);
R = [
1 0 0
0 ct -st
0 st ct
];
end
I am trying to use cell and cell2mat inside a user defined Matlab function in Simulink. The above code (function y = fcn(u)) gives error "The function 'cell2mat' is not supported for standalone code generation". How can i proceed to use cell and extract it as matrix for simulink?

回答 (1 件)

Astarag Chattopadhyay
Astarag Chattopadhyay 2017 年 3 月 13 日
I understand that you want to generate C code from this MATLAB function. However, cell arrays are not supported for code generation. A workaround would be to use structures in place of cell arrays as code generation for structures is supported.

カテゴリ

Help Center および File ExchangeSources についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by