https://www.icourse163.org/learn/CSU-1002475002?tid=1450231442#/learn/content?type=detail&id=1214375614&cid=1218036363
msum=0;
n=0;
x=input('Enter a number (end in 0):');
while x~=0
msum=msum+x;
n=n+1;
x=input('Enter a number (end in 0):');
end
if n>0
msum
mean=msum/n
end
简化:
n=1;
mat=[];
while n~=0
n=input('请输入一个数:');
mat=[mat,n];
end
sumn=sum(mat)
aver=sumn/length(mat)
for n=100:200
if rem(n,21)~=0
continue
end
n
break
end
简化:
mat=100:200;
newmat=rem(mat,21);
k=find(~newmat);
mat(k(1))
注:find函数进阶:https://www.cnblogs.com/anzhiwu815/p/5907033.html
randi函数的使用:
r = randi(imax,n):生成n*n的矩阵
r = randi(imax,m,n):生成m*n的矩阵
r = randi(imax,[m,n]):同上
r = randi(imax,m,n,p,...):生成m*n*p*...的矩阵
r = randi(imax,[m,n,p,...])同上
r = randi(imax):1*1的矩阵
r = randi(imax,size(A)):和size(A)同维的矩阵
r = randi([imin,imax],...)
tic toc计时
原理:将1:m内的所有2的倍数(不含2),3的倍数(不含3)均令为0
m=input('m=');
p=1:m;
p(1)=0;
for i=2:sqrt(m)
for j=2*i:i:m
p(j)=0;
end
end
n=find(p~=0);
p(n)
1、k=[k,n],k后面是逗号代表以行写入,如果是分号,k向量就是列向量了。
2、s=0;
for i=1:10
if rem(i,2)==0
continue
end
if rem(i,7)==0
break
end
s=s+i;
end
disp(s)
输出结果:s=9(1+3+5)