西南交大MATLAB编程作业相关复习资料Word文件下载.docx

上传人:b****6 文档编号:20452420 上传时间:2023-01-23 格式:DOCX 页数:45 大小:99.88KB
下载 相关 举报
西南交大MATLAB编程作业相关复习资料Word文件下载.docx_第1页
第1页 / 共45页
西南交大MATLAB编程作业相关复习资料Word文件下载.docx_第2页
第2页 / 共45页
西南交大MATLAB编程作业相关复习资料Word文件下载.docx_第3页
第3页 / 共45页
西南交大MATLAB编程作业相关复习资料Word文件下载.docx_第4页
第4页 / 共45页
西南交大MATLAB编程作业相关复习资料Word文件下载.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

西南交大MATLAB编程作业相关复习资料Word文件下载.docx

《西南交大MATLAB编程作业相关复习资料Word文件下载.docx》由会员分享,可在线阅读,更多相关《西南交大MATLAB编程作业相关复习资料Word文件下载.docx(45页珍藏版)》请在冰豆网上搜索。

西南交大MATLAB编程作业相关复习资料Word文件下载.docx

elseifa<

=90&

=65

%c\n'

a+32)

elseifa<

=122&

=97

a

4.输入一个整数,写一程序输出它是几位数。

%此程序可以计算一万位整数的位数

%首先在MATLAB编辑器中建立如下程序并保存在文件名为t4中

%然后在命令窗口直接输入t4(x)x为所输入的整数

functiont4(x)

i=0;

forj=1:

10000

x=abs(x/10);

a=fix(x);

ifa>

i=i+1;

end

ifa==0

break

disp(i)

5.写一程序求1!

+2!

+…+10!

%首先在MATLAB编辑器中建立如下程序并保存在文件名为t5中

%然后在命令窗口直接输入t5

functiont5()

j=1;

s=0;

10

j=i*j;

s=s+j;

disp(s)

6.从键盘上输入a与n的值,计算sum=a+aa+aaa+aaaa+…(共n项)的和。

例a=2,n=4,则sum=2+22+222+2222.

%首先在MATLAB编辑器中建立如下程序并保存在文件名为t6中

%然后在命令窗口直接输入t6(a,n)a和n分别是一个数

functiont6(a,n)

x=a;

t=a;

(n-1)

t=t+10^i*a;

sum=x+t;

sum

7.编程求数列1,1/2,1/3,1/4,1/5,……的所有大于等于0.000001的数据项之和并输出结果

%首先在MATLAB编辑器中建立如下程序并保存在文件名为t7中

%然后在命令窗口直接输入t7

functiont7()

forc=1:

100000

d=1/c;

s=s+d;

s

8.求3*3矩阵的主对角线元素之和。

%首先在MATLAB编辑器中建立如下程序并保存在文件名为t8中

%然后在命令窗口直定义x为一个三行三列矩阵

%最后输入t8(x)

functiont8(x)

3;

j=i;

s=s+x(i,j);

9.从键盘输入的10个整数中,找出第一个能被7整除的数。

若找到,打印此数后退出循环;

若未找到,打印“notexist”。

%首先在MATLAB编辑器中建立如下程序并保存在文件名为t9中

%然后在命令窗口定义x为输入的10个数的行向量形式

%最后输入t9(x)

functiont9(x)

a=x(i)/7;

b=fix(a);

ifa-b==0

disp(x(i))

break

ifi==10

notexist\n'

10.设计一个用于计算个人所有税的程序。

假设个人所得税的缴纳标准为:

月收入少于等于800元者不纳税;

超出800元的部分,纳税5%;

超出2000元的部分,纳税10%;

超出5000元的部分,纳税20%;

超出10000元的部分,纳税30%;

超出100000元的部分,纳税40%。

%首先在MATLAB编辑器中建立如下程序并保存在文件名为t10中

%然后在命令窗口直接输入t10(x)x为月收入

functiong=t10(x)

b=90000*0.3;

c=5000*0.2;

d=3000*0.1;

e=1200*0.05;

ifx>

=100000

a=(x-100000)*0.4;

g=a+b+c+d+e;

elseifx>

=10000

a=(x-10000)*0.3;

g=a+c+d+e;

=5000

a=(x-5000)*0.2;

g=a+d+e;

=2000

a=(x-2000)*0.1;

g=a+e;

=800

g=(x-800)*0.05;

else

g=0;

11.编写一个程序,用循环结构输出以下图形。

  &

&

%首先在MATLAB编辑器中建立如下程序并保存在文件名为t11中

%然后在命令窗口直接输入t11

functiont11()

fori=9:

-2:

1

forj=1:

i

'

\n'

12.编写一个程序求出1000以内的所有素数。

%首先在MATLAB编辑器中建立如下程序并保存在文件名为t12中

%然后在命令窗口直接输入t12

functiont12()

x=[];

fori=2:

1000

t=1;

j=0;

forj=2:

i-1

a=i/j-fix(i/j);

t=0;

ift>

x=[x,i];

13.输入两个整型变量a,b的值,输出a+b,a-b,a*b,a/b,的结果,要求连同算式一起输出,每个算式占一行。

例:

a等于10,b等于5,a+b的结果输成

10+5=15

%首先在MATLAB编辑器中建立如下程序并保存在文件名为t13中

%然后在命令窗口直接输入t13(a,b)a,b为要输入的两个整形变量

functiont13(a,b)

c=a+b;

d=a-b;

e=a*b;

f=a/b;

fprintf('

%d+%d=%d\n%d-%d=%d\n%d*%d=%d\n%d/%d=%d\n'

a,b,c,a,b,d,a,b,e,a,b,f);

14.求前驱字符和后继字符。

输入一个字符,找出它的前驱字符和后继字符,并按ASCII码值,按从大到小的顺序输出这三个字符及其对应的ASCII码值。

%首先在MATLAB编辑器中建立如下程序并保存在文件名为t14中

%然后在命令窗口直接输入t14('

)x为输入的字母

functiont14(x)

ifx=='

a'

x=='

z'

;

elsea=x-1;

ifx=='

x='

elseb=x+1;

%c%d,%c%d,%c%d\n'

b,b,x,x,a,a);

15.输入三角形的边长,写一求三角形面积的函数。

(面积=sqrt(s(s-a)(s-b)(s-c)),s=(a+b+c)/2)

%首先在MATLAB编辑器中建立如下程序并保存在文件名为t15中

%然后在命令窗口直接输入t15(a,b,c)a,b,c分别是三角形的边长

functiont15(a,b,c)

s=(a+b+c)/2;

d=sqrt(s*(s-a)*(s-b)*(s-c))

面积=%d\n'

d)

16.输入某个点A的平面坐标(x,y),判断(输出)A点是在圆内、圆外还是在圆周上,其中圆心坐标为(2,2),半径为1。

%首先在MATLAB编辑器中建立如下程序并保存在文件名为t16中

%然后在命令窗口直接输入t16(x,y)x,y为点A的横纵坐标

functiont16(x,y)

a=(x-2)^2;

b=(y-2)^2;

c=sqrt(a+b);

ifc==1

A点在圆上\n'

ifc>

A点在圆外\n'

ifc<

1

A点在圆内\n'

17.求爱因斯坦数学题。

有一条长阶,若每步跨2阶,则最后剩余1阶;

若每步跨3阶,则最后剩2阶;

若每步跨5阶,则最后剩4阶;

若每步跨6阶,则最后剩5阶;

若每步跨7步,最后正好一阶不剩。

%首先在MATLAB编辑器中建立如下程序并保存在文件名为t17中

%然后在命令窗口直接输入t17(x)x为台阶数

functiont17(x)

s=[];

fori=7:

x

ifmod(i,2)==1

ifmod(i,3)==2

ifmod(i,5)==4

ifmod(i,6)==5

ifmod(i,7)==0

s=[s,i];

18.输入一串字符,直到输入一个星号(*)为止,统计(输出)其中的字母个数和数字字符个数。

(要求可输入任意字符)

%首先在MATLAB编辑器中建立如下程序并保存在文件名为t18中

%然后在命令窗口直接输入t18('

)x为输入的字符串,必须以*号结束

functiont18(x)

a=numel(x);

k=0;

ifx(i)=='

*'

elseifx(i)>

='

x(i)<

='

|x(i)>

A'

Z'

j=j+1;

0'

9'

k=k+1;

字母个数为%d\n数字字符个数为%d\n'

j,k);

19.从键盘输入一个正整数n,编程判断这个数是否同时含有奇数字和偶数字。

%首先在MATLAB编辑器中建立如下程序并保存在文件名为t19中

%然后在命令窗口直接输入t19(x)其中x为正整数

functiont19(x)

a=num2str(x);

b=numel(a);

g=0;

b

c=mod(a(i),2);

ifc==0

k=1;

fori=1:

g=1;

end

ifg==1&

k==1

Yes!

ifg==0|k==0

No!

20.设某县2000年工业总产值为200亿元,如果该县预计平均年工业总产值增长率为4.5%,那么多少年后该县年工业总产值将超500亿元?

%首先在MATLAB编辑器中建立如下程序并保存在文件名为t20中

%然后在命令窗口直接输入t20

functiont20()

sum=200;

a=0;

a=sum*0.045;

sum=sum+a;

ifsum-200>

=300

%d\n'

i);

21.

(1)输入一个三位数,判断是否是一个“水仙花数”。

水仙花数是指三位数的各位数字的立方和等于这个三位数本身。

例如:

153=1*1*1+5*5*5+3*3*3

%首先在MATLAB编辑器中建立如下程序并保存在文件名为t211中

%然后在命令窗口直接输入t211(x)x为一个三位数

functiont211(x)

y=x;

a=mod(x,10);

x=x/10;

b=fix(mod(x,10));

c=fix(x);

ify==a*a*a+b*b*b+c*c*c

%d是水仙花数\n'

y)

elsefprintf('

%d不是水仙花数\n'

(2)一个整数等于该数所有因子之和,则称该数是一个完数。

6和28都是完数。

因为:

6=1+2+3,28=1+2+4+7+14.输出三位数中所有完数。

%首先在MATLAB编辑器中建立如下程序并保存在文件名为t212中

%然后在命令窗口直接输入t212

functiont212()

fori=100:

999

sum=0;

ifmod(i,j)==0

sum=sum+j;

ifsum==i

disp(sum)

continue

22.输入10个数,将10个整数按生序排列输出,并且奇数在前,偶数在后。

如果输入的10个数是:

10987654321,则输出:

13579246810。

%首先在MATLAB编辑器中建立如下程序并保存在文件名为t22中

%然后在命令窗口将需输入的10个数存入数组x中,

%最后直接输入t22(x)

functiont22(x)

y=[];

d=[];

k=1;

ifmod(x(i),2)~=0

d(k)=x(i);

t(d)

ifmod(x(i),2)==0

functiont(d)

ii=numel(d);

ii

y(i)=d(i);

forr=1:

ii-1

ify(r)>

y(r+1)

t=y(r);

y(r)=y(r+1);

y(r+1)=t;

%d'

23.将数组a[n]中的每一个元素依次循环向后移动一位。

%首先在MATLAB编辑器中建立如下程序并保存在文件名为t23中

%然后在命令窗口直接输入t23

functiont23

x=0;

x=input('

输入一个数组a[],输入格式为[a1a2a3……]\n'

'

s'

x=str2num(x);

ifx~=0

t(x)

else

Notinput!

functionf=t(x)

a=[];

b=numel(x);

b-1

a(i+1)=x(i);

a

(1)=x(b);

disp(a)

24.将一个正整数n输出成“千分位”形式,即从个位数起,每三位之间加一个逗号,例如,将7654321输出成7,654,321.

%首先在MATLAB编辑器中建立如下程序并保存在文件名为t24中

%然后在命令窗口直接输入t24

functiont24

输入一个整数\n'

b=ceil(a/3);

a(i)=mod(x,1000);

x=fix(x/1000);

forj=b:

-1:

2

%d,'

a(j));

%d'

a

(1));

25.求出矩阵a中每行元素的平均值和平均最大的行号。

%首先在MATLAB编辑器中建立如下程序并保存在文件名为t25中

%然后在命令窗口定义矩阵a为需要输入的矩阵,再输入t25(a)

functiont25(a)

m=[];

n=[];

max=0;

p=[];

c=numel(a);

m=a(1,:

b=numel(m);

d=c/b;

d

n(i)=sum(a(i,:

));

p(i)=n(i)/b;

ifn(i)>

max

max=n(i);

k=i;

每行元素的平均值为:

p(i));

平均值最大的行号为:

%d\n'

k);

26.编写一个函数,找出矩阵A中最大元素和最小元素所在的行列号.

%首先在MATLAB编辑器中建立如下程序并保存在文件名为t26中

%然后在命令窗口将需要处理的矩阵存入a中

%最后输入t26(a)

functiont26(a)

e=1;

f=1;

g=1;

min1=a(1,1);

max1=a(1,1);

ifmax1<

=a(i,j)

max1=a(i,j);

e=i;

f=j;

ifmin1>

min1=a(i,j);

g=i;

k=j;

最大元素所在的行列号为%d%d\n'

e,f);

最小元素所在的行列号为%d%d\n'

g,k);

27.给出年、月、日,计算该日是该年的第几天?

%首先在MATLAB编辑器中建立如下程序并保存在文件名为t27中

%然后在命令窗口将需要处理的年月日按年月日顺序存入数组x中

%最后输入t27(x)

functiont27(x)

ifmod(x

(1),4)==0&

mod(x

(1),100)~=0|mod(x

(1),400)==0

a=1;

tian=30*(x

(2)-1)+x(3);

x

(2)-1

ifi==3|i==5|i==7|i==8|i==10

tian=tian+1;

ifx

(2)~=1|x

(2)~=2

tian=tian-1;

tian

28.输入数组a,b的元素,用数组a和b构造数组c,使得:

c(i)=a(i)-b(i)当a(i)>

b(i)时;

c(i)=a(i)+b(i)当a(i)<

=b(i)时;

%首先在MATLAB编辑器中建立如下程序并保存在文件名为t28中

%然后在命令窗口直接输入t28

functiont28()

请输入数组a输入格式为[x1x2……]\n'

b=input('

请输入数组b,b与a的规格相同\n'

d=numel(a);

c=[];

ifa(i)>

b(i)

c(i)=a(i)-b(i);

elseifa(i)<

=b(i)

c(i)=a(i)+b(i);

c

 

*30.编写程序求所有各位数字的立方和等于420的三位数.

%首先在MATLAB编辑器中建立如下程序并保存在文件名为t30中

%然后在命令窗口直接输入t30

functiont30

fork=100:

i=k;

a=zeros(1,3);

3

a(j)=mod(i,10);

i=fix(i/10);

ifa

(1)^3+a

(2)^3+a(3)^3==420

disp(k)

s=1;

ifs==0

不存在这样的三位数\n'

*31.学校要举行篮球循环赛,共有十个队参加比赛,请你安排一下比赛场次,使每队每次打完比赛后至少能隔一场不比赛,以便得到休息从而保持体力,请用matlab解决这个问题,并给出至少一个比赛日程表(每队休息的场次越多越好,但每队得到的休息应大体相同,不能出现某队刚打完比赛,马上和另一个已经休息了诺干场的球队比赛,这是不公平的)。

%首先在MATLAB编辑器中建立如下程序并保存在文件名为t31中

%然后在命令窗口直接输入t31

functiont31

a=[1:

5];

b=[10:

6];

fork=1:

9

第%d轮\n'

%2d-----%2d\n'

a(i),b(i));

forj=5:

a(j+1)=a(j);

a

(2)=b

(1);

b

(1)=[];

b(5)=a(6);

a(6)=[];

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

知识点总结

了解matlab中常见变量:

anspiNaneps等的基本含义

Pi圆周率eps浮点运算的相对精度10^-25Nan不定值ans求极值

了解matlab中变量定义的规则。

1、将矩阵

组合两个新矩阵:

求a和b的和,b和c的矩阵乘,a和c的数组乘。

组合成一个

的矩阵,第一列为按列顺序排

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

当前位置:首页 > 经管营销 > 生产经营管理

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

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