提问人:madeinQuant 提问时间:12/16/2020 更新时间:12/16/2020 访问量:47
如何用 incanter 更改矩阵的元素?
How to change the matrix's element with incanter?
问:
如何更改矩阵中的元素?根据 Incanter 文档,该库建立在 Clatrix 之上。使用 Clatrix 时,使用命令 在矩阵中设置一个元素。请评论如何在 incanter 中设置元素。谢谢。(set A 1 2 0)
(ns cljsl.optimization
(:require [incanter.core :as i]
[incanter.stats :as s]))
;; create a matrix
cljsl.examples=> (def A (i/matrix [[0 1 2] [3 4 5]]))
cljsl.examples=> A
A 2x3 matrix
-------------
0.00e+00 1.00e+00 2.00e+00
3.00e+00 4.00e+00 5.00e+00
;; the view the item
cljsl.examples=> (i/$ 0 0 A)
0.0
;; element can be set with Clatrix, unfortunately, it don't correct with Incanter.
cljsl.examples=> (cl/set A 1 2 0)
答:
3赞
akond
12/16/2020
#1
(require '[clojure.core.matrix :as m])
(m/mset! A 0 0 -1)
评论
0赞
madeinQuant
12/16/2020
谢谢。我可以问一个问题吗?在“[”前面有或没有(')和有什么区别?
0赞
madeinQuant
12/16/2020
我收到错误消息“没有实现方法:set-2d!我正在将 [incanter “1.5.7”] 与 clojure “1.10.1” 一起使用,incanter 1.9.3 与 clojure “1.10.1” 不兼容,无论如何,感谢您的帮助。
1赞
madeinQuant
12/16/2020
#2
感谢您的帮助。复习完这本书后,.找到修复错误的过程。Clojure for Machine Learning
Clojure for Data Science
将以下依赖项添加到文件中。
project.clj
[clatrix "0.5.0"]
命名空间声明
(ns cljsl.optimization (:require [clatrix.core :as cl] [incanter.core :as i] [incanter.stats :as s]))
测试
cljsl.optimization=> (def A (i/matrix [[0 1 2] [3 4 5]])) #'cljsl.optimization/A cljsl.optimization=> A A 2x3 matrix ------------- 0.00e+00 1.00e+00 2.00e+00 3.00e+00 4.00e+00 5.00e+00 ljsl.optimization=> (cl/set A 1 2 0) #object[org.jblas.DoubleMatrix 0x1c951881 "[0.000000, 1.000000, 2.000000; 3.000000, 4.000000, 0.000000]"] cljsl.optimization=> A A 2x3 matrix ------------- 0.00e+00 1.00e+00 2.00e+00 3.00e+00 4.00e+00 0.00e+00
评论