如何更改矩阵中的元素?根据Incanter文档,该库构建在Clatrix之上。在Clatrix中,使用(set A 1 2 0)命令在矩阵中设置一个元素。请评论如何在incanter中设置元素。谢谢。
(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)发布于 2020-12-16 19:56:55
(require '[clojure.core.matrix :as m])
(m/mset! A 0 0 -1)发布于 2020-12-16 22:11:26
谢谢你的帮助。在回顾了Clojure for Machine Learning和Clojure for Data Science这本书之后。已找到修复错误的过程。
project.clj文件。clatrix "0.5.0"
(ns cljsl.optimization (:需要clatrix.core :as cl incanter.stats :as s))
cljsl.optimization=> (定义A(I/矩阵[0 1 2])) #'cljsl.optimization/A cljsl.optimization=> A 2x3矩阵- 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矩阵- 0.00e+00 1.00e+00 2.00e+00 3.00e+00 4.00e+00 0.00e+00
https://stackoverflow.com/questions/65322522
复制相似问题