如何检查是否一个矩阵的每个元素比意味着更大的/小的元素各自的行吗?

1视图(30天)
我仍然在学习matlab基础因此原谅任何错误或“愚蠢”的问题。
我有一个广场nxn矩阵a,想检查每个元素是否大于各自的均值线(例如,如果A11元素大于从第一行元素的均值)。如果元素是较大的,用“+”取而代之。如果是小的,用“-”取而代之。最后我想显示原始矩阵和矩阵B“+”和“-”组成。
这是我所做的一切,我知道这是不正确的,但是我试了很多不同的东西,无法完成这个任务。
n = (“选择方阵的大小:)
A =兰迪(n, n)
B = [];
i = 1: n
如果意思是((我,:))我>
B (i) = = B (“+”)
结束
结束
2的评论

登录置评。

答案(1)

为副总经理
为副总经理 2022年11月23日
编辑:为副总经理 2022年11月23日
这是方法之一;我相信有很多其他的方法。
%一个矩阵
=魔法(5)
一个= 5×5
17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9
%行意味着
rmn =意味着(2)
rmn = 5×1
13 13 13 13 13
%元素大于排的意思
isgtmean = > rmn
isgtmean =5×5逻辑数组
1 1 0 0 1 1 0 0 1 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0
%使用字符映射生成B
charmap =”——+ ';
B = charmap (isgtmean + 1)
B =5×5字符数组
' + +——+ ' ' +——+ + - - - + +的”——+ + - + +的
当然,你没有提到应该做什么如果一个元素等于行的意思。上述情况下输出“-”元素的情况 小于或等于 的意思。如果你想要第三个角色,你可以…
%一个矩阵
一个=魔法(5);
%注意,必须把数字数组
rmn =意味着(2);
indexmap =双(= = rmn);
indexmap (> rmn) = 2
iseqmean = 5×5
2 2 0 0 2 2 0 0 2 2 0 0 1 2 2 0 0 2 2 0 0 2 2 0 0
%使用字符映射生成B
charmap =“- e +”;
B = charmap (indexmap + 1)
B =5×5字符数组
' + +——+ +——+ +的”——e + + ' '——+ + - + +的

类别

找到更多的在调整和重塑矩阵帮助中心文件交换

s manbetx 845


释放

R2021a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!