矩阵运算 Prolog
您好,我需要一些 prolog 函数的帮助,请:
定义谓词:
行(X,N,C):C 是矩阵 X 的第 N 行。
列(X,N,C):C 是矩阵 X 的第 N 列.first_column
(X,C,R):矩阵X由第一列C和矩阵R的其余部分组成
。 对称(X):X是对角线对称的二次矩阵。
该矩阵是列表的列表:[[a,b,c],[d,e,f],[g,h,i]]>>>
a b c
d e f
g h i
Hi I need a help with some prolog functions, please:
Define predicates:
row(X,N,C): C is the row N of matrix X.
column(X,N,C): C is the column N of matrix X.
first_column(X,C,R): the matrix X is formed by first column C and the rest of matrix R.
symmetrical(X): X is a quadratic matrix symmetrical to the diagonal.
The matrix is a list of lists: [[a,b,c],[d,e,f],[g,h,i]] >>>
a b c
d e f
g h i
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
考虑:
测试:
对于行:
列:
第一列:
最后,矩阵对称性由任何矩阵本身的转置定义。
Consider:
Testing with:
For rows:
Columns:
First column:
Finally, matrix symmetry is defined by any matrix which is the transposition of itself.
在 SWI-Prolog 中,您可以像这样定义行和列谓词:
请注意,如果仅给出
矩阵
,则使用这些定义您还可以生成行/列,例如对称矩阵可以这样生成:
用法:
In SWI-Prolog you could define the row and column predicates like this:
Note that using these definitions you can also generate the rows/columns if only the
Matrix
is given, e.g.Symmetric matrices could be generated like this:
Usage: