首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何放大每个向量的值

如何放大每个向量的值
EN

Stack Overflow用户
提问于 2017-04-27 11:03:50
回答 2查看 91关注 0票数 0

我有100个向量的特征向量矩阵。我遇到的问题是向量的值非常低,几乎为零(平均e-10)!下面是一个向量的示例:

代码语言:javascript
复制
0.000000245023212264631
-0.00000000928673421733024
-0.00000000702744206187778
-0.0400022257147745
0.000715047161691289
0.000178299491594312
0.000000000000000111022302462516
-0.000000000000000444089209850063
-0.0000311452059972295
0.000000928320962476081
0.00025873217452001
-0.0000073255984986786
0.000226706852668388
-0.00000637215108697076
-0.00000741641656228371
0.000000000466042723561714
0.000000000279056699407741
-0.00000000926312312226756
0.00000000000000000000000000323117426778526
0.000000000000000000000000000403896783473158
-0.0366691252097418
-0.0305829466924761
-0.0300306491122465
0.99163522436172
-0.0000000033133072963138
-0.00000000339576544864114
-0.00000000339576544864114
-0.00000000339576544864114
-0.00000000339576544864114
-0.00000000339576544864114
-0.00000000339576544864114
-0.00000000339576544864114
-0.00000000339576544864114
-0.00000000331297544425818
-0.0000100525189687
-0.00000000339576544864114
-0.00000000339576544864114
-0.00000000339576544864114
-0.00000000339576544864114
-0.00000000339576544864114
-0.00000000339576544864114
-0.00000000339576544864114
0.000000100784783009722
-0.00000000339576544864114
-0.0000000033133072963138
-0.0000000033133072963138
-0.00000000339576544864114
-0.00000000339576544864114
-0.00000000339576544864114
-0.00000000339576544864114
0.000000000128704479996649
0.000000000128704479996649
0.000000000128704479996649
0.000000000128704479996649
0.000000000128704479996649
0.000000000128704479996649
0.000000000128704479996649
0.000000000128704479996649
0.000000000229274956160153
0.000000000128704479996649
0.000000000128704479996649
0.000000000229274956160153
0.000000000128704479996649
0.000000000128704479996649
0.000000000128704479996649
0.000000000128704479996649
0.000000000128704479996649

我想知道是否可以以某种方式放大每个向量,以便在不破坏特征向量的属性的情况下使值尽可能接近1(例如,0.01而不是0.0000001)。下面是我使用的代码:

代码语言:javascript
复制
library(igraph)
M <- data.matrix(test)
G <- graph.data.frame(M, directed = FALSE)
L <- laplacian_matrix(G, normalized = FALSE, weights = NULL, sparse = FALSE)
options(scipen=999)
df <- data.frame(eigen(L)) 
df[,1] <- NULL
write.table(df[,1], file = "~/test.csv", row.names=FALSE, col.names=FALSE, sep=",")
EN

回答 2

Stack Overflow用户

发布于 2017-04-27 11:10:21

我不知道这是否会打乱属性,但是像这样的.

代码语言:javascript
复制
test <- rnorm(100, mean = 0.00000000001, sd = 0.00000000002) # fake small set
test <- ifelse(test<0, test*-1, test) # removed negatives
scaledtest <- test/(max(test)+test[which.max(test)]/10)
票数 0
EN

Stack Overflow用户

发布于 2017-04-27 11:20:20

矩阵A的特征向量x的定义是,对于某个特征值c,Ax = cx,所以如果你放大x到kx,那么你的特征值必须是c/k才能满足方程。因此,您可以通过标量任意缩放特征向量,但相应的特征值将乘以逆值。

我不建议这样做,因为你引入的误差可能会很大。

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

https://stackoverflow.com/questions/43647948

复制
相关文章

相似问题

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