Create function with 8 input and 1 output

3 次查看(过去 30 天)
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

回答(1 个)

John D'Errico
John D'Errico 2022-10-30
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 个评论
Koran Namuq
Koran Namuq 2022-10-30
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 2022-10-31
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?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Simulink 的更多信息

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by