gpt4 book ai didi

matlab - 画廊: subscript indices must either be real positive integers or logicals生成的稀疏矩阵错误

转载 作者:行者123 更新时间:2023-12-03 08:28:36 27 4
gpt4 key购买 nike

我通过以下方法生成了一个稀疏矩阵:

A = full(gallery('tridiag',n,1,4,1));

当我尝试通过以下方法生成此函数的特征 vector 时:
eig(A)

我收到标准错误“下标索引必须是实数正整数或逻辑”。我通读 Subscript indices must either be real positive integers or logicals, generic solution,但无法弄清楚如何解决该问题。这是否仅仅是由于我创建稀疏矩阵的方式,即使用gallery命令?如果是这样,如何创建没有该问题的矩阵?

Error output

我能够找到以下内容:

他们使用针对不同问题和不同目标量身定制的不同算法。

eig是一种很好,快速且通用的特征值/ vector 求解器。当您的矩阵具有适合内存的实际大小,并且需要所有特征值/ vector 时,则适合使用它。稀疏矩阵在eig中根本不起作用。

当只需要特征值/ vector 的有限子集时,Eigs是一种求解器。在这里,矩阵通常以稀疏格式存储,因为作为一个完整的矩阵,它将占用过多的内存来存储。似乎eigs基于ARPACK。

如果您确实要询问有关实际算法的细节,那么这个问题显然不适合本网站。坐在“矩阵计算”的副本中,或者更好的是,阅读文档中列出的对引用。
What is the difference between 'eig' and 'eigs'?

最佳答案

报告的错误表明eig被视为变量。在这种情况下,应清除工作空间(clear),然后再次尝试eig。如果使用以下命令,那也将立即显而易见:在这种情况下,MATLAB将返回:which eig(而不是eig is a variable.)

如果这不起作用,则接下来的明显工作是使用regenerate MATLAB's preferences,然后使用rehash the toolbox cache,以防二者中的任何一个因外部问题而损坏或由于用户意外而损坏。

关于matlab - 画廊: subscript indices must either be real positive integers or logicals生成的稀疏矩阵错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33399695/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com