首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用incanter改变矩阵的元素?

如何用incanter改变矩阵的元素?
EN

Stack Overflow用户
提问于 2020-12-16 19:38:02
回答 2查看 43关注 0票数 0

如何更改矩阵中的元素?根据Incanter文档,该库构建在Clatrix之上。在Clatrix中,使用(set A 1 2 0)命令在矩阵中设置一个元素。请评论如何在incanter中设置元素。谢谢。

代码语言:javascript
复制
(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)
EN

回答 2

Stack Overflow用户

发布于 2020-12-16 19:56:55

代码语言:javascript
复制
(require '[clojure.core.matrix :as m])

(m/mset! A 0 0 -1)
票数 3
EN

Stack Overflow用户

发布于 2020-12-16 22:11:26

谢谢你的帮助。在回顾了Clojure for Machine LearningClojure for Data Science这本书之后。已找到修复错误的过程。

  1. 将以下依赖项添加到project.clj文件。

clatrix "0.5.0"

  1. 命名空间声明

(ns cljsl.optimization (:需要clatrix.core :as cl incanter.stats :as s))

  1. 测试

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65322522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档