Creating a function with a logical output.
21 ビュー (過去 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 件のコメント
Azzi Abdelmalek
2013 年 2 月 14 日
編集済み: Azzi Abdelmalek
2013 年 2 月 14 日
The question is what ans represent?
参考
カテゴリ
Help Center および File Exchange で Graphics Object Programming についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!