资源描述:
《matlab练习题-程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、MatLab练习题(4)-程序设计学号:班级:姓名:注意:1,请按要求作题,直接输入答案,并保存文件.2,仔细填写“学生信息”.3,把此word文档的文件名更名为你的“学号第*次”.上传至http://10.1.9.91.例:“MatLab练习册.doc”——->“200504101第四次作业.doc”)1,编辑函数文件hanshu.m,该函数是,并用它来计算、、、答案:(填写程序语句和结果)函数文件:hanshu.mfunctionf=hanshu(x)f=x^3-3*x^2-x+3;结果:hanshu(0.34)hanshu(3)ha
2、nshu(6.87)hanshu(3)-hanshu(2)*[hanshu(-4)]^2ans=2.3525ans=0ans=178.7820ans=330752,编程求一个四位数,使。答案:(填写程序语句和结果)程序:fora=1:9forb=0:9forc=0:9ifa*1000+b*100+c*10+a==(5*c+1)^2x=a*1000+b*100+c*10+a6endendendendx结果:x=16813利用二分法编程求方程在[0,3]内的根.答案:(填写程序语句和结果)程序:a=0;b=3;x=a:b;f=@(x)x^3-
3、3*x^2-x+3;c=(a+b)./2;whileabs(b-a)>1e-6iff(c)*f(b)<0a=c;elseb=c;endc=(a+b)./2;x=c;endx结果:x=1.0000*4,利用二分法编程求方程tan(x)-x-0.5=0在[0,1.5]内的根.答案:(填写程序语句和结果)a=0;b=1.5;x=a:b;f=@(x)tan(x)-x-0.5;c=(a+b)./2;whileabs(b-a)>1e-6iff(c)*f(b)<0a=c;elseb=c;endc=(a+b)./2;x=c;end6x结果x=0.9750
4、5,列出所有的水仙花数,水仙花数是一个三位数,其各位数字立方和等于该数本身.例如:答案:(填写程序语句和结果)fora=1:9forb=0:9forc=0:9ifa*100+b*10+c==a^3+b^3+c^3x=a*100+b*10+cendendendend结果:x=153x=370x=371x=407x=407*6,利用公式求的近似值,直到误差小于答案:(填写程序语句和结果)程序:s=0;k=1;while1/(2*k-1)>10^(-6)s=s+(-1)^(k+1)/(2*k-1);k=k+1;ends1=4*ss1=3.141
5、5906535896927,写出小于5000的、立方的末四位是8888的所有自然数的程序答案:(填写程序语句和结果)程序:6fora=0:5000ifrem(a^3,10000)==8888aendend结果:a=1942a=44428,先思考如何用推理的方法(1)求Fibonacc数列中第2007个数除以6的余数(2)若将Fibonacc数列按如下方式分组:(1)、(1,2)、(3,5,8)、(13,21,34,55)、……问2007组数的和除以6的余数是几?然后再用matlab编程验证你的结果。答案:(填写你的思考过程和你的结果以及m
6、atlab程序语句) 分析:斐波那契数列指的是这样一个数列:1、1、2、3、5、8、13、21、34……注意:0是第0项,不是第一项。 这个数列从第二项开始,每一项都等于前两项之和。(分析参考网上)(1)程序:a(1)=1;a=1;fori=3:2007k=i-1;j=i-2;a(i)=a(k)+a(j);endrem(a(2007),6)结果:ans=NaNa(2007)ans=Inf9*,应用近似求之值,要求误差小于程序:n=1;c=0;m=1;while1/n>10^(-6);forc=c+1;n=n*c;6m=m+1/n;
7、endm1=m;endm1结果:m1=2.71828180114638510,定义一个函数shjiech计算双阶乘,要求对输入的一个整数N,该函数能立即计算出其双阶乘。并用它来计算200!!答案:(填写程序语句和结果)11,定义多元函数,并用它来计算、、,并画出它的图形。答案:(填写程序语句和结果)functionm=f(x,y)m=(x^2+y^2)*exp(-x^2-y^2)结果:f(-2,3)f(3,4)f(0,0ans=2.9384e-005ans=3.4720e-010ans0作图程序:x=-4:0.05:4;y=x;[X,Y]
8、=meshgrid(x,y);Z=(X.^2+Y.^2)*exp(-X.^2-Y.^2);mesh(X,Y,Z)图:6*12,编写函数文件SQRT.m用迭代法求之值,迭代公式是,误差小于10-