matlab程序设计例题及答案.docx

上传人:b****8 文档编号:9898288 上传时间:2023-02-07 格式:DOCX 页数:6 大小:42.48KB
下载 相关 举报
matlab程序设计例题及答案.docx_第1页
第1页 / 共6页
matlab程序设计例题及答案.docx_第2页
第2页 / 共6页
matlab程序设计例题及答案.docx_第3页
第3页 / 共6页
matlab程序设计例题及答案.docx_第4页
第4页 / 共6页
matlab程序设计例题及答案.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

matlab程序设计例题及答案.docx

《matlab程序设计例题及答案.docx》由会员分享,可在线阅读,更多相关《matlab程序设计例题及答案.docx(6页珍藏版)》请在冰豆网上搜索。

matlab程序设计例题及答案.docx

matlab程序设计例题及答案

matlab程序设计例题及答案

1.编写程序:

计算1/3+2/5+3/7+……+10/21

法一:

s=0;

fori=1:

10

s=s+i/(2*i+1);endss=

法二:

sum((1:

10)./(3:

2:

21))ans=

2.编写程序:

计算1〜100中即能被3整除,又能被7整除的所有数之和。

s=0;

fori=1:

100

ifmod(i,3)==0&&mod(i,7)==0s=s+i;end,end

ss=

210

3.画出y=n!

的图,阶乘的函数自己编写,禁用MATLAB

自带的阶乘函数。

x=1:

10;fori=1:

10

tryy(i)=y(i-1)*i;catchy(i)=1;end,end

Plot(x,y)

10612345678910

4.一个数恰好等于它的因子之和,这个数就称为完数。

例如,6的因子为1,2,3,而6=1+2+3,因此6就是一个完

数。

编程找出20XX以内的所有完数。

g=;

forn=2:

20XXs=0;

forr=1:

n-1

ifmod(n,r)==0s=s+r;endend

ifs==n

g=[gn];endendg

g=628496

5.编写一个函数,模拟numel函数的功能,函数中调用

size函数。

functiony=numelnumel(x)m=size(x);y=m

(1)*m

(2);numelnumel([123;456])

ans=

6

6.编写一个函数,模拟length函数的功能,函数中调

用size函数。

functiony=lengthlength(x)m=size(x);

y=max(m

(1),m

(2));

lengthlength([123;456])

ans=

值。

s=rand(5);

sum=sum(sum(s))mean2=mean(s,2)mean1=mean(s)sum=

mean2=meanl=

8.编程判断1001,1003,1007,1009,1011为素数,若

不是,输出其约数。

functionsushupd(x)s=fix(sqrt(x));p=1;

fori=2:

s

ifmod(x,i)==0p=0;breakendend

ifp==1

disp('该数是素数')elseg=;fori=1:

x

ifmod(x,i)==0g=[gi];endend

disp('该数不是素数')gend

是否

sushupd(1001)该数不是素数g=

1711137791143

119531007

9.将[15633541236512123335657;12235434323

1323454531]从小到大排序,排成一列,禁用sort函数

s=[15633541236512123335657;12235434323132

3454531];s=[s(1,:

)s(2,:

)];fori=1:

length(s)-1for

a=s(i);

i=1:

length(s)-1ifs(i)>s(i+1)

s(i)=s(i+1)

s(i+1)=a;endend,endss=

Columns1through8

233135

43

45

57

65

132

Columns9through14

3453561563

4123

121233

1223543

10.两个整数a和b,

如果a的因子和等于

b,

b的因子

和也等于a,且a不等于b,则称a,b为一对亲密数。

请寻

找并输出20XX以内的所有亲密数对

g=;

forr=1:

a-1

ifmod(a,r)==0s1=s1+r;endend

ifa==s1continueend

iffind(g==a)〜=0continueend

forr=1:

s1-1

ifmod(s1,r)==0s2=s2+r;

endend

ifs2==a

s=[s1s2];g=[g;s];endendgg=

28422012101184

11.用二分法求函数y=exp(x)-10的0点,要求误差小于

x1=0;x2=10;

whilex2-x1>

if(exp(x1)-10)*(exp((x1+x2)/2)-10)>0

x仁(x1+x2)/2;elsex2=(x1+x2)/2;endend

x=[x1x2]x=

12.现有一组数如下:

xy112227334448567

6797898109但y的数据不太准确,已知其函数关系可能是y=12*x,y=12*x+1,y=12*x-1,y=*x,请用matlab判断这四个函数,哪个与数据的契合度最

高?

x=1:

8;

y(1,:

)=12*x;y(2,:

)=12*x+1;y(3,:

)=12*x-1;

y(4,:

)=*x;

y(5,:

)=[12273448677989109];t=zeros(1,4);

fori=1:

4

forj=1:

8

t(i)=t(i)+abs(y(i,j)-y(5,j));endend

[x,i]=min(t)i=

4即为y=*x

13.已知rand函数能生成0到1之间的随机数。

而古人用抛石头的方法,根据落在在一个圆内的石子数与在园外正方形内的石子数之比来求n,请用matlab软件模拟此过程,

并求出n的值,然后,分析所求n的值的误差产生于什么地

方。

s=rand(2,1000);pai=0;

fori=1:

1000

ifs(1,i).A2+s(2,i).A2>sushupd(1003)该数不是素

数g=

117591003

119531007

>>sushupd(1011)该数不是素数g=

133371011

9.将[15633541236512123335657;12235434323

1323454531]从小到大排序,排成一列,禁用sort函数。

s=[15633541236512123335657;12235434323132

3454531];s=[s(1,:

)s(2,:

)];fori=1:

length(s)-1for

i=1:

length(s)-1ifs(i)>s(i+1)a=s(i);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 文化宗教

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1