matlab实现判断是否能否生成严格对角占优矩阵
2024-10-12 18:38:47
如题:
function X = IsStrictDiagMatrix(A)
% input: A matrix
% output: The matrix after transformation
% if the matrix is not a square matrix, return error
if size(A, 1) ~= size(A, 2)
error('It is not a square matrix');
end
% get the size of A and set the size of X
% use an array to accord if all the row be set
N = size(A, 1);
X = zeros(N, N);
has_set = zeros(N);
for i = 1 : N
% find out the max element in a row
row_max = max(abs(A(i, : )));
% if the max element is not larger than sum of others, return error
if (row_max <= (sum(abs(A(i, : ))) - row_max))
error('It can not be transformed to strict diagonal dominance matrix');
end
% find out the index of max element and set the row j of matrix X
% accord row j has been set
for j = 1 : N
if (abs(A(i, j)) == row_max)
X(j, : ) = A(i, : );
has_set(j) = 1;
end
end
end
% if any hasn't been set, return error
for i = 1 : N
if (has_set == 0)
error('It can not be transformed to strict diagonal dominance matrix');
end
end
% output success
fprintf('It can be transformed to a strict diagonal dominance matrix: \n');
end
最新文章
- zTree Jquery eCharts
- iOS7上的地图定位接口BUG
- JQuery 控制元素显示隐藏
- PBR实现
- 【iCore3 双核心板】例程十八:USB_VCP实验——虚拟串口
- Google protocol buffer在windows下的编译
- 通过pinyin4j将汉字转换为全拼 和 拼音首字母
- 剑指Offer:二进制中1的个数
- 信息安全实验二:return-to-libc
- Recursive Depth first search graph(adj matrix)
- MQTT——控制报文格式
- HDU - 3533 bfs [kuangbin带你飞]专题二
- Hexo博客搭建
- JAVA之列表
- 关于spring的源码的理解
- nginx简单介绍
- windows 下的命令操作
- 求1+2+……+n的和
- weex+vue2.x 踩坑实录(不定期更新)
- js+jquery检测用户浏览器型号(转)