How to use for Loop and if statement to construct a Pythagorean triple function?

I am working on construct a Pythagorean triple functions with inputs (a,b,c). Function: a^2+b^2=c^2
I am confused when the Matlab reminds me of NOT ENOUGH INPUT ARGUMENT. Should I initialize a,b,c? Besides I need use loop and if statement to check a,b,and c are all positive.
This is what I have written:
function [ Pyth] = isPythag( a,b,c )
d =a.^2+b.^2-c.^2; [row,column]=size(d);
for i=1:row for j=1:column if (d(i,j)==0) pyth(i,j)=1; else pyth(i,j)=0; end end end end

 채택된 답변

Adam
Adam 2014년 11월 13일
편집: Adam 2014년 11월 13일
Is the aim of your function simply to determine whether a, b, and c form a Pythagorean triple?
If so then yes you need to intialise them and pass 3 arguments to your isPythag function...e.g.
isPythag( 3, 4, 5 ) % True
isPythag( 4, 5, 6 ) % False
You don't need a for loop though unless you intend to pass in vectors of a, b and c and even then you can vectorise rather than use a for loop to give multiple answers.
You also need to be consistent with capitalisation or not of variable names.
'pyth' is a different variable to the 'Pyth' output variable your function expects.

댓글 수: 1

I sincerely appreciate that. You reminded me of how careless I was. Cool, I definitely will also try your method.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Manoj
Manoj 2014년 11월 13일
You need to change pyth to Pyth.

카테고리

도움말 센터 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

태그

질문:

2014년 11월 13일

댓글:

2014년 11월 13일

Community Treasure Hunt

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

Start Hunting!

Translated by