У меня есть простая модель с постоянным блоком, подключенным к функциональному блоку, подключенному к выходу. Постоянный блок может принимать True или False . И поэтому я хотел бы, чтобы в функциональном блоке цвет блока Constant в соответствии со значением (зеленый, когда истина и красный, когда ложь).
Чтобы сделать это, я мог бы просто использовать set_param с именем константного блока, но я должен сделать решение, используя исходный блок функционального блока.
Я уже пробовал это:
function y = fcn(u)
%#codegen
coder.extrinsic('set_param','get_param', 'gcb');
y = u;
b = struct('Type', {}, 'Position', {}, 'SrcBlock', {}, ...
'SrcPort', {}, 'DstBlock', {}, 'DstPort', {});
b = get_param(gcb ,'PortConnectivity');
s = b(1).SrcBlock;
if u == true
set_param(s ,'BackgroundColor','red');
else
set_param(s ,'BackgroundColor','green');
end
Мне пришлось создать структуру b, потому что если нет, то у меня была ошибка Attempt to extract field 'SrcBlock' from 'mxArray'.
А теперь у меня есть эта ошибка Index expression out of bounds. Attempted to access element 1. The valid range is 1-0.
, и я ее не понимаю.
Спасибо вам!