I get an error when trying to run my function using a simulink block.

function [DefuelSwitch, Defuel, EnginesOnSwitch] = defuelingtrigger(u)
% Unpack the inputs
time = u(1);
%fprintf('Pilot: Time[%f]\n',time);
% Switches
DefuelSwitchInput = u(2);
EnginesOnSwitchInput = u(3);
Defuel = u(4);
DefuelSwitch = DefuelSwitchInput;
EnginesOnSwitch = EnginesOnSwitchInput;
Defuel = -(RefuelQuantity) ;
if (DefuelSwitch == 1) && (EnginesOnSwitch == 1)
DefuelSwitch = 0;
EnginesOnSwitch = 0;
disp('Both switches can not be ON at the same time')
y = [DefuelSwitch, Defuel, EnginesOnSwitch];
end
% Pack the outputs
y(2) = DefuelSwitch;
y(4) = Defuel;
y(3) = EnginesOnSwitch;
end
%the imputs are in my simulink model and its only returning one output.
% im a novice so any suggestions will be appreciated!

 采纳的回答

if (DefuelSwitch == 1) && (EnginesOnSwitch == 1)
If that condition is not true, you do not assign anything to y, but you need the value of y after the end of the if statement.

2 个评论

thanks alot! I'm on the next level of errors now! (i'm making this a game before i lose my mind)
i'll let you know when i beat the boss error XD

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 General Applications 的更多信息

产品

版本

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by