MATLAB基础实验五及求解(完)_第1页
MATLAB基础实验五及求解(完)_第2页
MATLAB基础实验五及求解(完)_第3页
MATLAB基础实验五及求解(完)_第4页
MATLAB基础实验五及求解(完)_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、实验五 Matlab编程题求解1、 用while循环求1100间整数的和分析:该题是我们很熟悉的一个问题,可使用迭代法来求解该问题,迭代公式为:,但是一定要注意确定迭代变量S和循环变量n的初始值.clear;n = 1; s = 0; %n,s必须初始化while n<= 100 s = s+n; n = n + 1; %必须修改n的值以保证循环能够结束ends s = 5050 2、编写y函数, x (x<1) y= 2x-1 (1<x<10) 3x-11 (x>=10)计算出y(-3)、y(5)、y()的值分析:这是一个分段函数的问题,所以可采用多分支或选择嵌

2、套的选择结构来实现。建立M函数文件如下图所示。注意该函数文件必须放在当前路径或搜索路径下。clear y(-3) ans =-3 y(5) ans = 9 y(inf) ans = Inf y(1) x=1未定义 3、某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示): price<200 没有折扣 200price<500 3%折扣 500price<1000 5%折扣 1000price<2500 8%折扣 2500price<5000 10%折扣5000price 14%折扣输入所售商品的价格,求其实际销售价格。分析:考查知识点选择

3、结构这是一个多分支的问题,所以可采用多分支选择结构来实现。clear; price = input('price = ');if price <200 x = priceelseif price>=200&price<500 x = price*0.97elseif price>=500&price<1000 x = price*0.95elseif price>=1000&price<2500x = price*0.92elseif price>=2500&price<5000x = pri

4、ce*0.9else price>=5000x = price*0.86end 注意:因为用了input函数,数据的输入必须在命令窗口输入price = 4、给定一矩阵A,按其元素值不同,我们要印出不同信息。举例来说,当A=-1,1,0,2+i时,你的程序代码应印出:A(1)=-1是负数A(2)=1是正数A(3)=0是零A(4)=2+I是复数clear; A = input('A = ')for n = 1:numel(A)if imag(A(n)=0if A(n) < 0disp('A(', num2str(n),')=', num

5、2str(A(n),'是负数');%输出也可用fprintf函数来实现,指令为:% fprintf('A(%d) = %d, 是负数', n, A(n);elseif A(n)>0disp('A(', num2str(n),')=', num2str(A(n),'是正数');elsedisp('A(', num2str(n),')=', num2str(A(n),'是零');endelsedisp('A(', num2str(n),')=

6、', num2str(A(n),'是复数');endend 注意:因为用了input函数,数据的输入必须在命令窗口输入运行过程和结果是从命令窗口复制过来的。A = 3i 2 -9;3 7-6i 0 在命令窗口中输入的矩阵AA = 0 + 3.0000i 2.0000 -9.0000 3.0000 7.0000 - 6.0000i 0 A(1)=0+3i是复数A(2)=3是正数A(3)=2是正数A(4)=7-6i是复数A(5)=-9是负数A(6)=0是零5、一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出全部水仙花数。函数函数功能floor(A) 返回小于

7、或等于A的整数值,对于复数来说,分别对A的实部和虚部进行运算。即朝负无穷方向取整,如floor(-1.3)=-2; floor(1.3)=1;ceil(A)返回大于或等于A的整数值,对于复数来说,分别对A的实部和虚部进行运算。即朝正无穷方向取整,如ceil(-1.3)=-1; ceil(1.3)=2;round(X) 返回距离X最近的整数值。即四舍五入到最近的整数,如round(-1.3)=-1;round(-1.52)=-2;round(1.3)=1;round(1.52)=2。fix(A) 返回A的整数部分,小数部分为0cleari=1; d =;for n=100:999a = fix(

8、n/100);b = mod(fix(n/10),10);c = mod(n,10);if(a3+b3+c3=n) d(i)= n; i = i+1;endendd d = 153 370 371 407 6、从键盘输入若干个数,当输入0时结束输入,求这些数的平均值和它们之和。a = input('a(1) = ');%输入数据,为第一次判断做准备k=1; %k作为变量a的单下标号,a用来保存从键盘输入的数据while a(k) = 0 %当输入不为0时,输入新数 k = k +1; fprintf('请输入第%d个数据',k);a(k) = input(' '); %输入第k个数据ends = sum(a)average = s/(k-1) %注意0是a的最后一个元素,输入数据的总数应为k-1 注意:因为用了input函数,数据的输入必须在命令窗口输入运行过程和结果是从命令窗口复制过来的。a(1) = 5请输入第2个数据 3请输入第3个数据 -7请输入第4个数据 99请输入第5个数据 -43请输入第6个数据 9请输入第7个数据 0s = 66average = 117、Fibonacci数列定义如下:f1=1f2=1fn=fn-1+fn-2 (n>2)求Fibonacci数列的

温馨提示

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

评论

0/150

提交评论