フィルターのクリア

Creating a function with a logical output.

21 ビュー (過去 30 日間)
Craig
Craig 2013 年 2 月 14 日
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
  1 件のコメント
Azzi Abdelmalek
Azzi Abdelmalek 2013 年 2 月 14 日
What ans represent?

サインインしてコメントする。

採用された回答

Thorsten
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.

その他の回答 (1 件)

José-Luis
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
Azzi Abdelmalek 2013 年 2 月 14 日
編集済み: Azzi Abdelmalek 2013 年 2 月 14 日
The question is what ans represent?

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeGraphics Object Programming についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by