西北工业大学Matlab实验报告文档格式.docx
《西北工业大学Matlab实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《西北工业大学Matlab实验报告文档格式.docx(54页珍藏版)》请在冰豆网上搜索。
3.将5条曲线分别绘制,plot用不同颜色标志,采用holdon画在一个图中,
五、程序代码及注释
=[6,3,4;
-2,5,7;
8,-4,-3];
%系数矩阵
b=[3;
-4;
-7];
x=inv(A)*b%求逆
文件:
function[n]=fun(max)
%UNTITLEDSummaryofthisfunctiongoeshere
%Detailedexplanationgoeshere
a=1;
b=1;
whileb<
max
a=a+1;
b=b*a;
end
n=a-1;
主程序
max=input('
pleaseinputtherealmax:
'
);
n=fun(max)
3.
x=-1:
:
1;
y1=cos(acos(x));
plot(x,y1,’r’);
%第一条
holdon
y2=cos(2*acos(x));
plot(x,y2,’b’);
%第二条
y3=cos(3*acos(x));
plot(x,y3,’g’);
%第三条
y4=cos(4*acos(x));
plot(x,y4,’y’);
%第四条
y5=cos(5*acos(x));
plot(x,y5,’k’);
%第五条
六、实验结果
1.结果:
2.结果:
3.结果:
实验二MATLAB基本编程实验
1.回顾数字信号处理的主要内容;
2.掌握利用MATLAB进行信号处理的方法;
3.了解信号处理工具箱中一些函数的功能;
三、实验内容
1.x(n)=[8,5,3,11,7,0,-1,4,2,6,5],
是原序列,设y(n)是原序列受到噪声污染并移位了的序列y(n)=x(n-3)+w(n),其中w(n)是均值为0,方差为1的高斯随机序列。
计算y(n)与x(n)的相关性。
2.一个线性时不变系统由下面差分方程描述
1)求频率响应;
2)画出其幅频和相频图;
3)如果系统输入为,求出在
内的响应y(n),并画出输入序列和输出序列的曲线图说明。
3.设计IIR滤波器(带通,三种方法,fs=2000Hz,通带频率500~700Hz,阶数自选,画频率特性并分析比较)
1.由normrnd函数产生高斯序列,判断函数位进行赋值,产生移位序列,通过函数xcorr进行互相关处理
2.用freq函数求出频率相应,通过abs和angle函数求出幅频和相频图,采用filter函数求出输出序列
3.分别采用butterworth滤波器、椭圆滤波器和cheby滤波器,求出频率特性
=[8,5,3,11,7,0,-1,4,2,6,5];
forn=1:
1:
11
ifn<
4
yy(n)=0;
elseyy(n)=x(n-3);
w=normrnd(0,1,1,11);
y=yy+w;
a=xcorr(x,y);
2.fs=1000;
b=[1];
a=[1,];
[h,f]=freqz(b,a,512,fs);
mag=abs(h);
ph=angle(h);
subplot(4,1,1);
plot(f,mag);
grid;
xlabel('
frequency(hz)'
ylabel('
magnitude'
subplot(4,1,2);
plot(f,ph);
phase'
n=1:
100;
x(n)=cos*pi*n);
y=filter(b,a,x);
subplot(4,1,3);
stem(x);
subplot(4,1,4);
stem(y)
(1)n=10;
wn=[500700]/1000;
[b,a]=butter(n,wn);
[h,f]=freqz(b,a,256,1000);
subplot(2,1,1);
subplot(2,1,2);
(2)n=10;
[b,a]=ellip(n,,20,wn)
(3)n=10;
[b,a]=cheby1(n,,wn);
1结果:
3.
(1)
(2)
(3)
实验三基于MATLAB的图像处理实验
1.了解图像处理的基本概念和功能;
2.掌握利用MATLAB进行图像处理的方法;
3.了解图像处理工具箱中一些函数的功能;
1.对图像进行DCT变换,分别选取最大的1/4、1/8、1/16个变换系数(其余置为0),进行反DCT得到重构图像,显示原图像和各重构图像并分别计算重构图像的峰值信噪比。
2.对图像至少用3种方法进行边缘增强,给出实验结果并分析。
1.先用imread函数读取,找出其中最大值,采用dct2函数进行dct变换,显示出来,判断小于最大值的变换系数的值赋零,再用idct反变换处理,改变变换系数,分别重构图像,最后再计算重构图像和原图像峰值信噪比
2.采用直方图处理、对比度扩展增强、对数变换这三种方式处理,分别采用histeq、imadjust和log函数。
=imread('
a=max(grb(:
));
i=rgb2gray(grb);
imshow(i);
j=dct2(i)
imshow(j);
b=a/4;
j(abs(j)<
b)=0;
k=idct2(j);
figure;
imshow(k,[0255]);
A=double(i);
B=double(k);
[m,n]=size(i);
D=sum(sum((A-B).^2));
MSE=D/(m*n);
grb=imread('
b=a/8;
b=a/16;
2.i=imread('
subplot(2,2,1);
[j,t]=histeq(i);
subplot(2,2,2);
k=imadjust(i,[],[01]);
subplot(2,2,3);
imshow(k);
i=double(i);
l=log(i+1);
subplot(2,2,4);
imshow(l,[]);
和原图像的峰值噪声比为190
和原图像的峰值噪声比为73
和原图像的峰值噪声比为20
三种图像,直方图对比度明显,整体较为中和,对比扩展方式导致黑色更黑,黑色的细节看不到,而对数增强方式,画面偏白,对比也明显。
实验四基于MATLAB神经网络编程实验
1.了解神经网络的基本概念和原理;
2.掌握用MATLAB实现神经网络的思路和方法;
3.了解神经网络工具箱函数的功能。
1、利用2输入的MP模型是否可实现“与”、“或”、“非”和“异或”功能?
若能,编程实现并给出实现各种功能的权值和实验结果,若不能,请说明原因。
2、用人工神经网络拟合函数
说明:
1)网络结构为三层(输入层、1个隐层和输出层)
2)获取两组数据,一组作为训练集,一组作为测试集
3)用训练集训练网络
4)用测试集检验训练结果
1.使用MP模型解决此问题,选择初值,计算误差,更新全值,对所有模式进行所有训练,直到输出满足。
2.使用三层BP网络来完成函数逼近。
因为函数为一元函数,所以输入层有一个输入,输出层有一个输出,隐层神经元的个数为10。
1.p=[0011;
0101];
%与
t=[0001];
d=[0101];
w1=;
w2=;
yita=;
theta=;
while~isequal(t,d)
forj=1:
4
w1=w1+yita*(d(j)-t(j))*p(1,j);
w2=w2+yita*(d(j)-t(j))*p(2,j);
theta=theta+yita*(d(j)-t(j));
d(j)=w1*p(1,j)+w2*p(2,j)+theta;
d(j)=round(d(j));
p=[0011;
%或
t=[0111];
%异或
t=[0110];
2.x=0:
4*pi;
%画出模拟曲线
y=sin(x)+*exp*x).*cos*x);
figure
(1);
plot(x,y,'
g'
holdon;
N=50;
%初始化预测集样本数
P1=0:
%训练集样本点
P2=(4*pi)*rand(1,N);
%预测集样本点
%计算训练集和预测集对应的目标向量T1,T2
T1=sin(P1)+*exp*P1).*cos*P1);
T2=sin(P2)+*exp*P2).*cos*P2);
%建立网络
net=newff(P1,T1,[16]);
%设置训练参数
=50;
=;
=400;
=1e-8;
[net,tr]=train(net,P1,T1);
%训练网络
A=sim(net,P2);
%对预测集进行预测
plot(P1,T1,'
r+'
P2,A,'
b.'
1.与:
w1=w2=theta=0
或:
w1=w2=theta=
无法实现非功能,由于非只需要一个输入
异或:
2.
图中的蓝色曲线是所需模拟函数的曲线,红色‘+’为训练集的样本点,而蓝色的‘.’是预测集P2经过网络预测的结果A,即(P2,A)。
我们可以发现模拟的结果很好。
实验五MATLAB的综合实验
培养学生利用Matlab解决专业问题的能力。
三、实验内容(三题中选择一题)
1、实现一个数字信号处理的仿真系统,通过该系统可以方便的验证信号处理所学的基本内容,要求程序具有界面并实现以下功能:
1)能产生或得到各种数字信号(sin、方波、三角波、语音、噪声及其叠加);
2)具有根据需求设计低通、高通、带通和带阻滤波器的功能;
3)具有对数字信号进行DFT、DCT和DWT变换和经典功率谱估计功能;
4)产生或输入数字信号,显示时域、变换域及功率谱估计波形,在这个信号上叠加噪声,通过滤波器对其降噪,得到输出信号的频域特性和时间序列。
2、基于数字图像处理,实现一个汽车标志定位和分割的仿真系统。
要求系统具有界面并实现以下功能:
1)读入包含汽车标志的汽车图像;
2)预处理及汽车标志定位;
3)多种图像分割功能;
4)形态学滤波等功能;
3、结合自己的研究方向,实现一个神经网络应用的实例,要求用至少3种方法实现(可以包括不同神经网络方法或经典方法),并对实验结果进行比较分析。
1.实现一个数字信号处理的仿真系统
●根据数字信号处理的仿真系统要求,设计界面框图,安排界面布局图像二值化
●用GUI按照设计进行界面交互组件添加并设置组件属性
●对回调函数进行编程,实现题设功能
●调整界面并调试程序
五、程序代码(界面除外)及注释
functionvarargout=renliang(varargin)
%Begininitializationcode-DONOTEDIT
gui_Singleton=1;
gui_State=struct('
gui_Name'
mfilename,...
'
gui_Singleton'
gui_Singleton,...
gui_OpeningFcn'
@renliang_OpeningFcn,...
gui_OutputFcn'
@renliang_OutputFcn,...
gui_LayoutFcn'
[],...
gui_Callback'
[]);
ifnargin&
&
ischar(varargin{1})
=str2func(varargin{1});
end
ifnargout
[varargout{1:
nargout}]=gui_mainfcn(gui_State,varargin{:
});
else
gui_mainfcn(gui_State,varargin{:
%Endinitializationcode-DONOTEDIT
%---Executesjustbeforerenliangismadevisible.
functionrenliang_OpeningFcn(hObject,eventdata,handles,varargin)
%Choosedefaultcommandlineoutputforrenliang
=hObject;
%Updatehandlesstructure
guidata(hObject,handles);
%UIWAITmakesrenliangwaitforuserresponse(seeUIRESUME)
%---Outputsfromthisfunctionarereturnedtothecommandline.
functionvarargout=renliang_OutputFcn(hObject,eventdata,handles)
%Getdefaultcommandlineoutputfromhandlesstructure
varargout{1}=;
%---Executesonbuttonpressincheckbox1.
functioncheckbox1_Callback(hObject,eventdata,handles)
%正弦波输入
%---Executesduringobjectcreation,aftersettingallproperties.
functioncheckbox1_CreateFcn(hObject,eventdata,handles)
functionedit1_Callback(hObject,eventdata,handles)
%正弦波幅值
functionedit1_CreateFcn(hObject,eventdata,handles)
ifispc&
isequal(get(hObject,'
BackgroundColor'
),get(0,'
defaultUicontrolBackgroundColor'
))
set(hObject,'
'
white'
functionedit6_Callback(hObject,eventdata,handles)
%正弦波频率
functionedit6_CreateFcn(hObject,eventdata,handles)
functioncheckbox2_Callback(hObject,eventdata,handles)
%方波输入
functioncheckbox2_CreateFcn(hObject,eventdata,handles)
functionedit2_Callback(hObject,eventdata,handles)
%方波幅值
functionedit2_CreateFcn(hObject,eventdata,handles)
se