矩阵作为矩阵行序列的列表

时间:2012-11-05 20:51:49

标签: prolog successor-arithmetics

我必须将矩阵表示为带有术语的矩阵行列表 像这个[[a,b],[c,d]]一样用Peano表示法表示数字。

我必须获得一行矩阵

ow(X,N,C):C是矩阵X的第N行和矩阵

的列

column(X,N,C):C表示矩阵X的第N列。

另外这个用于分解第一列和矩阵其余部分的矩阵    (这是完全相同的矩阵但没有第一列):

first_column(X,C,R): matrix X is formed by a first column C in
                     front of matrix R. 

有人能帮助我吗?

1 个答案:

答案 0 :(得分:0)

Peano'表示法简化了递归算法的表达。 我假设矩阵索引是基于0,并将向您展示如何获得任务中最简单的任务。

row([Row|_], 0, Row).
row([_|Rows], succ(N), Row) :- row(Rows, N, Row).

test(获取第二个行,索引为1):

?- row([[a,b], [c,d]], succ(0), R).
R = [c, d] ;
false.

这显示了您将用于回答其他两项任务的基本要素。