- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Matlab 查找雅可比迭代矩阵的谱半径,其中 A=[4 2 1;1 3 1;1 1 4]
。
我似乎无法输入正确的命令来获得 5 次迭代后的错误大小。有人可以帮助我吗?
以下是我到目前为止输入到 Matlab 中的命令列表:
A=[4 2 1;1 3 1;1 1 4]
A =
4 2 1
1 3 1
1 1 4
D=diagonal(diagonal(A));L=(A,-1);U=(A,1);
b=([3 -1 4])
x0j=zeros([0 0 0]);
x=D\(-(U+L)*x0j+b);r=b-A*x %Jacobi iteration.
------------------------------------------------------------------------------
Error using *
Inputs must be 2-D, o enter code here r at least one input must be scalar.
To compute element wise TIMES, use TIMES (.*) instead.
最佳答案
spectral radius矩阵的最大值是其特征值的模数。它可以使用 max(abs(eig(·)))
简单计算。
但是,正如其他人所注意到的,您的整个代码看起来很困惑,实际上不是有效的 Matlab 代码,所以您的问题并不是真正计算光谱半径,对吗? algorithm非常简单易行:
% diagonal part of A and rest
D = diag(diag(A));
R = A - D;
% iteration matrix and offset
T = - inv(D) * R;
C = inv(D) * b;
% spectral radius condition
rho = max(abs(eig(T)));
if rho >= 1
error('no convergence')
end
% initial guess
x = randn(size(b));
% iteration
while norm(A * x - b) > 1e-15
x = T * x + C;
end
请注意,我使用 inv(D)
直接遵循维基百科中的描述,但是可以使用 diag(1 ./diag(D) 轻松计算对角矩阵的逆矩阵)
。
我真的不明白为什么需要将 R
分成上下两部分。我想这与数值效率有关,但是,Matlab 已经是一种非常高效的矩阵计算高级语言。所以实际上,当您可以简单地编写 A\b
时,实际上没有必要在其中显式地实现 Jacobi 算法——我想除了教育目的。
关于matlab - 找到雅可比迭代矩阵的谱半径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19992255/
我正在尝试找到一个 C 代码程序,它可以让我计算方阵的特征值(谱)分解。我特别试图找到最高特征值(及其关联的特征值)位于第一列的代码。 我需要按此顺序输出的原因是因为我正在尝试计算特征向量中心性,因此
我正在尝试找到一个 C 代码程序,它允许我计算方阵的特征值(谱)分解。我专门尝试查找最高特征值(及其相关特征值)位于第一列的代码。 我需要按此顺序输出的原因是因为我正在尝试计算特征向量中心性,因此我只
关于从哪里开始使用 d3 制作 fiddle 图表有什么想法吗?它已经存在了吗? 我环顾四周,想出了如何使用 ggplot2 来完成此操作,并希望有一个现成的示例可供我学习,但尚未找到。 我想我可以做
我在 Glue 数据目录中定义了一个表,我可以使用 Athena 进行查询。由于表中有一些数据我想与其他 Redshift 表一起使用,我可以访问 Glue 数据目录中定义的表吗? 什么是创建外部表查
我想对一些内容进行 md5 散列,然后生成 n 个点的“曲线”或“频谱”。也就是说,要绘制从 0 到 1 的直线上的 5、10 或 20 个点,以某种方式分布,使其对于 md5 哈希是唯一的(碰撞无关
我是一名优秀的程序员,十分优秀!