Create function with 8 input and 1 output

3 views (last 30 days)
Koran Namuq
Koran Namuq on 30 Oct 2022
Commented: John D'Errico on 31 Oct 2022
hello every one
I need to create function with 8 digital input (each input has two state one or zero ) and one output
for more explaination
if all inputs equal to 1 then out put equal to 1.5
if one input equal to 0 then output equal to 2
if two input equal to 0 then out put equal to 3
.
.
.
.
.
if 7 input equal to 0 then output equal to 8
else output equal to 0

Answers (1)

John D'Errico
John D'Errico on 30 Oct 2022
First, dont write a function with 8 variables as input. Have ONE variable be a vector of length 8. LEARN TO USE VECTORS AND ARRAYS!
Now the result is trivial. Count the number of elements in the vector that are zero.
fun([0 0 0 0 0 0 0 0])
ans = 0
fun([1 1 1 1 1 1 0 1])
ans = 2
fun([1 1 1 1 1 1 1 1])
ans = 1.5000
fun([1 0 1 0 1 0 1 0])
ans = 5
function out = fun(V)
outReturns = [0 8 7 6 5 4 3 2 1.5];
out = outReturns(sum(V) + 1);
end
This matches your stated goal.
  2 Comments
Koran Namuq
Koran Namuq on 30 Oct 2022
exactly I use simulink for my project so I have 8 variable input and one output
so that I should do function to connect it with my simulink project
kindly can you write full code for that in comment
thanks
John D'Errico
John D'Errico on 31 Oct 2022
No. I won't write full code to do your assignment. I'm sorry, but that is your assignment. However, surely you can figure how to take 8 variables, and concatenate them into a vector? And then, could you use what I showed?

Sign in to comment.

Categories

Find more on Simulink in Help Center and File Exchange

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!