《科学计算与MATLAB》期末大作业.docx
《《科学计算与MATLAB》期末大作业.docx》由会员分享,可在线阅读,更多相关《《科学计算与MATLAB》期末大作业.docx(15页珍藏版)》请在冰点文库上搜索。
《科学计算与MATLAB》期末大作业
杭州电子科技大学信息工程学院
《科学计算与MATLAB》期末大作业
题目
专业
学期
学号
姓名
任课教师
完成日期
2016年12月31日
给出程序、图、作业分析,程序需加注释。
1.试编写名为fun.m的MATLAB函数,用以计算下述的值:
绘制t关于函数f(t)的图形,其中t的取值范围为
,间距为
。
functiony=fun()%定义函数
%
t=-6*pi:
pi/10:
6*pi;%定义变量范围
y=(sin(pi/4)).*(sin(t)>sin(pi/4))+(sin(-pi/4)).*(sin(t)=sin(-pi/4)));%函数表示
plot(t,y);%画图
end
2.解以下线性方程组
A=[2-1-1;114;305];%输入矩阵
B=[2;0;3];%输入矩阵
X=A\B%计算结果
3.已知矩阵
求:
(1)A(2:
3,2:
3)
(2)A(:
1:
2)
(3)A(2:
3,[1,3])
(4)[A,[ones(2,2);eye
(2)]]
A=[11121314;21222324;31323334;41424344];%输入矩阵
A(2:
3,2:
3)%输出矩阵
A(:
1:
2)%输出矩阵
A(2:
3,[1,3])%输出矩阵
[A,[ones(2,2);eye
(2)]]%输出矩阵
4.数学函数
定义在区域[-8,8]×[-8,8]上。
建立一函数文件,调用该函数时传递参数k,当k等于1时画函数z的三维网格图,当k等于2时画函数z的三维曲面图,当k等于3时画函数z的三维等高线图。
functionz=T4(k)%定义函数
ifk==1%判断形参
x=-8:
0.01:
8;%定义变量范围
y=-8:
0.01:
8;%定义变量范围
z=(sin((x.^2+y.^2).^0.5))./((x.^2+y.^2).^0.5);%函数表示
plot3(x,y,z)%画图
gridon%画网格
xlabel('x')%x轴名字
ylabel('y')%y轴名字
zlabel('z')%z轴名字
elseifk==2
x=-8:
0.01:
8;%定义变量范围
y=x;%y赋值
[X,Y]=meshgrid(x,y);
R=sqrt(X.^2+Y.^2)+eps;%函数表示
Z=sin(R)./R;%函数表示
mesh(X,Y,Z);%画图
xlabel('x')%x轴名字
ylabel('y')%y轴名字
zlabel('z')%z轴名字
elseifk==3
x=-8:
0.5:
8;%定义变量范围
y=x;%y赋值
[X,Y]=meshgrid(x,y);
R=sqrt(X.^2+Y.^2)+eps;%函数表示
Z=sin(R)./R;%函数表示
surfc(X,Y,Z);%画图
colorbar
xlabel('x')%x轴名字
ylabel('y')%y轴名字
zlabel('z')%z轴名字
end
end
三维网格图
三维曲面图
三维等高线图
5.按以下要求分别用不同颜色、不同线型绘出sinx、cosx、0.003ex三条函数曲线,并对图名、坐标名及图例进行标注。
(1)分别在三个窗口内画出三条函数曲线。
(2)在同一窗口的不同坐标系下画出三条函数曲线;
题
(1)
x=0:
pi/20:
4*pi;%x范围
a=sin(x);%函数表示
plot(x,a,'ro')%画线(红,o)
figure%生成figure框
b=cos(x);%函数表示
plot(x,b,'gx')%画线(绿,x)
figure%生成figure框
c=0.003*exp(x);%函数表示
plot(x,c,'b+')%画线(蓝,+)
题
(2)
x=0:
pi/20:
4*pi;%x赋值
a=sin(x);%函数表示
subplot(2,2,1)%分屏
plot(x,a,'ro')%画函数(红,o)
b=cos(x);%函数表示
subplot(2,2,2)%分屏
plot(x,b,'gx')%画函数(绿,x)
c=0.003*exp(x);%函数表示
subplot(2,2,3)%分屏
plot(x,c,'b+')%画函数(蓝,+)
6.编写函数,在同一窗口的4个子图中利用plot等语句绘制y=at2图像,其中a=[12510],t
范围[-2,5]。
t=-2:
0.01:
5;%定义t范围
y1=1*t.^2;%函数表示
subplot(2,2,1)%分屏
plot(t,y1,'r')%画函数曲线(红)
y2=2*t.^2;%函数表示
subplot(2,2,2)%分屏
plot(t,y2,'g')%画函数曲线(绿)
y3=5*t.^2;%函数表示
subplot(2,2,3)%分屏
plot(t,y3,'b')%画函数曲线(蓝)
y4=10*t.^2;%函数表示
subplot(2,2,4)%分屏
plot(t,y4,'y')%画函数曲线(黄)
7.求函数
在区间[-5,5]上的最大值和最小值。
代码:
x=-5:
0.1:
5;%x赋值范围
y=x.^3+2*x-3;%函数表示
max(y)%取最大值
效果:
8.应用题
模拟信号实质上是连续变化的电磁波,它可以用不同的频率在各种传输媒体上传输。
模拟信号通常用正弦波来表示,通常采用以下方法来表示二进制数据。
(1)幅移键控法(ASK)—利用载波的不同振幅来表示二进制数的0或1。
例如,有振幅表示1,没有振幅表示0。
该方法效率低,且易受到干扰。
(2)频移键控法(FSK)—利用载波频率附近的两个不同频率来表示二进制数据的0或1。
例如,频率较低时表示0,频率较高时表示1。
这种方法不易受干扰,因此广泛应用于高频(3MHz~30MHz)的无线电传输。
FSK就是用数字信号去调制载波的频率。
(3)相移键控法(PSK)—利用载波信号的相移位移动表示二进制数0或1。
若相位有变化表示1,相位不变化则表示0。
即数字基带信号的两个电平使载波相位在两个不同的数值之间切换的一种相位调制方法,可用数字基带信号去对相位相差180度的两个载波进行选择(反向键控)。
这种方法具有较强的抗干扰能力,效率较高。
图1用模拟信号表示二进制数据的原理图
图2基于MATLAB的频移键控法(FSK)简易仿真模型示意图
请结合上述原理,基于MATLAB设计ASK\FSK\PSK仿真实验模型,并分别给出仿真模型及对应实验效果图。
题
(1)ASK:
题
(2)FSK:
题(3)PSK: