我必须将矩阵表示为带有术语的矩阵行列表
像这个[[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.
有人能帮助我吗?
答案 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.
这显示了您将用于回答其他两项任务的基本要素。