早教吧 育儿知识 作业答案 考试题库 百科 知识分享

几个matlab编程题1.用randn生成3*3二维随机数组A,分别求出数组中所有小于0的元素的“全下标”和“单下标”,并删除所有小于0的元素。2.编程实验数论中的一个有趣的问题:任取一个正整数

题目详情
几个matlab编程题
1.用randn生成3*3二维随机数组A,分别求出数组中所有小于0的元素的“全下标”和“单下标”,并删除所有小于0的元素。
2.编程实验数论中的一个有趣的问题:任取一个正整数,如果是偶数,用2除,如果是奇数,用3除再加1,反复这个过程,知道所得到的数为1.
▼优质解答
答案和解析
1.
A=randn(3,3);
[m,n] = find(A<0); % [m,n] 分别为全下标的横纵坐标
index = find(A<0); % index为单下标
A(A<0)=[]; % 删除所有小于0的元素
2.
clear;clc;
num = 31;
i = 0;
while(num~=1)
if(mod(num,2)==0)
num = floor(num/2);
else
num = floor(num/3)+1;
end
iter_num = iter_num + 1;
end
disp(num); %运行直至为1
disp(iter_num); % 循环次数