创建一个以矩阵形式显示大于0.8的数字的程序



这里的新程序员

我的任务是制作一个程序,该程序可以选择并显示一个5x6随机矩阵中有多少个大于0.8的数字,其中有2个用于循环,如果有人知道如何制作,我将不胜感激

提前谢谢。

我用八度音阶写,

代码就是这样开始的:

clear
clc
rand(5,6);
for row =….

希望这段MATLAB代码能移植到Octave。第一种方法使用两个for循环来扫描/遍历矩阵。如果在扫描Matrix(Row,Column)期间从矩阵检索的值大于0.8,则变量Number递增。重复此过程,直到检查完整个矩阵。CCD_ 3用于存储所有大于0.8的数字。

使用For循环:

clear;
clc;
Matrix = rand(5,6);
Numbers_Greater_Than = [];
[Number_Of_Rows,Number_Of_Columns] = size(Matrix);

Number = 0;
for Row = 1: Number_Of_Rows
for Column = 1: Number_Of_Columns
if(Matrix(Row,Column) > 0.8)
Number = Number + 1;
Numbers_Greater_Than = [Numbers_Greater_Than Matrix(Row,Column)];
end
end
end
fprintf("The are %d numbers greater than 0.8 in the matrixn",Number);
Numbers_Greater_Than

扩展:

或者:使用单个数字索引扫描元素。

clear;
clc;
Matrix = rand(5,6);
Number = 0;
for Element = 1: numel(Matrix)   
if(Matrix(Element) > 0.8)
Number = Number + 1;
end

end
fprintf("The are %d numbers greater than 0.8 in the matrixn",Number);

使用逻辑阵列:

此方法基于条件> 0.8创建逻辑阵列。CCD_ 5被设置为"0";1〃;当条件为真并且设置为"0"时;0";当条件为假时。通过随后取和,可以计算矩阵中条件为真的次数。

clear;
clc;
Matrix = rand(5,6);
Logical_Array = Matrix > 0.8;
Number = sum(Logical_Array,'all');
fprintf("The are %d numbers greater than 0.8 in the matrixn",Number);

使用MATLAB R2019b运行

最新更新