11
三、设计提示
1.Matlab允许在一个图形中画多条曲线:plot(x1,y1,x2,y2,??)指令绘制
y1?f1(x1),y2?f2(x2)等多条曲线。Matlab自动给这些曲线以不同颜色。标注可用text函数。
2.绘图时可以考虑极坐标和直角坐标的转换。 3.三维曲线绘图函数为plot3。
四、实验报告要求
1.编写实现第二节实验内容中所使用的函数命令,并对二-2记录相应的生成结果。 2.书写实验报告时要结构合理,层次分明,在分析描述的时候,需要注意语言的流畅。
五、参考答案
第3题:
function [y,t]=mcircle(r)
% 根据给定的半径r,以原点为圆心画一个红色空心圆。 t=0:2*pi/64:2*pi; y=r*ones(size(t));
subplot(121), polar(t,y,'*r') [X,Y]=pol2cart(t,y); % 或者采用如下方法转换 % X=r*cos(t); % Y=r*sin(t);
subplot(122), plot(X,Y,'*r') axis equal; axis square;
第4题:
t=0:pi/180:2*pi*5; r1=10/2;
x1=r1*cos(t); y1=r1*sin(t); z=t/(2*pi);
subplot(121), plot3(x1,y1,z)
《Matlab语言及其在电子信息科学中的应用》实验指导书
12
grid on
%--------------------------- r2=linspace(5,0,length(t)); x2=r2.*cos(t); y2=r2.*sin(t);
subplot(122), plot3(x2,y2,z) grid on
实验七:Matlab多项式和符号运算
一、实验目的
1.掌握Matlab多项式的运算。 2.了解符号运算。
二、实验内容(边做实验,边将生成结果和图形拷贝到Word文档中)
1.将多项式P(x)?(x?2)(x?3)(x?7)(x?1)化为x的降幂排列。 2.求一元高次方程的根。
x9?5x8?30x7?150x6?273x5?1365x4?820x3?4100x2?576x-2880?0
3.求一元高次方程的根,并画出左边多项式函数在x?[?2,2]区间内的曲线。
x4?2x2?1?0
4.求多项式f1(x)?x3?3x2?5x?7和f2(x)?8x3?6x2?4x?2的乘积f(x);并求
f(x)?f1(x)的商和余式。
f2(x)5.求y?x5?tan(4x2)?3的符号导数。
6.用符号运算求实验内容4中的f(x)的表达式。
三、设计提示
1.关于多项式运算的函数有poly、roots等。 2.多项式做加减运算时要注意等长度。
3.符号表达式的输入可以用字符串方式,也可以用sym函数。
四、实验报告要求
1.编写实现第二节实验内容中所使用的函数文件,并记录相应的生成结果和图形。
《Matlab语言及其在电子信息科学中的应用》实验指导书
13
2.对于多项式的结果应以多项式向量和多项式表达式两种方式记录。
3.书写实验报告时要结构合理,层次分明,在分析描述的时候,需要注意语言的流畅。
五、参考答案
第1题:
P=poly([2,-3,7,-1]) 结果: P =
1 -5 -19 29 42 即:P(x)?x4?5x3?19x2?29x?42
第2题:
P1=[1 -5 -30 150 273 -1365 -820 4100 576 -2880]; x1=roots(P1) 结果: x1 =
5.0000 -4.0000 4.0000 -3.0000 3.0000 -2.0000 -1.0000 2.0000 1.0000
第3题:
P2=[1 0 -2 0 1]; x2=roots(P2) n=1;
for x=-2:0.01:2
y(n)=sum(P2.*(x.^[(length(P2)-1):-1:0])); % 或者 y(n)=x^4-2*x^2+1; n=n+1; end
x=-2:0.01:2; plot(x,y) %或者
x=-2:0.01:2;
y=x.^4-2*x.^2+1; plot(x,y)
结果:(有重根!) x2 =
1.0000 + 0.0000i 1.0000 - 0.0000i
《Matlab语言及其在电子信息科学中的应用》实验指导书
14
-1.0000 + 0.0000i -1.0000 - 0.0000i
第4题:
f1=[1 3 5 7];f2=[8 -6 4 -2]; f=conv(f1,f2) % 卷积(*)
f11=[zeros(1,length(f)-length(f1)),f1] % 补0,与f同维 [q,r]=deconv(f-f11,f2) %解卷积(/) 结果: f =
8 18 26 36 -28 18 -14 即:f(x)?8x6?18x5?26x4?36x3?28x2?18x?14 f11 =
0 0 0 1 3 5 7 q =
1.0000 3.0000 5.0000 6.8750 r =
0 0 0 0 -3.7500 -4.5000 -7.2500
第5题:
y='x^5+tan(4*x^2)+3'; diff(y) %求导 结果: ans =
5*x^4+8*(1+tan(4*x^2)^2)*x
第6题:
f1=sym('x^3+3*x^2+5*x+7'); f2=sym('8*x^3-6*x^2+4*x-2'); f=f1*f2 collect(f) (f-f1)/f2 collect(ans) 结果: f =
(x^3+3*x^2+5*x+7)*(8*x^3-6*x^2+4*x-2) f =
8*x^6+18*x^5+26*x^4+36*x^3-28*x^2+18*x-14 h =
(-21+8*x^6+18*x^5+26*x^4+35*x^3-31*x^2+13*x)/(8*x^3-6*x^2+4*x-2) h =
(-21+8*x^6+18*x^5+26*x^4+35*x^3-31*x^2+13*x)/(8*x^3-6*x^2+4*x-2)
《Matlab语言及其在电子信息科学中的应用》实验指导书
15
实验八:线性时不变系统的时域响应
一、实验目的
1.掌握线性时不变系统的三种描述形式——传递函数描述法、零极点增益描述法、状态空间描述法。
2.掌握三种描述形式之间的转换。
3.掌握连续和离散系统频率响应的求解。
二、实验内容(边做实验,边将生成结果和图形拷贝到Word文档中)
1.生成20个点的单位脉冲信号、单位阶跃信号,并记录下函数命令和波形。 function[x,n]=impseq(n0,ns,nf) n=[ns:nf];x=[(n-n0)==0]; stem(x)
调用函数:>> impseq(1,0,20) %或者
N=20,n0=1;
x=zeros(1,N); x(1,n0)=1; stem(x)
function[x,n]=stepseq(n0,ns,nf) n=[ns:nf];x=[(n-n0)>=0]; Stairs(x)
调用函数:>> stepseq(1,0,20)
2.生成占空比为30%的矩形波。 Fs=10000;%采样频率
t=0:1/Fs:1;%采样间隔1/Fs x=square(2*pi*50*t,30);
plot(t,x),axis([0,0.2,-1.5,1.5]);
3.将连续系统转化为传递函数的形式,并显示其表(s?1)(s?3)H(s)?0.5达式。 (s?1)(s?2)(s?4)3?5z?1?2z?24.将离散系统H(z)?转化为零极点增益的描述
1?1.6z?1?1.3z?2?0.9z?3?0.5z?4形式,并显示其表达式。
5.分别求实验内容3和4的频率响应(对离散系统取256样点,采样频率取8000Hz)。
6.分别求实验内容3和4的单位冲激响应(对离散系统,作60样点图)。
《Matlab语言及其在电子信息科学中的应用》实验指导书