怎么编写程序MATLAB,产生20个两位随机整数,输出其中小于平均值的偶数?
4个回答
展开全部
根据目的判断,需要调取到的函数有randi、mod、mean、find,分别用于产生随机整数、判断是否为偶数、计算平均数、寻找满足条件元素的下标。
代码如下:
clc;clear;
n=randi([10,99],[1,20])%产生随机数,在10到99之间的均匀随机数
a=mean(n)%计算平均数
n(find(n<a&mod(n,2)==0))%输出小于平均数的偶数
MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
展开全部
可以这样做:
a=randi([1,1000],20,1);%产生20个随机整数
a(a<mean(a)&mod(a,2)==0)%输出其中小于平均值的偶数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a=fix(rand(1,20)*100);%产生20个随机数,因为产生的随机数是与小数形式产生的,乘于100后就是带有两个小数的两位数,在求整,就达到要求了
sum=0;
h=1;
for i=1:20
sum=sum+a(i);%求20个数的和
end
b=sum/20;%求平均值
%一下是求出小于平均值的奇数
for i=1:20
if (a(i)<b)&&( rem((a(i)+1),2)==0 )
c(h)=a(i);
h=h+1;
end
end
c
sum=0;
h=1;
for i=1:20
sum=sum+a(i);%求20个数的和
end
b=sum/20;%求平均值
%一下是求出小于平均值的奇数
for i=1:20
if (a(i)<b)&&( rem((a(i)+1),2)==0 )
c(h)=a(i);
h=h+1;
end
end
c
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
clear;
r=randi([10,99],1,20);
mr=mean(r);
k=1;
for i=1:20
if (mod(r(i),2)==0)&(r(i)<mr)
outr(k)=r(i);
k=k+1;
end
end
outr
r=randi([10,99],1,20);
mr=mean(r);
k=1;
for i=1:20
if (mod(r(i),2)==0)&(r(i)<mr)
outr(k)=r(i);
k=k+1;
end
end
outr
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询