How should i get start with this?

18 views (last 30 days)
Alex Degaga
Alex Degaga on 1 Apr 2015
Edited: Alex Degaga on 26 Apr 2015
The Pythagorean theorem states that a^2 + b^2 = c^2 • Write a MATLAB program in a script file that finds all the combinations of triples a, b, and c that are positive integers all smaller or equal to 50 that satisfy the Pythagorean theorem. Display the results in a three-column table in which every row corresponds to one triple. The first three rows of the table are:
3 4 5
5 12 13
6 8 10
  2 Comments
James Tursa
James Tursa on 1 Apr 2015
Repeated Question:
"The Pythagorean theorem states that a^2 + b^2 = c^2 • Write a MATLAB program in a script file that finds all the combinations of triples a, b, and c that are positive integers all smaller or equal to 50 that satisfy the Pythagorean theorem. Display the results in a three-column table in which every row corresponds to one triple. The first three rows of the table are:
3 4 5
5 12 13
6 8 10
"
Why are you posting this here? You already had a Question for this with Answers:
Alex Degaga
Alex Degaga on 5 Apr 2015
Edited: Alex Degaga on 26 Apr 2015
Thank you Joep

Sign in to comment.

Accepted Answer

Joep
Joep on 1 Apr 2015
Edited: Joep on 1 Apr 2015
You can start by writing down the Pythagorean therm in matlab. The second is start a loop from 1 to 50. You could use a for loop for that.
n=1;
for a_ = 1:50
for b_ = 1:50
c_=sqrt(a_^2+b_^2);
if c_==round(c_)
if c_<=50
a(n)=a_;
b(n)=b_;
c(n)=c_;
n=n+1;
end
end
clear c_
end
end
Pyth=[a',b',c'];
disp(Pyth)
With this code you have still some double solutions. I let it to you to solve this bug. A solution could be found to let b>a and c>b but I didn't test it, so I could be wrong.
Update: I found by the way this for answer (without the bug):
3 4 5
5 12 13
6 8 10
7 24 25
8 15 17
9 12 15
9 40 41
10 24 26
12 16 20
12 35 37
14 48 50
15 20 25
15 36 39
16 30 34
18 24 30
20 21 29
21 28 35
24 32 40
27 36 45
30 40 50
  2 Comments
Alex Degaga
Alex Degaga on 2 Apr 2015
Edited: Alex Degaga on 5 Apr 2015
Thank you, I had the FOLLOWING, but what you did make sense a lot!
if length(a)==1
if length(b)==1
if length(c)==1
if a==abs(a)
if b==abs(b)
if c==abs(c)
for a=1:1:50
b=1:1:50
c=sqrt(a^2+b^2)
if a<=50&&b<=50&&c<=50
fprintf(' %i %i %i\n', a,b,c)
elseif a>50&&b>50&&c>50
disp('error')
elseif length(a)~=1,length(b)~=1, length(c)~=1
Joep
Joep on 7 Apr 2015
Edited: Joep on 7 Apr 2015
if a<=50&&b<=50&&c<=50
is this necessary? is
if c<=50
not enough? because a en b already are from 1 to 50.

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!