




已阅读5页,还剩53页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
练习1 基础练习一、矩阵及数组操作:1利用基本矩阵产生33和158的单位矩阵、全1矩阵、全0矩阵、均匀分布随机矩阵(-1,1之间)、正态分布矩阵(均值为1,方差为4)。(1)eye(3),eye(15,8)ans = 1 0 0 0 1 0 0 0 1ans = 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0(2)ones(3),ones(15,8)ans = 1 1 1 1 1 1 1 1 1ans = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1(3)zeros(3),zeros(15,8)ans = 0 0 0 0 0 0 0 0 0ans = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0(4)unifrnd(-1,1,3,3),unifrnd(-1,1,15,8)ans = 0.9003 -0.0280 -0.0871 -0.5377 0.7826 -0.9630 0.2137 0.5242 0.6428ans = -0.1106 -0.7222 0.3443 -0.6983 0.0682 -0.6541 0.9767 -0.0778 0.2309 -0.5945 0.6762 0.3958 0.4542 0.9595 0.1656 0.1357 0.5839 -0.6026 -0.9607 -0.2433 -0.3814 -0.4571 -0.1530 0.5884 0.8436 0.2076 0.3626 0.7200 0.6770 -0.4953 0.0310 -0.8816 0.4764 -0.4556 -0.2410 0.7073 0.1361 0.7515 -0.3321 0.2057 -0.6475 -0.6024 0.6636 0.1871 -0.2592 0.4746 -0.1342 -0.8995 -0.1886 -0.9695 0.0056 -0.0069 0.4055 -0.7270 -0.5481 -0.1693 0.8709 0.4936 0.4189 0.7995 0.0931 -0.9765 0.1596 -0.3900 0.8338 -0.1098 -0.1422 0.6433 -0.1102 0.7878 0.5207 0.7487 -0.1795 0.8636 -0.3908 0.2898 0.3891 -0.6017 0.0596 -0.9700 0.7873 -0.0680 -0.6207 0.6359 0.2426 -0.4026 0.2811 0.5359 -0.8842 -0.1627 -0.6131 0.3205 0.5896 0.3229 -0.5819 0.9417 -0.2943 0.6924 0.3644 -0.3161 0.9137 -0.4312 -0.2404 0.9802 0.6263 0.0503 -0.3945 -0.4205 0.0452 -0.0616 0.5667 0.5777 -0.9803 -0.5947 0.0833 -0.3176 0.7603 -0.8704 0.3617 -0.1227(5)normrnd(1,2,3,3),normrnd(1,2,15,8)ans = 2.6115 3.6792 3.2761 1.4633 1.5790 -0.3683 -0.9795 3.9578 -1.5839ans = 0.8541 0.7007 4.1859 -1.7146 -1.2324 0.7736 0.4976 4.7268 0.3388 0.1305 3.0368 -1.0452 2.2705 1.7584 1.9603 -0.0451 -0.6873 0.8413 -2.1608 3.0757 -0.2028 2.8884 2.3363 1.2068 1.9955 4.0703 0.8427 0.2204 2.1024 -3.2409 0.8434 -0.6153 3.9770 -0.2130 -0.3633 -1.7625 -1.1997 -0.2894 2.7783 2.3609 -0.0930 -1.6947 -1.0491 1.6311 1.1720 -0.4086 5.6186 -3.7292 -0.6935 1.9388 -1.4687 4.1065 -3.0091 -1.0363 2.0493 2.9802 0.5073 -0.8071 1.5776 2.4158 0.0138 0.6358 0.9764 1.4378 2.3260 1.0718 0.1414 4.9148 1.9241 4.0420 2.8263 1.5233 -0.7084 -0.2551 1.1116 2.0091 0.3580 0.9231 1.1119 3.4269 -1.4026 2.0708 0.2643 4.7291 3.4731 3.4549 -1.2141 0.4507 0.7603 2.1058 0.0701 0.3204 -0.2626 -0.3924 1.9710 0.7337 0.8694 0.5926 1.7419 -1.2796 -3.6504 1.0150 0.9900 -1.5410 1.9706 -3.1086 2.4566 0.5778 -1.4633 -0.5658 0.4476 -2.3272 -0.1910 1.2651 5.2243 3.3805 3.1113 2.1739 3.5529 -0.40712利用fix及rand函数生成0,10上的均匀分布的1010的整数随机矩阵a,然后统计a中大于等于5的元素个数。a=fix(10+1)*rand(10)b=sum(sum(a=5)a = 5 10 6 6 7 6 9 10 9 0 2 7 4 6 0 1 2 4 10 1 7 2 0 0 4 4 2 3 2 9 3 9 0 0 4 7 0 3 1 4 10 6 3 2 3 9 0 4 9 9 7 1 0 6 1 3 7 4 2 8 4 2 4 0 7 2 2 6 7 7 8 6 7 4 7 9 9 1 10 3 2 6 1 6 8 2 1 0 7 1 4 4 0 7 5 8 1 5 9 1b = 453在给定的矩阵中删除含有整行内容全为0的行,删除整列内容全为0的列。a=0,0,0;0,1,0;0,0,1,a(find(sum(abs(a),1)=0),:)=,a(:,find(sum(abs(a),1)=0)=a = 0 0 0 0 1 0 0 0 1a = 0 1 0 0 0 1a = 1 0 0 1二、绘图:4在同一图形窗口画出下列两条曲线图像: y1=2x+5; y2=x2-3x+1,并且用legend标注。x=0:0.01:100; y1=2*x+5; y2=x.2-3*x+1; plot(x,y1,-.,x,y2, :*), legend(y1,y2)5画出下列函数的曲面及等高线:z=x2+y2+sin(xy)x=-8:.01:8;y=-8:.01:8;X,Y=meshgrid(x,y);Z=X.2+Y.2+sin(X*Y);mesh(X,Y,Z);meshc(X,Y,Z);三、程序设计:6编写程序计算(x在-3,3,间隔0.01) x=-3:0.01:3; y=; for x0=x; if x0=-3&x0=-1&x0=1&x00m=m*n;n=n-1;endm2)function result = fa(n) n=input(please input n:); result = 1; for i = 1:n result = result * i; end 3)n=input(please input n:); x=1:n; prod(x)9将任意大于6的偶数m写成两个素数p1、p2的和(试着写出所有的m=p1+p2的可能形式)。function y=f(n); n=input(请输入n的值:); if mod(n,2); error(n不是素数.请重新运行程序.) elseif n=6; error(n必须大于6.请重新运行程序.) else for m=1:n; for k=m:n; if (isprime(m)&(isprime(k)&(m+k=n); disp(num2str(n),=,num2str(m),+,num2str(k); break; end; end; end;end;10是否任意3的倍数m可以写成两个素数p1、p2、p3的和(试着写出所有的m=p1+p2+p3的可能形式)? function y=fg(n); n=input(请输入n的值:); if mod(n,3); error(n不是3的倍数.请重新运行.) elseif n y1=5.2165*exp(-t)+3.1564,y2=5.0273*t.*exp(-t)+2.9973,plot(t,y,t,y1,r-,t,y2,gx)y1 = 5.0754 3.8624 3.4161 3.2519 3.1915 3.1693 3.1612 3.1581 3.1570 3.1566y2 =4.8467 4.3580 3.7482 3.3656 3.1667 3.0721 3.0294 3.0108 3.0029 2.999612计算下列定积分:(2) x=0:0.01:2; z2=exp(2*x); trapz(x,z2)ans = 26.8000(3)t=-1:0.01:1; z3=x.2-3*x+0.5; trapz(x,z3)ans = -2.333313微分方程组当t=0时,x1(0)=1,x2(0)=-0.5,求微分方程t在0,25上的解,并画出相空间轨道图像。 t=0:0.01:25; x,y=dsolve(Dx=0.5-x,Dy=x-4*y,x(0)=1,y(0)=-0.5,t) x = 1/2+1/2*exp(-t) y = 1/8+1/6*exp(-t)-19/24*exp(-4*t) x =1/2+1/2*exp(-t);y =1/8+1/6*exp(-t)-19/24*exp(-4*t);plot(t,x,t,y)14设通过测量得到时间t与变量y的数据: t=0 0.3 0.8 1.1 1.6 2.3;y=0.5 0.82 1.14 1.25 1.35 1.41;分别采用多项式: y=a0+a1t+a2t2和指数函数 y=b0+b1et+b2tet 进行拟合,并计算均方误差、画出拟合效果图进行比较。 t=0 0.3 0.8 1.1 1.6 2.3; y=0.5 0.82 1.14 1.25 1.35 1.41; tt=0:0.01:2.3; a=polyfit(t,y,2)yy1=polyval(a,tt);z1=polyval(a,t);a = -0.2346 0.9134 0.5326 wucha1=sqrt(sum(z1-y).2)wucha1 = 0.0720 B=ones(size(t) exp(-t) (t.*exp(-t); b=Byb = 1.4132 -0.9136 0.3808yy2=b(1)+b(2)*exp(-tt)+b(3)*tt.*exp(-tt);z2=b(1)+b(2)*exp(-t)+b(3)*t.*exp(-t); wucha2=sqrt(sum(z2-y).2) wucha2 =0.0026 plot(t,y,+,tt,yy1,t,z1,o)plot(t,y,+,tt,yy2,t,z2,o)15观察函数: y=ex-1.5cos(2*pi*x)在区间-1,1上的函数图像,完成下列两题:(1)用函数fzero求解上述函数在-1,1的所有根,验证你的结果;(2)用函数fminbnd求解上述函数在-1,1上的极小、极大、最小和最大值,在函数图像上标出你求得的最小值点作出验证。注:可以用help fzero命令查看fzero的调用格式,fzero典型的调用方法是:fzero(myfun,x0) %返回函数myfun在x0附近的根;fminbnd典型的调用方法是:fminbnd(myfun,x1,x2) %返回函数myfun在区间x1,x2上的最小值。x=-1:0.01:1; y=exp(x)-1.5*cos(2*pi*x); plot(x,y,g) hold on y0=0y0 = 0 plot(x,y0,k) z=fzero(f,-0.8)z = -0.7985 z=fzero(f,-0.1)z = -0.1531 z=fzero(f,-0.9)z = -0.7985 z=fzero(f,0.1) z = 0.1154 x=fminsearch(f,-0.2,0.2)x = -0.0166 x=fminsearch(f,-1,1)x = -1.0062x=fminsearch(f1,0.4,0.6)x = 0.5288 x=fminsearch(f1,-0.6,-0.4)x = -0.4897 x1=-1.0062 y1=exp(x1)-1.5*cos(2*pi*x1) x1 = -1.0062y1 = -1.1333 plot(x1,y1,*)练习2 编程练习1. 题目:判断101-200之间有多少个素数,并输出所有素数。编写以fun1为名的脚本文件。程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 = 函数文件Checkprime.m function m=checkprime(a) %函数文件;判断某个数是否是素数; if a=1 m=0;elseif a=2|3 m=1; endfor i=2:fix(sqrt(a) if rem(a,i)=0 m=0; break; endend程序:qd=input(请输入起点:); %计算任意两数之间的素数zd=input(请输入终点:);shu=;for i=qd:zd if checkprime(i) shu=shu,i; endendfprintf(%d 到 %d 之间的素数为:n,qd,zd);for i=1:length(shu) fprintf( %d,shu(i); if rem(i,20)=0 fprintf(n); endendfprintf(n);请输入起点:101请输入终点:200101 到 200 之间的素数为: 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 179 181 191 193 197 1992题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方5的三次方3的三次方。编写以fun2为名的脚本文件。程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。 for m=100:999 m1=fix(m/100); %求m的百位数字 m2=rem(fix(m/10),10); %求m的十位数字 m3=rem(m,10); %求m的个位数字 if m=m1*m1*m1+m2*m2*m2+m3*m3*m3 disp(m) end end 153 370 371 4073. 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。编写以fun3为名的函数文件。程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。(2)如果nk,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 方法一:factor(n) %输入n值方法二:4. 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。编写以fun4为名的函数文件。=s=input(请输入字符串:,s)n=length(s)x1=sum(isletter(s),x2=sum(isstrprop(s,digit),x3=sum(isspace(s),x4=n-(x1+x2+x3)请输入字符串:abc123 !#s =abc123 !#n = 12x1 = 3x2 = 3x3 = 3x4 = 3方法二:a=input(Input str:,s);an=length(a)abcnum=0;spcnum=0;numnum=0;othnum=0;for i=1:n if (a(i)=a)&(a(i)=A)&(a(i)=0)&(a(i)=9) numnum=numnum+1; elseif (a(i)= ) spcnum=spcnum+1; else othnum=othnum+1; endendabcnumnumnumspcnumothnumInput str:abc123 !#a =abc123 !#n = 12abcnum = 3numnum = 3spcnum 3othnum = 3 5. 题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=123.编程找出1000以内的所有完数。编写以fun5为名的脚本文件。=m = input(请输入m的值:)%所求 完全数范围 下限n= input(请输入n的值:)%所求 完全数范围 上限for s = m:ny = 0;for i = 1:s/2if mod(s,i) = 0y = y + i;endendif y = ssendend 请输入m的值:0m = 0请输入n的值:1000n = 1000s = 0s = 6s = 28s = 4966. 题目:企业发放的奖金根据利润提成。利润x低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润x,求应发放奖金总数?编写以fun6为名的函数文件。x=input(x=)if x=10 y=0.1*xelse if 10x&x=20 y=1+0.075*(x-10) else if 20x&x=40 y=1.75+(x-20)*0.05 else if 40x&x=60 y=2.75+(x-40)*0.03 else if 60x&x 7. 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?编写以fun7为名的脚本文件。程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上168后再开方,如果开方后的结果满足如下条件,即是结果。for n=100:1:10000 a=n+100; b=n+168; c=ceil(sqrt(a); d=ceil(sqrt(b);% if(c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中级花艺师实操技能考核试题集及解析
- 抢救课件结束语
- 2025年压力校验仪表项目发展计划
- 2025年液晶平面显示器及其配套部件和材料项目建议书
- 2025年合同研究组织合作协议书
- 2025年二元酸二甲酯合作协议书
- 2025年社会养老保障服务项目建议书
- 吉林省延边朝鲜族自治州延边州2025-2026学年高三上学期9月期初考试数学试题(含答案)
- 河南省周口市郸城县实验中学2025-2026学年七年级上学期开学考试英语试题(含答案)
- 校史知识竞赛题库及答案
- 老挝药品注册管理办法
- 建设工程项目协同作业方案
- 鹿寨县城南水厂寨沙分厂建设项目环评报告
- 森林火灾应急处置
- GB/T 45972-2025装配式建筑用混凝土板材生产成套装备技术要求
- 变频及伺服应用技术(郭艳萍 钟立)全套教案课件
- Inventor教案打印完整
- 秋冬季安全知识培训
- 2024新译林版英语八年级上单词汉译英默写表(开学版)
- 电力营销稽查培训课件
- 绿色金融培训课件
评论
0/150
提交评论