matlab程序设计及心得体会_第1页
matlab程序设计及心得体会_第2页
matlab程序设计及心得体会_第3页
matlab程序设计及心得体会_第4页
matlab程序设计及心得体会_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.编写程序,建立向量n1,2,3,4,5,并利用n产生下列向量:(1)2 , 4 , 6 , 8 , 10 (2)1/2 , 1 , 3/2 , 2 , 5/2(3)1, 1/2 , 1/3 , 1/4 , 1/5 (4)1 , 1/4 , 1/9, 1/16, 1/25。注意:向量n=1:5,/是传统意义上的矩阵的除法,而./是两个矩阵的对应元素相除,同理相乘。此处是对应元素相除,所以一定要记住应该用点除,而非除法。2. 从键盘输入一个三位数,将它反向输出。 例如输入639,输出为936。注意:输出函数:disp(),取整用fix(),取余函数mod(x,y)与rem(x,y)一样。3. 输入一个百分制成绩,要求输出成绩等级A,B,C,D,E。其中90100分为A,8089分为B,7079分为C,6069分为D,60分以下为E。 要求:(1)分别用if语句和switch语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。注意:switch语句中的case最好用09的数字表示而不是表达式!不可用break!后不可用表达式!为了表示另一种情况,记住用if与其搭配不要太死板,学会灵活。4. 建立5*6的矩阵,要求输出矩阵第n行元素。当n的值超过矩阵的行数时,自动转为输出矩阵最后一行元素,并給出出错信息。注意:随机产生一个01矩阵可以用rand函数,整数矩阵便用fix(100*rand(m,n)函数。产生m*n 阶a,b均匀分布U(a,b)的随机数矩阵: unifrnd (a,b,m, n)5. 产生20个两位随机整数,输出其中小于平均值的偶数。注意:fix(100*rand(m,n)与round(100*rand(m,n)几乎一样的,随机产生m*n阶矩阵,学会变通,随机产生两位随机整数。fix是指向0靠拢取整。fix(3.7)=3,fix(-3.7)=-3。floor指向下取整,ceil指向上取整。round指四舍五入取整!round最常用记住a=o指赋值,而a=0指判断,与c语言一样当矩阵只有一行时,可用a(i)表示每一个数。用k(i)表示来输出每一个数!表示矩阵中的每一列时用a(:,i),表每一行时用a(i,:)。6. 输入20个数,求其中的最大数和最小数。要求分别用循环结构和调用MATLAB的max函数、min函数来实现。注意:熟记其中的函数将对编程的速度有很大的提高!孩子,加油!7. ,当a取30.,2.9,2.9,3.0时,求各点的函数值。要求分别用顺序结构和循环结构实现。注意:用size返回向量元素的个数,如果是矩阵,size(a,2)指返回矩阵的竖的个数,即多少列。其中一维是指行,二维指列。记住表示一个向量时,步长放中间。!8. 当n分别取100、1000、10000时,求下列各式的值:(要求分别用循环结构和向量运算(使用sum函数)来实现)(1)(2)(3)(4)注意:使用while循环时,注意对n初始化,与c语言较象。普通指数时直接用,自然指数时,若x已知,用y=exp(x)。9. 若两个连续自然数的乘积减1是素数,则称这两个连续自然数是亲密数对,该素数是亲密素数。例如:2*3-1=5,由于5是素数,所以2和3是亲密数对,5是亲密素数。求2,50区间内,(1)亲密数对的对数;(2)与上述亲密数对对应的所有亲密素数之和。注意:x=primes(n)输出不超过n整数的素数,a=length(x)表示输出素数的个数。用b=isprime(n)来判断n是否为素数,若为素数则b=1,反之为0。学会变通,求和用if循环就好。10. 根据,求:(1)y3时的最大n值;(2)与(1)的n值对应的y值。注意:不能被题目吓跑很简单的,耶耶!11. 已知(1)当时,y的值是多少?(2)当f(n)=1*2+2*3+3*4+n*(n+1)时,y的值是多少?12. 编写一个函数文件,用于求两个矩阵的乘积和点乘,然后在命令文件中调用该函数。13. 定义一个函数文件,求給定复数的指数、对数、正弦、余弦,并在命令文件中调用该函数文件。14. 先用函数的递归调用定义一个函数文件求,然后调用该函数文件求zhuyi:yaoxunzaoyigehanshubiannnengjiejue defangfa15.写出下列程序的输出结果。(1) s=0;a=12 13 14;15 16 17;18 19 20;21 22 23;for k=a for j=1:4 if rem(k(j),2)=0 s=s+k(j); end endends (2)命令文件global xx=1:2:5;y=2:2:6;sub(y);x y函数文件sub.mfunction fun=sub(z)global xz=3*x;x=x+z;16已知:,编程求的近似值。 注意:在编程过程中,一个小小的乘号将导致很难查出错误,很会影响心情,所以不能忽略小问题,必须仔细小心!17.输入下面的矩阵,求该矩阵的对角线元素之和,并找出最大和最小的元素的值以及其所在的行、列号。将最大值替换成inf,最小值替换成inf。注意:找出矩阵中具体某个元素的具体位置的方法:ind=find(a=max)siz=4,4 I,J = ind2sub(siz,ind)便可以找到最大元素的位置!I1,I2,I3,.,In = ind2sub(siz,ind)对角线元素用diag函数要找出一个很大矩阵的最大最小元素用两个for循环。!加油写出这道题好兴奋啊,这种感觉真好!18. 求解猴子吃桃问题。猴子在第一天摘下若干个桃子,当即吃了一半,又感觉不过瘾,于是就多吃了一个。以后每天如此,到第10天再想吃时,却发现就只剩一个桃子。请编程计算第一天猴子摘的桃子个数。注意:不要被问题吓到,很简单的一个问题罢了当顺着不行时,试着倒着来解答编程。19. 求n阶勒让德多项式的值,其递归公式为:注意;它要的仅仅只是一个定义函数并没有需要一个确切的值。20. 利用恒等式计算圆周率的近似值。注意:sqrtm(a):矩阵a开平方根;sqrt(a):矩阵a对应的元素开平方根。21. 输入一个正整数,如果它是偶数就除以2,是奇数就乘以3加上1,如此一直变化,直到最后变成1。注意:判断一个数是否为整数可以用判断语句a=round(a)!在matlab中,用=表示不等于,与c语言不同。22. (1)用递归调用求Fibonacci数列定义如下: f1=f2=1 , f(n+1)=f(n)+f(n-1) 。 (2)求Fibonacci数列大于4000的最小项。注意:这道题目很简单,却花了很长的时间主要是题目意思没弄清便动笔,要学会分清题意,冷静分析。另外还要注意while的条件,1便执行,0则跳出。23. 列出所有的水仙花数。水仙花数是一个三位数,其各位数字的立方和等于该书本身。例如:153=13+53+33注意:当输出的不仅仅是一个数时,需要定义一个数组a(i),i=i+1,输出为a。if语句中,判断条件中为=,而不是赋值语句=!别总犯相同的错误24. 试编一个m程序,将一维数组x中的N个数按颠倒的次序重新存储。如N=5,原来x为:而经过颠倒处理后x中数据的次序应该为:x= 9 7 5 3 1 25. 已知某班的5名学生的三门课成绩列表如下:学生序号1 2 3 4 5高

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论