matlab20xx实验3参考解答

时间:2024.3.31

MATLAB实验三

MATLAB计算可视化

试验报告说明:

1 做试验前请先预习,并独立完成试验和试验报告。

2 报告解答方式:MATLAB执行命令和最后运行结果从命令窗口拷贝到每题的题目下面,请将报告解答部分的底纹设置为灰色,以便于批阅

3 在页眉上写清报告名称,学生姓名,学号,专业以及班级。

3 报告以Word文档书写。

文档命名方式: 学号+姓名+_(下划线)+试验几.doc 如:110400220张三_试验1.doc

4 试验报告doc文档以附件形式发送到maya_email@tom.com。凡文档命名不符合规范,或者发送方式不正确,不予登记。

5 每次试验报告的最后提交期限:下周试验课之前。

6 欢迎访问我的教学论坛:http://www.qszy.com/nbbs,由此进入Matlab专栏。论坛注册时请在个人签名档写上自己的姓名和学号,以便于权限设置,可在论坛上交流学习,并可下载发布的试验报告和解答参考等相关资料。

目的和要求

(1)熟练掌握MATLAB二维曲线的绘制

(2)熟练掌握图形的修饰

(3)掌握三维图形的绘制

(4)熟练掌握各种特殊图形的绘制

(5)掌握句柄图形的概念

(6)了解GUI设计

内容和步骤

(说明:绘图题需在报告中粘贴图形结果。)

1 绘制二维曲线(必做)

查阅stem绘图指令,利用stem绘制复指数序列(其中)的相关图形,要求:(1)把窗口分成2行2列。(2)左上窗口绘制复指数序列的实部波形,窗口右上角绘制复指数序列的虚部波形,左下角绘制复指数序列的幅度波形,右下角绘制窗口的相位波形。要求每个子图标注标题,X,Y轴说明。要求显示网格。

% 复指数序列程序

n=-10:10;

alpha=-0.1+0.3*j;

x=exp(alpha*n); 

real_x=real(x);    % 实部

img_x=imag(x);   % 虚部

mag_x=abs(x);    % 幅值

phase_x=(180/pi)*angle(x);   % 相角,转为角度

subplot(2,2,1)

stem(n,real_x);title('实数部分');xlabel('n');ylabel('real');

grid on

subplot(2,2,2)

stem(n,img_x);title('虚数部分');xlabel('n');ylabel('imag'); 

grid on

subplot(2,2,3)

stem(n,mag_x);title('幅度');xlabel('n');ylabel('abs');

grid on

subplot(2,2,4)

stem(n,phase_x);title('相位');xlabel('n');ylabel('phase');

grid on

同学解题过程存在的问题:

1注意括号应用,有同学如此定义指数序列:x=exp(-0.1+j*0.3)*n,思考错在哪里?

2绘图程序最好放在M脚本中编辑,部分同学是在命令窗口中,这样不便于对程序的调试和修正。

3 部分同学的作业显示绘图的思路零乱,没能理清作图的过程。在发布的PPT 上就二维三维图形的一般作图过程有专门的总结,希望大家好好看看,注意绘图顺序过程,一般先调用subplot命令之后再调用title,xlabel等命令对子图进行设置。

2 绘制多条曲线(必做)

在同一图形窗口绘制。利用plot绘图指令绘图命令。

(1)    在窗口上部绘制正弦信号。要求曲线为黑色实线。

(2)    使用hold on命令在同一窗口重叠绘制信号。要求曲线线型为红色点划线。

(3)    X轴标注“时间t”, y轴标注“”,标题为“正弦/指数序列”。

(4)    使用legend命令在图的右上角标注两条曲线的图例。

(5)    使用gtext交互式图形命令,分别标注曲线

% 绘制多条曲线

t=0:0.1:4*pi;

x=sin(0.5*pi.*t+pi/4);

plot(t,x,'k-');

title('正弦信号');

xlabel('时间t');

ylabel('x(t)');

hold on

g=x.*(0.5.^t);

plot(t,g,'r-.')

title('指数序列');

xlabel('序列t');

ylabel('g(n)');

%添加图例

legend('sin(0.5*pi*t+pi.4)','x(t)*0.5^t',1)

% gtext标注曲线

gtext('sin(0.5*pi*t+pi.4)');

gtext('x(t)*0.5^t');

3 句柄的学习

(1)获取图形句柄:(必做)

1)显示并获取上图(题2)的标题句柄。

h_axis=gca;         %获取坐标轴句柄

h_title=get(gca,'title')    %获取标题句柄

%也可在生成标题对象时直接返回句柄

    p=title('指数序列');

(2)设置图形对象属性:(必做)

1)利用set 命令设置图形标题的颜色为蓝色,字体大小14。

set(h_title,'color','blue','fontsize',14)

2)使用图形窗口功能。选择菜单“Edit”---“Figure Properties”打开图形属性窗口(或直接在命令窗口输入命令:propedit(gcf)直接打开图形属性窗口)。在图形属性窗口中,修改曲线的颜色和线条宽度。(必做)

(本题解答略)

(3) 分别set命令和图形属性窗口重新设置Y轴的刻度令其为[-1 -0.5 0 0.5 1](选做)   

set(gca,'ytick',[-1 -0.5 0 0.5 1])

通过本题希望大家理解图形对象和句柄的概念。句柄是图形对象的标识,通过这个标识,我们可以找到这个对象,并通过set函数对对象的属性进行任意的修改。当然我们已可以在图形对象的属性窗口中直接修改

4 绘制三维曲线(必做)

1.      绘制曲线的网线图。 D, 显示要求去掉坐标轴,显示色图。

x=-2:0.1:2

y=-2:0.1:2

[X,Y]=meshgrid(x,y);    % 或[x,y]=meshgrid([-2:0.1:2]);  产生XY平面上的栅格点阵。

Z=X.*exp((X.^2+Y.^2));  % 计算XY平面上的各栅格点在Z轴上的对应值

surf(X,Y,Z)              % 根据XYZ三维作标值绘制曲面

colormap  hot  % 指定hot色图

colorbar        % 显示色图

axis off        % 不显示坐标轴

本题存在的问题:

1 理清三维作图的一般顺序。尤其是理解meshgrid函数产生二维平面栅格点阵的作用。

2 注意几个函数的区别:Colormap命令用于指定色图,colorbar命令用于显示色图。

2        设计动画程序,改变上图的观测角度,实现上图视角绕z 轴的360度的连续观测。(自学动画同学选做)

x=-2:0.1:2

y=-2:0.1:2

[X,Y]=meshgrid(x,y);

Z=X.*exp(-(X.^2+Y.^2));

surf(X,Y,Z)

colormap  hot

axis off

clear M  %清除用于存放影片各帧的M矩阵

n=50;

for k=1:n   % for循环连续产生50个不同视角的图像

    view([-37.5+360*k/n, 30]);   % 改变视角。

    M(k)=getframe;      % 抓图

end

movie(M,3)   % 播放3次


第二篇:实验3 参考答案


一、把数学式子转换成VB表达式:

1.         3x                   (3*x

2.         10≤X<20               ( x>=10 and x<20

3.         5÷6                     (5/6

4.         (x+3)(y+4)+xy<1000、      ((x+3) *(y+4)+x*y <1000

5.         将任意两位数x的个位数和十位数对换。(X mod 10)*10+x \10

6.         产生一个”C”~”L”范围内的大写字母(包含C和L) Chr(int(rnd*(asc(“L”)-asc(“C”)+1)+asc(“C”)))

二、写出下列表达式的值:

1.         45<54 or“123”>”234”                      T

2.         156\10+156\100                            16           

3.         #01/20/04#-#12/01/03#                    50

4.         156/10+156/100                   17.16

5.         156+23mod10\7+Asc(“B”)     222

6.         Int(45.5*100+0.4)/100       45.5

7.         100 + “100” & 100            200100

三、求下列函数和表达式的值

1.         Int(Rnd*100)                        1~100之间的数

2.         int(-12.3)          -13

3.         Cint(-12.3)          -12

4.         Cint(-12.8)         -13

5.         fix(-12.8)          -12

6.         fix(-12.3)           -12

7.         Int(-12.8)          -13

8.         Len( "VB可视化开发环境" )       9

9.         mid("我喜欢vb“,2,3)            喜欢

10.     weekday(#3/21/2007#)                     4

11.     Asc("A")+Len("ABCDE ")+mid("12345 ",2,2)  94

12.     Val("123.45abc")+345                         468.45

四、

1.        int(rnd*(b-a+1)+a)      b>a, 求出来的是[a,b]间的整数)

2.        int(rnd*(b-a)+a)      b>a, 求出来的是[a,b)间的整数)

3.        int(rnd*(b-a) +1+a)      b>a, 求出来的是(a,b]间的整数)

编程作业:

1.输入一个华氏温度,要求在窗体上输入其对应的摄氏温度值。(摄氏温度与华氏温度的转换公式为:C=5/9*(F-32),其中C代表摄氏温度,F代表华氏温度)。

提示:整个代码放在Form_click 事件中,通过单击窗体来运行程序。

  第一步:定义两个变量。

  第二步:通过inputbox语句提示用户输入一个华氏温度。

  第三步:利用华氏与摄氏温度的转换公式,把华氏变化成摄氏温度。

  第四步:通过print语句在窗体上分别显示华氏温度和转换后的摄氏温度。

Private Sub Form_Click()

Dim f As Single, c As Single

f = Val(InputBox("请输入华氏温度:", "输入框", 100))

c = 5 / 9 * (f - 32)

Print "该华氏温度对应的摄氏温度为:"; c

End Sub

2.编写程序要求输入的三角形的底和高,计算三角形的面积。

  要求:整个代码放在Form_click 事件中,通过单击窗体来运行程序。

        通过inputbox语句提示用户输入。

        通过msgbox语句显示结果。

Private Sub Form_Click()

Dim a As Single, b As Single, s As Single

a = Val(InputBox("请输入三角形的高:"))

b = Val(InputBox("请输入三角形的底:"))

s = a * b / 2

MsgBox "该三角形的面积为" & s

3.任意输入圆的半径输出该圆的面积。要求:整个代码放在Form_click 事件中,通过单击窗体来运行程序。通过inputbox语句提示用户输入。通过msgbox语句显示结果。

Private Sub Form_Click()

Dim r As Single, s As Single

Const pi As Double = 3.1415926

r = Val(InputBox("请输入圆的半径:"))

s = r * r * pi

MsgBox "该圆的面积为:" & s

End Sub

更多相关推荐:
matlab实验报告

MATLAB教程及实训班级学号姓名实验报告实验1熟悉matlab的开发环境及矩阵操作一实验的教学目标通过本次实验使学生熟悉MATLAB70的开发环境熟悉MATLAB工作界面的多个常用窗口包括命令窗口历史命令窗口...

matlab基本操作实验报告

实验一matlab基本操作一实验目的熟悉matlab的安装与启动熟悉matlab用户界面熟悉matlab功能建模元素熟悉matlab优化建模过程二实验设备与仪器1微机2matlab仿真软件三实验步骤1了解mat...

matlab实验报告

课程设计说明书(论文)题目带限数字基带传输系统的仿真课程名称Matlab通信仿真设计专业通信工程班级1203学生姓名徐xx学号2012xxxx20329指导教师文xx设计起止时间:20xx年12月18日至20x…

matlab音乐处理合成实验报告

MATLAB高级编程与工程应用语音合成综合实验姓名班级学号日期121简单的合成音乐1请根据东方红片断的简谱和十二平均律计算出该片断中各个乐音的频率在MATLAB中生成幅度为1抽样频率为8kHz的正弦信号表示这些...

东南大学几何与代数matlab实验报告

数学实验报告学号姓名吴雪松得分实验1求解线性方程组实验内容用MATLAB求解如下线性方程组Axb其中5100A00006510000006510000006510000006510000006510000006...

matlab实验报告

数学实验报告班级学号姓名实验序号1日期年月日实验名称特殊函数与图形问题背景描述绘图是数学中的一种重要手段借助图形可以使抽象的对象得到明白直观的体现如函数的性质等同时借助直观的图形使初学者更容易接受新知识激发学习...

Matlab实验报告一

数学与信息科学系实验报告实验名称程序设计所属课程数学软件与实验实验类型综合型实验专业信息与计算科学班级20xx级1班学号姓名指导教师1234567

matlab实验报告

南京工程学院课程设计说明书论文题目课程名称院系部中心专业班级学生姓名学号设计地点指导教师设计起止时间20xx年12月8日至20xx年12月12日一课程设计目的和要求1综合运用信号与线性系统通信原理以及matla...

matlab实验报告

重庆交通大学学生实验报告实验课程名称专业综合实验开课实验室交通运输工程实验教学中心学院交通运输年级二年级专业班交通运输1班学生姓名学号63120xx20开课时间20xx至20xx学年第2学期

matlab实验报告格式

数学实验报告实验序号:1日期:20XX年10月20日班级姓名学号实验名称:特殊函数与图形问题背景描述:绘图是数学中的一种重要手段,借助图形,可以使抽象的对象得到明白直观的体现,如函数的性质等。同时,借助直观的图…

matlab实验报告

MATLAB实验报告1在区间11上分别取n1020用两组选中节点对龙格函数fx插值及三次样条插值对每个n值分别画出插值函数及fx的图形解n10在matlab命令窗口中键入gtgtx1021y1125x2y1in...

matlab实验报告

MATLAB实验报告实验一MATLAB语言平台与SIMULINK工具箱一目的与任务1学习了解MATLAB语言环境2练习MATLAB命令4掌握SIMULINK工具箱的应用二内容与要求1实验内容1学习了解MATLA...

matlab实验报告(13篇)