标签: matrix

如何将矩阵的行连接到向量中?

对于m-by-m(square)数组,如何将所有行连接成大小为m ^ 2的列向量?

matlab concatenation matrix

34
推荐指数
1
解决办法
4万
查看次数

Rails `require':无法加载此类文件——矩阵

更新到 ruby​​ 3.1.2 和 Rails 7.0.2.3 后

启动 Rails 应用程序时出现以下错误:

`require': cannot load such file -- matrix (LoadError)
Run Code Online (Sandbox Code Playgroud)

可能的解决方案是什么,提前致谢。

matrix ruby-on-rails-3.1 ruby-on-rails-7

34
推荐指数
3
解决办法
8478
查看次数

什么是SVD(奇异值分解)

它是如何真正减少噪音的..你能建议一些不错的教程吗?

math matrix linear-algebra svd

33
推荐指数
4
解决办法
1万
查看次数

在R,NULL与NA中分配矩阵的最佳方法是什么?

我正在编写R代码来创建一个方阵.所以我的方法是:

  1. 分配正确大小的矩阵
  2. 遍历矩阵的每个元素并用适当的值填充它

我的问题很简单:预先分配这个矩阵的最佳方法是什么?到目前为止,我有两种方式:

> x <- matrix(data=NA,nrow=3,ncol=3)
> x
     [,1] [,2] [,3]
[1,]   NA   NA   NA
[2,]   NA   NA   NA
[3,]   NA   NA   NA
Run Code Online (Sandbox Code Playgroud)

要么

> x <- list()
> length(x) <- 3^2
> dim(x) <- c(3,3)
> x
     [,1] [,2] [,3]
[1,] NULL NULL NULL
[2,] NULL NULL NULL
[3,] NULL NULL NULL
Run Code Online (Sandbox Code Playgroud)

据我所知,前者比后者更简洁.此外,前者用NA填充矩阵,而后者填充NULL.

这是"更好"的方法吗?在这种情况下,我将"更好"定义为"更好的性能",因为这是统计计算,并且此操作将在大型数据集中进行.

虽然前者更简洁,但理解起来并不令人惊讶,所以我觉得这可能是两种方式.

另外,R中NA和NULL之间有什么区别??NA和?NULL告诉我"NA"的长度为"1",而NULL的长度为"0" - 但这里有更多吗?还是最佳做法?这将影响我用于创建矩阵的方法.

r matrix

33
推荐指数
1
解决办法
5万
查看次数

我在C中的函数参数分号

matrix_* matrix_insert_values(int n; double a[][n], int m, int n)
{
    matrix_* x = matrix_new(m, n);
    for (int i = 0; i < m; i++)
        for (int j = 0; j < n; j++)
            x->v[i][j] = a[i][j];
    return x;
}
Run Code Online (Sandbox Code Playgroud)

我的测试矩阵的例子

double in[][3] = {
    { 12, -51,   4},
    {  6, 167, -68},
    { -4,  24, -41},
    { -1, 1, 0},
    { 2, 0, 3},
};
Run Code Online (Sandbox Code Playgroud)

我有点迷茫,我无法弄清楚什么是"int n;" 在我的参数声明中,它适用于C,但C++不允许这种实现.我想了解这是如何工作的,因为我要将此代码迁移到c ++.谢谢

c c++ syntax matrix

33
推荐指数
1
解决办法
1718
查看次数

线性索引,逻辑索引以及所有这些

我们习惯于在Matlab中使用不同形式的索引:

  • 标准(使用每个维度的整数),
  • 逻辑(使用逻辑值),
  • 线性(使用单个索引遍历具有多个维度的数组).

乍一看,似乎这些形式是独占的:索引是标准的,逻辑的或线性的.然而,有时似乎在这些形式中的几种之间存在混合.例如,

>> A = magic(3)
A =
     8     1     6
     3     5     7
     4     9     2
>> A(A>5)
ans =
     8
     9
     6
     7
Run Code Online (Sandbox Code Playgroud)

这是合乎逻辑的索引,对吧?但它也具有线性索引的一些功能,因为返回了列向量.实际上,逻辑索引A>5与线性索引具有相同的效果find(A>5).

作为第二个例子,考虑一下

>> A = magic(3)
A =
     8     1     6
     3     5     7
     4     9     2
>> A(1:2, [true false true])
ans =
     8     6
     3     7
Run Code Online (Sandbox Code Playgroud)

在此表达式中,标准(整数值)索引用于第一个坐标,逻辑索引用于第二个坐标.

这些例子(以及在实践中出现的更复杂的例子)提出了以下问题:

  • Matlab有哪些类型的索引?
  • 它们如何结合起来?
  • 他们应该如何被提及?

arrays matlab matrix matrix-indexing

33
推荐指数
1
解决办法
2620
查看次数

计算矩阵的特征值有多贵?

计算矩阵的特征值有多贵?

最佳算法的复杂性是什么?

如果我有一个1000 x 1000的矩阵,在实践中需要多长时间?我认为如果矩阵稀疏会有帮助吗?

是否存在特征值计算不会终止的情况?

R,我可以计算特征值,如下面的玩具示例所示:

m<-matrix( c(13,2, 5,4), ncol=2, nrow=2 )
eigen(m, only.values=1)
$values
[1] 14  3
Run Code Online (Sandbox Code Playgroud)

有谁知道它使用什么算法?

是否还有其他(开源)软件包可以计算特征值?

r matrix linear-algebra eigenvalue sparse-matrix

32
推荐指数
6
解决办法
3万
查看次数

R - 像素矩阵的图像?

你怎么用R中的矩阵制作图像?

矩阵值将对应于图像上的像素强度(虽然我只对此时的0,1值白色或黑色感兴趣.),而列和行编号对应于图像上的垂直和水平位置.

通过制作图像我的意思是在屏幕上显示它并将其保存为jpg.

r image matrix

32
推荐指数
3
解决办法
7万
查看次数

对角线条中的导线矩阵

我认为这个问题有一个简单的解决方案,几个for循环和一些花哨的计数器,但显然它更复杂.

所以我的问题是,你如何编写(在C中)对角线条中方形矩阵的函数遍历.

例:

1  2  3
4  5  6
7  8  9
Run Code Online (Sandbox Code Playgroud)

必须按以下顺序遍历:

[1],[2,4],[3,5,7],[6,8],[9]
Run Code Online (Sandbox Code Playgroud)

上面的每个条带都用方括号括起来.其中一个要求是能够区分条带.这意味着你知道什么时候开始新的条带.这是因为我必须为条带中的每个项目调用另一个函数,然后在新条带的开头之前调用.因此,没有代码重复的解决方案是理想的.

c algorithm traversal matrix

31
推荐指数
4
解决办法
4万
查看次数

`which()`用于矩阵索引的函数

假设我有一些矩阵,例如:

> m = matrix(rep(c(0, 0, 1), 4), nrow = 4)
> m
     [,1] [,2] [,3]
[1,]    0    0    1
[2,]    0    1    0
[3,]    1    0    0
[4,]    0    0    1
Run Code Online (Sandbox Code Playgroud)

如果我跑which,我得到正常指数列表:

> which(m == 1)
[1]  3  6  9 12
Run Code Online (Sandbox Code Playgroud)

我希望得到像矩阵索引这样的东西 - 每个索引都包含行号和列号:

     [,1] [,2]
[1,]    3    1
[2,]    2    2
[3,]    1    3
[4,]    4    3
Run Code Online (Sandbox Code Playgroud)

这有什么简单的功能吗?此外,它应该以某种方式包含行和列名称:

> rownames(m) = letters[1:4]
> colnames(m) = letters[5:7]
> m
  e f g
a 0 0 1 …
Run Code Online (Sandbox Code Playgroud)

indexing r matrix

31
推荐指数
2
解决办法
7万
查看次数