HP Forums
Pascal triangle to a matrix - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html)
+--- Forum: HP Prime (/forum-5.html)
+--- Thread: Pascal triangle to a matrix (/thread-14032.html)



Pascal triangle to a matrix - Tonig00 - 11-22-2019 08:45 AM

Hello
I need some help. I do not program often and when I do I have doubts.

I try to put the values of the Pascal triangle,
1 --- m1(1,1)
1 1 --- m1(2,1) m1(2,2)
1 2 1 --- m1(3,1), etc
1 3 3 1
……………..
to a matrix that I call "m1" up to "f" lines, in the following way:

EXPORT Tri_Pa(f)
BEGIN
LOCAL n,m;
LOCAL m1;
FOR n FROM 0 TO f DO
FOR m FROM 0 TO n DO
m1(n,m):=COMB(n,m);
END;
END;
END;

But the program stops in the line "m1(n,m):=…", and says: "Invalid input".

How should I define the matrix to avoid the error?

Thanks in advance for your help

Toni


RE: Pascal triangle to a matrix - toml_12953 - 11-22-2019 01:07 PM

(11-22-2019 08:45 AM)Tonig00 Wrote:  Hello
I need some help. I do not program often and when I do I have doubts.

I try to put the values of the Pascal triangle,
1 --- m1(1,1)
1 1 --- m1(2,1) m1(2,2)
1 2 1 --- m1(3,1), etc
1 3 3 1
……………..
to a matrix that I call "m1" up to "f" lines, in the following way:

Thanks in advance for your help

Toni

What does COMB(0,0) even mean? I don't see it as being useful.

Try this:

Code:
EXPORT Tri_Pa(f)
BEGIN
   LOCAL n,m;
   LOCAL m1:=makemat(0,f,f);
   FOR n FROM 1 TO f DO
      FOR m FROM 1 TO n DO
         m1(n,m):=COMB(n,m);
      END;
   END;
END;



RE: Pascal triangle to a matrix - Didier Lachieze - 11-22-2019 03:57 PM

(11-22-2019 08:45 AM)Tonig00 Wrote:  But the program stops in the line "m1(n,m):=…", and says: "Invalid input".

How should I define the matrix to avoid the error?

You get an error because:
- You need to define m1 as a matrix
- Matrix indices start at 1 and not 0

So here is a working version of your program :

Code:
EXPORT Tri_Pa(f)
BEGIN
  LOCAL n,m;
  LOCAL m1:=[[0]];
  FOR n FROM 0 TO f-1 DO
    FOR m FROM 0 TO n DO
      m1(n+1,m+1):=COMB(n,m);
    END;
  END;
END;

Note that you can also generate the same matrix using just the MAKEMAT function:

Code:
EXPORT Tri_Pa(f)
BEGIN
  MAKEMAT(IFTE(I<J,0,COMB(I-1,J-1)),f,f);
END;



RE: Pascal triangle to a matrix - Tonig00 - 11-22-2019 07:14 PM

Thanks very much

Both works, and very interesting how the matrix works and the IFTE function.

Thanks