필터 지우기
필터 지우기

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

채택된 답변

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 CenterFile Exchange에서 Graphics Object Programming에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by