1.编写程序:计算1/3+2/5+3/7+……+10/21
法一: s=0;
for i=1:10
s=s+i/(2*i+1); end ss =
4.4096 法二:
sum((1:10)./(3:2:21)) ans =
4.4096
2.编写程序:计算1~100中即能被3整除,又能被7整除的所有数之和。
s=0;
for i=1:100
if mod(i,3)==0&&mod(i,7)==0 s=s+i; end,end ss =
210
3.画出y=n!的图(1<=n<=10),阶乘的函数自己编写,禁用MATLAB自带的阶乘函数。
x=1:10; for i=1:10
try y(i)=y(i-1)*i; catch y(i)=1; end,end plot(x,y)
43.532.521.510.50x 10612345678910
4.一个数恰好等于它的因子之和,这个数就称为完数。例如,6的因子为1,2,3,而6=1+2+3,因此6就是一个完数。编程找出2000以内的所有完数。
g=[];
for n=2:2000 s=0;
for r=1:n-1
if mod(n,r)==0 s=s+r; end end
if s==n
g=[g n]; end end g
g =6 28 496
5.编写一个函数,模拟numel函数的功能,函数中调用size函数。
function y=numelnumel(x) m=size(x); y=m(1)*m(2);
numelnumel([1 2 3;4 5 6])
ans =
6
6. 编写一个函数,模拟length函数的功能,函数中调用size函数。
function y=lengthlength(x) m=size(x);
y=max(m(1),m(2));
lengthlength([1 2 3;4 5 6])
ans =
3
7.求矩阵rand(5)的所有元素和及各行平均值,各列平均值。
s=rand(5);
sum=sum(sum(s)) mean2=mean(s,2) mean1=mean(s)
sum =
13.8469
mean2 =
0.5583 0.5536 0.6554 0.4931 0.5090
mean1 =
0.6331 0.5006 0.6487 0.7124 0.2745
8.编程判断1001,1003,1007,1009,1011为素数,若不是,输出其约数。
function sushupd(x) s=fix(sqrt(x)); p=1;
for i=2:s
if mod(x,i)==0 p=0; break end end
if p==1
disp('该数是素数') else g=[]; for i=1:x
if mod(x,i)==0 g=[g i]; end end
disp('该数不是素数') g end
是否
sushupd(1001) 该数不是素数 g =
1 7 11 13 77 91 143 1001
>> sushupd(1003) 该数不是素数 g =
1 17 59 1003
>> sushupd(1007) 该数不是素数 g =
1 19 53 1007
>> sushupd(1009) 该数是素数
>> sushupd(1011) 该数不是素数 g =
1 3 337 1011
9.将[1563 35 4123 65 121233 356 57; 1223543 43 23 132 345 45 31]从小到大排序,排成一列,禁用sort函数。
s=[1563 35 4123 65 121233 356 57;1223543 43 23 132 345 45 31]; s=[s(1,:) s(2,:)]; for i=1:length(s)-1 for i=1:length(s)-1 if s(i)>s(i+1) a=s(i);
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库matlab程序设计例题及答案在线全文阅读。
相关推荐: