matlab第二次.pdf

上传人:赵** 文档编号:21109936 上传时间:2022-06-18 格式:PDF 页数:20 大小:337.15KB
返回 下载 相关 举报
matlab第二次.pdf_第1页
第1页 / 共20页
matlab第二次.pdf_第2页
第2页 / 共20页
点击查看更多>>
资源描述

《matlab第二次.pdf》由会员分享,可在线阅读,更多相关《matlab第二次.pdf(20页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Matlab 素质拓展课第二次作业第二次课知识点 if 选择语句 for while 循环语句 子函数(多个输入参数输出参数)递归 二分法 秦九韶算法等3.3 写一个名为 nexthour 的函数,接收一个整数参数,该参数是一天内的某个小时,然后返回下一个小时。假定是 12 小时制,所以例子中 12 的下一个小时是 1.% 3.3 写一个名为 nexthour 的函数,% 接收一个整数参数,该参数是一天内的某个小时,然后返回下一个小时。% 假定是 12 小时制,所以例子中 12 的下一个小时是 1.function y=nexthour(n)if n=1&nnvec=m:-1:n;elseif

2、 mvec=m:n;elsevec=m;end3.17 写一个脚本,它能生产一个随机整数,并且打印该随机整数是一个偶数还是一个奇数。%dy_chapter3_17.mclc;clear;A=randint(1,1,0,10000);if mod(A,2)=0fprintf(%d 是偶数n,A);elsefprintf(%d 是奇数n,A);end3.18.写一个名为 isdivby4 的函数,接收整数作为输入参数,如果输入参数能够被 4 整除,则返回逻辑 1,如果不能整除,则返回逻辑假。function R=dy_chapter3_18(n)%写一个名称为 mydiv4 的函数,接收整数作为输

3、入参数,%如果输入整数能被 4 整除,则返回 1,如果不能整除,则返回0if mod(n,4)=0R=1;elseR=0;endend3.20 一个毕达哥拉斯(勾股)三角形是一组正整数 (a,b,c),它满足 a2=b2+c2.写一个名为ispythag 的函数接收三个正整数(按照 a,b,c 的顺序), 如果这三个数能形成该三角形则返回1,不能则返回 0.function y=ispythag(a,b,c)if a2=b2+c2y=1;elsey=0;endend3.26 云层一般分为高、中和低三层。云的高度是决定性因素,但是划分范围还取决于温度。例如,在热带地区的分类可以取决于下面的高度范

4、围(单位英尺)低: 06500中650020000高20000%dy_chapter3_26.mclc;clear;A=input(请输入以英尺为单位的云层的高度:);if A0&A6500&AcolA2(i)colA2(i)=A(i,j); %每列中的最大值endendendfor i=1:3for j=1:5if A(i,j)rowA2(j)colA2(j)=A(i,j); %每行中的最大值endendendfor i=1:3for j=1:5if A(i,j)maxA2maxA2=A(i,j); %矩阵中的最大值endendend4.19 写一个 beautyofmath 脚本,产生下面

5、的输出。脚本应该从第 1 行到第 9 行重复按左对齐方式生成如下表达式, 执行指定的操作来获得等式右边显示的结果, 严格按下面显示格式打印。4.20 写一个脚本,打印出下面乘法表:124369481216510152025%dy_chapter4_20.mclc;clear;for i=1:5for j=1:ifprintf(%2d ,i*j);endfprintf(n);end4.29 写一个脚本,连续提示用户输入正数,并把它们存储到一个向量变量中,直到用户输入一个负数为止。0.17 给出 20 个数,1,3,7,13,其规律是:第一个数是 1,第二个数比第一个数大2,第三个数比第二个数大

6、4.,请写出相应的 matlab 源码。0.18 中国网通规定:拨打市内电话时,如果不超过3 分钟,则收取话费 0.22 元;如果通话时间超过 3 分钟,则超出部分按每分钟0.1 元收取通话费,不足一分钟按一分钟计算。设通话时间为 t(分钟),通话费用 y(元),设计一个程序,计算通话的费用.请写出相应的 matlab源码。0.19 写出已知函数,输入x 的值,求 y 的值。请写出相应的 matlab 源码。0.20. 编写一个程序,求 1!+2!+10!的值.0.21. 求满足 1+2+3+n500 的最小的自然数 n.0.22. 求的值。0.23. 已知函数,请编写程序,输入自变量x 的值

7、,输出其相应的函数值。0.24. 已知 S=5+9+13+101,分别用 for 和 while 写出相应的源码。0.25. 某市固定电话(市话)的收费标准为:3 分钟之内(包括 3 分钟)收取 0.2 元;超过 3 分钟,每分钟(不足 1 分钟,按 1 分钟计算)按 0.1 元收费。设计一个算法,根据通话时间计算话费。16. 用秦九韶算法求多项式f(x)=2x4+3x3+x2+5x-4,当 x=2 是的函数值。17.已知 编写一个程序,对每输入一个x 值,都得到相应的函数值。18. 编写一个程序,计算n 个数的和: 。19. 利用,编写程序求的近似值。20. 求 10999 中的水仙花数,所

8、谓水仙花数是一个三位数,它的各位数字的立方和等于该数,例如 153 是一个水仙花数,因为153=13+53+33.试编写程序,找出所有的水仙花数。clc;%清空 command window 中的内容clear;%清空内存中的临时变量%水仙花数是指一个 n 位数 ( n3 ),%它的每个位上的数字的 n 次幂之和等于它本身。%(例如:13 + 53 + 33 = 153)%三位水仙花共有 4 个,153,370,371,407%方法一,用字符串有利于位数较多的情况% % n = 3;% % p = (0:9) . n;%预先算好 0 到 9 的 n 次方% % tempStr = 0 * on

9、es(1, n);% % % for x = (10(n-1) : (10n - 1)% %digits = num2str(x, %d) - tempStr;% %s = sum(p(digits + 1);% %if s = x% %fprintf(%dn, x);% %end% % end%方法二,用子函数clc;clear;%调用 my42(i)子函数for i=100:999y=my42(i);if y=0disp(y)endend%判断某个三位数是否为水仙花数function y=my42(x)y=0;x1=fix(x/100);% 百位数字x2=rem(fix(x/10),10)

10、;%十位数字x3=rem(x,10);%个位数字if x=x13+x23+x33y=x;endend21.设计算法,交换两个变量a,b 的值,并输出交换前后的值。22.输入三个正实数 x,y,z,以它们为三边是否可以构成直角三角形?编写程序输出结果。23. 写出按从小到大的顺序重新排列x,y,z三个数值的算法。24. 判断直线 ax+by+c=0 与圆(x-x0)2+(y-y0)2=r2的位置关系。25. 输入一个 x 的值,输出 f(x)=2x2+3 的一个函数值。26.有一函数,写一程序,输入自变量的值,输出函数值。27.产生 20 个两位随机整数,输出其中小于平均值的偶数。28.输入 2

11、0 个数,求其中最大数和最小数。 要求分别用循环结构和调用MATLAB的 max函数、min 函数来实现。29.编写一个函数文件,求小于任意自然数n 的 Fibnacci 数列各项。Fibnacci 数列定义如下:30.找出 mn 之间的全体素数。function u=fq(m,n)找出 m 到 n 的全体素数 fq(m,n)若仅有一个参数则 m= 2,给出参数作为 n若没有参数则 m = 2,n = 1001999.3ifnargin = 0,m = 2; n = 100;elseif nargin = 1,n = m; m = 2;endi=1;fort = m:n,if t = 2;fo

12、rr = 2:t1,iffix(t/r)r = t/rr,breakendendif r=t1,u(i)=t;i=i+1;endelseu(i)=t;i=i+1;endend31.输出全部三位的水仙花数。clc;%清空 command window 中的内容clear;%清空内存中的临时变量%水仙花数是指一个 n 位数 ( n3 ),%它的每个位上的数字的 n 次幂之和等于它本身。%(例如:13 + 53 + 33 = 153)%三位水仙花共有 4 个,153,370,371,407%方法一,用字符串有利于位数较多的情况% % n = 3;% % p = (0:9) . n;%预先算好 0 到

13、 9 的 n 次方% % tempStr = 0 * ones(1, n);% % % for x = (10(n-1) : (10n - 1)% %digits = num2str(x, %d) - tempStr;% %s = sum(p(digits + 1);% %if s = x% %fprintf(%dn, x);% %end% % end%方法二,用子函数clc;clear;%调用 my42(i)子函数for i=100:999y=my42(i);if y=0disp(y)endend%判断某个三位数是否为水仙花数function y=my42(x)y=0;x1=fix(x/10

14、0);% 百位数字x2=rem(fix(x/10),10);%十位数字x3=rem(x,10);%个位数字if x=x13+x23+x33y=x;endend32.编程求出 Fibonacci 数列中第一个大于 1000 的元素及序号。%主函数clc;clear;Fib index=my43()%子函数function Fib index=my43()a=1;b=1;Fib=a+b;index=3;while Fib=1000a=b;b=Fib;Fib=a+b;index=index+1;endend33.求100,1000范围内的全部素数之和。%主函数clc;clear;x=150;resu

15、lt=;for i=100:1000y=my44(i);if y=1result=result i;endendresult%子函数function result=my44(x)result=1;for i=2:x/2if mod(x,i)=0result=0;break;endendend34.求 1100 的平方、平方根和立方根之和。%主函数clc;clear;for x=1:100my1 my2 my3=my45(x)end%子函数function my1 my2 my3=my45(x)my1=x*x;%平方my2=sqrt(x); %平方根my3=x(1/3); %立方根end35.求

16、 n!, n=1,2, ,10.%主函数clc;clear;for i=1:10y=my46(i)end%子函数,递归function y=my46(n)if n=1y=1;elsey=n*my46(n-1);endend36.建一个命令文件将变量a,b(包括矩阵)的值互换。%主函数clc;clear;A=1 2;B=3 4;5 6;M N=my47(A,B)%子函数,交换 A,Bfunction M N=my47(A,B)M=B;N=A;end37.求一元二次方程的根。%主函数clc;clear;a=11;b=2;c=1;result=my48(a,b,c)%子函数function resu

17、lt=my48(a,b,c)%a,b,c 为系数if b*b-4*a*cmymaxmymax=M(i);endif M(i)mymin=M(i);endendend40.多项式相加,p1=1 5 4, p2= 1 6 11 6;%主函数clc;clear;p1=1 2 1 5 4p2= 1 6 11 6p=my51(p1,p2)%子函数function p=my51(p1,p2)m1,n1=size(p1);m2,n2=size(p2);if n1-n20temp=zeros(1,n1-n2);p2=temp p2;elseif n1-n20temp=zeros(1,n2-n1);p1=tem

18、p p1;endp=p1+p2;end41.鸡兔同笼,头有 36,脚共 100,求鸡兔各多少?%主函数clc;clear;head=36;foot=100;chicken rabbit=my52(head,foot)%子函数function chicken rabbit=my52(head,foot)chicken=-1;rabbit=-1;for i=0:headfor j=0:headif i+j=head & 2*i+4*j=footchicken=i;rabbit=j;break;endendendend42.分别用 if 语句和 switch 语句实现以下计算,其中、 、的值从键盘输

19、入。43.产生 20 个两位随机整数,输出其中小于平均值的偶数。44. 设,数列是否收敛?若收敛,其值为多少?编程计算其收敛的近似值,精确到6 位有效数字。45.请至少用三种方法编程求。46.计算 1-100 之间所有偶数之和。47.创建 Hilbert 矩阵,其中 a(i,j)=1/(i+j-1)。%方法一clc;%清除 command window 中的内容clear;%清除 Matlab 工作空间中保存的变量M=3;N=4;for i=1:Mfor j=1:Na(i,j)=1/(i+j-1); %Hilbert矩阵近似解endenda%方法二clc;%清除 command window

20、中的内容clear;%清除 Matlab 工作空间中保存的变量M=3;N=4;%format%恢复默认数据格式format rat%用分数形式表示for i=1:Mfor j=1:Na(i,j)=1/(i+j-1); %Hilbert矩阵endenda48.任给一组输入 x,求函数 y=|x|的值。%clc;%清除 command window 中的内容clear;%清除 Matlab 工作空间中保存的变量x=-1y=abs(x)%对单个变量求绝对值t=-2,-1,0,1,2y=abs(t)%对一维矩阵求绝对值m=-1 -2;1 2y=abs(m)%对多维矩阵求绝对值49.从键盘输入若干个数,

21、当输入0 时结束输入,求这些数的平均值和它们之和。%本程序实现从键盘输入若干数据,遇0 结束,然后求其平均值!clc;%清除 command window 中的内容clear;%清除 Matlab 工作空间中保存的变量m=input(请输入数据,输入 0 结束:);M=;while m=0M=M m;m=input(请输入数据,输入 0 结束:);endM%取值结束后的矩阵B=sum(M)%求和row col=size(M);avg_B=B/col%求平均50.求108,288之间第一个能被 13 整除的整数;求第一个同时能被 11、13 整除的整数。clc;%清除 command window 中的内容clear;%清除 Matlab 工作空间中保存的变量m=108;n=288;for i=m:nif mod(i,11)=0 &mod(i,13)=0num=i;break;endendnum

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com