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!

4 commentaires

This is your MATLAB code and what about your Simulink model?
it returns one output for some reason
osman cusmaan
osman cusmaan le 28 Déc 2022
Modifié(e) : osman cusmaan le 28 Déc 2022
its the matlab code for the block

Connectez-vous pour commenter.

 Réponse acceptée

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 commentaires

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

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur General Applications dans Centre d'aide et File Exchange

Produits

Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by