matlab实验报告Word格式.docx
《matlab实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《matlab实验报告Word格式.docx(16页珍藏版)》请在冰豆网上搜索。
elsex>
6%定义x的范围
f=0.5;
end
新建一个m文件,命名为m21,具体代码如下;
fplot(@m2,[0901.5])%定义x、y轴的范围
xlabel('
x的取值'
);
%显示x轴信息
ylabel('
y的取值'
%显示y轴信息
text(2,1,'
最大值'
'
fontsize'
18)%标记最大值
运行结果如下:
做这题时纠结了很久,代码都是对的,第一次运行有正确的图像,但是粗心忘记了保存,第二次运行时就出不来图像了,开始以为是代码问题,但是比较检查后发现没有问题,请教同学后,顺利解决了。
3、已知连续信号卷积的计算式
求下面两个信号的卷积。
建立一个脚本文件,命名为m3,具体代码如下:
functionf=m3(t)
symsz;
%定义z
f=int(exp(-2*z)*sin(t-z),0,inf)%信号函数的卷积表达式
在命令窗口输入f=m3(3)然后回车,得到结果如下:
开始一直都得不到结果,还以为是代码问题,看书也没有发现问题,只得请教老师,才知道要在命令窗口输入命令才会有结果,问题才得到解决。
4、从键盘输入一串字符,找出该字符串中所有的数字,并保存成数值数组Digital。
建立一个脚本文件,命名为m4,具体代码如下:
str=input('
请输入字符串'
s'
%在命令窗口显示提示信息index=find(str>
='
0'
&
str<
9'
%提取字符串中的数字信息ss=str(index);
%将提取出来的数字信息的真下标赋给新的字符串forn=1:
length(ss)digital(n)=str2num(ss(n));
%将数字保存成数值数组enddigital
提示输入字符串,输入一串字符串,回车即可得到字符串中的数字。
这题是老师上课讲过的,所以不是很难,只是稍微改了一下就得到了结果,所以上课还是要认真听讲。
6、将一个屏幕分成4幅,在左上福和右下幅分别绘制下列函数的图形:
(1),绘制x在[-pi/2,pi/2]的红色曲线图;
(2),,绘制该函数,蓝色。
建立一个脚本文件,命名为m6,具体代码如下:
subplot(2,2,1);
%将图像窗口分区成四个窗口,并激活当前窗口
m=-pi/2:
0.01:
pi/2;
%定义m的取值范围
n=sqrt(abs(sin(m)));
plot(m,n,'
-r'
%输出图像
x=-3:
0.15:
3;
y=-4:
0.2:
4;
subplot(2,2,4);
z=x.^2/3^2+y.^2/4^2;
plot3(x,y,z,'
-b'
)%输出图像
建立一个脚本文件,命名为m61,具体代码如下:
x=-pi/2:
subplot(2,2,1)%将图像窗口分区成四个窗口,并激活当前窗口
y=sqrt(abs(sin(x)));
r'
)%输出图像
subplot(2,2,4)%将图像窗口分区成四个窗口,并激活当前窗口
%定义x的取值范围,以及分隔长度。
0.2;
%定义y的取值范围,以及分隔长度。
ezsurfc('
x^2/3^2+y^2/4^2'
)%函数表达式,并输出图像。
为什么这题有两个结果,因为这题是我最为头疼的一题,花的时间最多。
做这题的时候开始以为很简单,但是当运行的时候就出问题了,只有一个图像,不能显示右下角的图像,请教同学,他帮我改了代码,运行结果还是不能得到图像,后来就直接用了他的后半段代码,但是还是得不到图像,他也就不知道是怎么回事了,我上网XX,搜到一些答案,试着运行了一下,有图像,但是我不知道ezsurfc这个函数,得到的图像也不符合要求的蓝色,想尝试着看能不能改成蓝色的,但是就会提示错误,而且运行出来的第一个图像没有白色的底色,着实不知道怎么解决。
7、以构架数组表示3个人的基本信息,构架数组的每一个构架表示一个人的信息。
三个人的基本信息如下:
姓名(Name)
Xujia
wanglibo
huangweiguo
年龄(Age)
20
21
成绩(Score)
85
100
52
成绩按如下划分区域:
满分(100),优秀(90-99),良好(80-89),及格(60-79),%不及格(<
60),请标出每个学生的成绩等级。
建立一个脚本文件,命名为m7,具体代码如下:
fori=1:
10;
a{i}=89+i;
b{i}=79+i;
c{i}=69+i;
d{i}=59+i;
end;
c=[d,c];
Name={'
Xujia'
Wanglibo'
Huangweiguo'
};
%建立姓名信息
Age={21,20,21};
%建立年龄信息
Score={85,100,52};
Rank=cell(1,3);
%建立分数信息
S=struct('
Name'
Name,'
Score'
Score,'
Rank'
Rank);
%条件判断
switchS(i).Score
case100
S(i).Rank='
满分'
;
casea
优秀'
caseb
良好'
casec
及格'
otherwise
不及格'
end
disp(['
学生姓名'
blanks(3),'
得分'
等级'
]);
disp('
'
)%输出信息
disp([blanks
(1),S(i).Name,blanks(6),num2str(S(i).Score),blanks(6),S(i).Rank]);
%输出信息
其实这题可以不用建立脚本文件也可以运行,下面的截图就是直接在命令窗口输入代码得到的结果。
8、针对信号t2,计算fourier变换和laplace变换。
symst%定义t
F=fourier(t^2);
%t2进行fourier变换
FL=laplace(t^2);
%t2进行laplace变换
9、计算定积分,计算导数。
symsxab;
%定义x,a,b
int((sin(x)*exp(x)),’x’,a,b)%对函数进行定积分的计算
symsx;
%定义x
y=(sin(x)*exp(x));
dy=diffy(y,x)%计算函数的倒数
10、读入一幅图像,提取该图像的边缘信息并显示。
建立一个脚本文件,命名为m10,具体代码如下:
f=imread('
F:
\图片\1.JPG'
C:
\WINDOWS\Web\Wallpaper\bliss,jpg%调取图片信息
f2=rgb2gray(f);
%转换为灰度图像
f3=edge(f2);
%提取边缘
imshow(f3);
%显示边缘图像
这个是原始图像
下面这个代码是可以将灰度图显示出来的代码,且有标题。
%调取图片信息
subplot(2,1,1)%将图像窗口分区成两个窗口,并激活当前窗口
imshow(f2);
%显示灰度图
title('
灰度图'
)%对图像打上标题
subplot(2,1,2)%将图像窗口分区成两个窗口,并激活当前窗口
边缘信息图'
11、针对二维函数f(x)=ex在x∈{0,0.1,0.2,…,5}上的取值,采用多项式进行拟合,并对x∈{0.15,0.15,0.75}分别采用最邻近、双线性和三次样条插值方法进行插值。
建立一个脚本文件,命名为m11,具体代码如下:
x=0:
5;
%对x的值的范围进行定义
y=exp(x);
%产生二维函数
p=polyfit(x,y,3);
%3阶多项式拟合
y1=polyval(p,x);
%拟合后多项式的值
x1=0.15;
x2=0.45;
x3=0.75;
yi_nearest=interp1(x,y,x1,'
nearest'
%最邻近插值
yi_linear=interp1(x,y,x2,'
linear'
%双线性插值
yi_spline=interp1(x,y,x3,'
spline'
%三次样条插值
figure;
holdon;
kd'
%输出x,y的图像
plot(x,y1,'
r-'
%输出x,y1的图像
函数的拟合与插值'
%对图像标注标题
plot(x1,yi_nearest,'
b*'
%输出x1的图像
plot(x2,yi_linear,'
%输出x2的图像
plot(x3,yi_spline,'
%输出x3的图像
这个也可以不用建立脚本文件,但是建立脚本文件要好一点,以下截图就是不建立脚本直接在命令窗口输入代码得到的图像截图。
例题6.26
建立一个脚本文件,命名为m626,具体代码如下:
t=1:
40;
x=zeros(size(t));
x
(1)=1;
[b,a]=butter(10,[0.30.7],'
stop'
y=filter(b,a,x);
stem(t,x,'
marker'
o'
stem(t,y,'
.'
时间(s)'
legend('
原始信号'
滤波后信号'
fx=fft(x);
fx=fftshift(fx);
fy=fft(y);
fy=fftshift(fy);
subplot(2,1,1);
f=(t-20)/20;
plot(f,abs(fx),'
b-'
f,abs(fy),'
b-.'
数字频率(rad)'
幅频曲线'
subplot(2