Когда я использую блок функций Matlab в Simulink. Я использую другую функцию matlab, которая содержит тип ячейки. Но simulink сообщило об ошибке из-за ячейки. Как этого избежать? Я вроде как не хочу изменять функцию, потому что у всех моих функций есть ячейка, и это большая работа, чтобы изменить их все. сообщение Ошибка: Simulation 28 Очистить Сохранить 11:26:28 PM 27 ноября 2014 Прошедшее: 7 сек1 Конструктор cell() не поддерживается для генерации кода
клеток() конструктор не поддерживается для генерации кода
Функция 'RealCo.m' (# 56.102.111), строка 5, столбец 4: "ячейка (9,1)" Запустить диагностический отчет. Компонент: Функция MATLAB | Категория: Coder ошибка
Моя функция:
function Co=RealCo(q)
l=60;
%%%Coordinate Calculation
%Guess value adopt the unique position below
Co=cell(9,1);
for i=1
Co{i}=[0;0;0];
end
Co{1}=[sqrt(3)*l/4;0;0];
Co{2}(1)=-sqrt(3)*l/4;
Co{2}(2)=l/2;
Co{2}(3)=0;
Co{3}(1)=Co{2}(1);
Co{3}(2)=-l/2;
Co{3}(3)=0;
Co{4}=[sqrt(3)*l/4;-l/2;sqrt(3)*l/2];
Co{5}=Co{4};
Co{5}(2)=-Co{5}(2);
Co{6}=Co{4};
Co{6}(1)=-Co{6}(1);
Co{6}(2)=0;
for i=7:9
Co{i}=Co{i-6};
Co{i}(3)=sqrt(3)*l;
end
guess=zeros(27,1);
for i=1:3:27
%When i=1,j=1 i=4,j=2 i=7,j=3 ...
j=(i-rem(i,3))/3+1;
guess(i)=Co{j}(1);
guess(i+1)=Co{j}(2);
guess(i+2)=Co{j}(3);
end
%Use fsolve to solve the system based on current value of q
[email protected](R)Coor(R,q);
[result, fval, exit, output]=fsolve(fC,guess);
% result
% fval
% eqns(guess)
% output
for i=1:3:27
%When i=1,j=1 i=4,j=2 i=7,j=3 ...
j=(i-rem(i,3))/3+1;
Co{j}=[result(i);result(i+1);result(i+2)];
end