Ошибка: «Ожидается логическое, char, int, fi, single или double. Найден mxArray». - PullRequest
0 голосов
/ 13 января 2020

этот код вызывает ошибку. В чем здесь проблема?

У Simulink недостаточно информации для определения размеров вывода для этого блока. Если вы считаете, что приведенные ниже ошибки являются неточными, попробуйте указать типы для входов блока и / или размеры для выходов блока.

Ожидается либо логическое значение, тип char, int, fi, single или double. Нашел mxArray. MxArrays возвращаются из вызовов интерпретатора MATLAB и не поддерживаются внутри выражений. Они могут использоваться только в правой части присваиваний и в качестве аргументов для функций extrinsi c.

Код:

coder.extrinsic('evalin')
coder.extrinsic('evalin')
coder.extrinsic('sscanf')
coder.extrinsic('fgets')
fileID = fopen("result.txt", "r");
file = fgets(fileID)
value = sscanf(file, '%g', [1,2]) %
x1 = value(1,1)
x2 = value(1,2)
value=double([x1;x2])
if value(1,1) < 1   
x3=[10;20];
end
x_predicted=A1*x3+b*u 
x_est1=x_predicted+L1*(y-C'*x_predicted)%Filterung
x3 = x_est1
x_est = x_est1;```



...