Matlab实验指导书(含答案)汇总 下载本文

内容发布更新时间 : 2024/12/22 20:55:21星期一 下面是文章的全部内容请认真阅读。

11

第二题:

A=[6,9,14,-11,5;1,14,-7,-15,-6;-2,1,-7,12,-1;6,11,11,-9,-13]; B=[68;294;-441;103]; X=A\\B

结果: X =

0 -26.3759 -5.4126 -38.3960 -8.2392

第三题:

A=[1,1,-1,1;0,20,40,0;60,0,40,0;0,0,40,40]; B=[0;10;50;-40]; X=A\\B X =

0.7857 0.3571 0.0714 -1.0714

《Matlab语言及其在电子信息科学中的应用》实验指导书

12

实验五:函数编写与程序设计

一、实验目的

1.掌握函数的编写规则。 2.掌握函数的调用。

3.会用Matlab程序设计实现一些工程算法问题。

二、实验内容

1.编写一个[y,y1,y2]=mwave(f1,m1,f2,m2)函数,实现以下功能,并绘出y1、y2、y在t∈[0,2π]区间500个样点的图形。(其中调用参数2 ≤ f1、f2 ≤ 20 HZ;0.5 ≤ m1、m2 ≤ 2)

y1?m1sin(2?f1t);y2?m2sin(2?f2t); y?y1?y22.程序设计:相传古代印度国王要褒奖他的聪明能干的宰相达依尔(国际象棋发明者),问他要什么?达依尔回答:“陛下只要在国际象棋棋盘的第一个格子上放一粒麦子,第二个格子上放二粒麦子,以后每个格子的麦子数都按前一格的两倍计算。如果陛下按此法给我64格的麦子,就感激不尽,其他什么也不要了。”国王想:“这还不容易!”让人扛了一袋麦子,但很快用光了,再扛出一袋还不够,请你为国王算一下共要给达依尔多少小麦?(1袋小麦约1.4×108粒)。 3.程序设计:公元前五世纪我国古代数学家张丘建在《算经》一书中提出了“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、母、雏各几何?

三、设计提示

1.函数名和函数文件名应相同;对调用参数的取值范围要检验是否符合要求,如不符合要求,应给出出错信息(用if和error函数实现)。

2.程序设计——“百鸡问题”答案不唯一。提示:设x:鸡翁数,则x的范围:0~19;y:鸡母数,则y的范围:0~33;z:鸡雏数,则z的范围:0~100。

四、实验报告要求

1.编写实现第二节实验内容(1)所使用的函数文件。 2.程序设计用M文件编写,并记录执行结果。“百鸡问题”答案不唯一,要给出所有答案。

3.书写实验报告时要结构合理,层次分明,在分析描述的时候,需要注意语言的流畅。

五、参考答案

《Matlab语言及其在电子信息科学中的应用》实验指导书

13

第1题:

function [y,y1,y2]=mwave(f1,m1,f2,m2)

% 根据给定的频率和幅值计算标准正弦函数y1、y2及其叠加y的波形。 if (f1<2)|(f1>20) error('f1超出范围!'), return, end if (f2<2)|(f1>20) error('f2超出范围!'), return, end if (m1<0.5)|(m1>2) error('m1超出范围!'), return, end if (m2<0.5)|(m2>2) error('m2超出范围!'), return, end % --------------------------------------------------- t=0:2*pi/(500-1):2*pi; y1=m1*sin(2*pi*f1*t); y2=m2*sin(2*pi*f2*t); y=y1+y2; figure

subplot(311); plot(t,y1); title('y1波形'); subplot(312); plot(t,y2); title('y2波形');

subplot(313); plot(t,y); title('y=y1+y2波形');

% ===================================================

第2题: a=1; s=0

for i=1:64 s=s+a; a=2*a; end

n=s/1.4/10^8

运行后得:n=1.3176e+011

第3题:

解 设 x:鸡翁数,则x的范围:0~19 y:鸡母数,则y的范围:0~33 z:鸡雏数,则z的范围:0~100 则: x+y+z=100

5x+3y+z/3=100 这是一个欠定方程。 for x=0:19

for y=0:33

for z=0:100

if (x+y+z==100)&(5*x+3*y+z/3==100) d=[x,y,z] end end end end

运行后得结果:

d = 0 25 75

《Matlab语言及其在电子信息科学中的应用》实验指导书

14

d = 4 18 78 d = 8 11 81 d = 12 4 84

《Matlab语言及其在电子信息科学中的应用》实验指导书

15

实验六:二维图形和三维图形的创建

一、实验目的

1.掌握二维图形的绘制。 2.掌握图形的标注

3.了解三维曲线和曲面图形的绘制。

二、实验内容

1.生成1×10维的随机数向量a,分别用红、黄、蓝、绿色绘出其连线图、脉冲图、阶梯图和条形图,并分别标出标题“连线图”、“脉冲图”、“阶梯图”、“条形图”。

x2.在同一个图形窗口中,绘制两条曲线y1?2x、y2??1/2?;并分别在靠近相应的曲线处标注其函数表达式。

3.编写一个mcircle(r)函数,调用该函数时,根据给定的半径r,以原点为圆心画一个如图所示的红色空心圆。(图例半径r=5)

4.(1)绘一个圆柱螺旋线(形似弹簧)图。圆柱截面直径为10,高度为5,每圈上升高度为1。如左图所示。

(2)利用(1)的结果,对程序做少许修改,得到如右图所示图形。

《Matlab语言及其在电子信息科学中的应用》实验指导书