Creating a function with a logical output.
42 次查看(过去 30 天)
显示 更早的评论
Hi all,
I am quite confused. I have a function say like this:
function [output] = TLU( inputs, weights, threshold )
activationMagnitude = sum(weights.*inputs)
if activationMagnitude > threshold
output = true;
else
output = false;
end
But when I use class(ans) it always shows a char data type - despite me specifying the output as either true or false!
Why is this?
Best regards,
Craig
采纳的回答
Thorsten
2013-2-14
编辑:Thorsten
2013-2-14
There's nothing wrong with your function, you can just do it more concisely
function output = TLU( inputs, weights, threshold )
output = sum(weights.*inputs) > threshold;
Then
y = TLU([1 2 3], [ 4 5 6 ], 100)
yields
y =
0
And
class(y)
yields
ans =
logical
But of course then class(ans) gives char (because ans is the string 'logical'), but this has nothing to do with the class returned by your function.
0 个评论
更多回答(1 个)
José-Luis
2013-2-14
It does return logical for me.
What does
class(TLU(rand, rand, rand))
return? If ans returns something different, you may have overwritten its value before you call to class()
1 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Analysis of Variance and Covariance 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!