matlab上机完美版解析
matlab上机习题详细讲解-试题答案解析

学习指导参考P 第一次实验答案1. 设要求以0.01秒为间隔,求出y 的151个点,并求出其导数的值和曲线。
clc clearx=0:0.01:1.5;y=sqrt(3)/2*exp(-4*x).*sin(4*sqrt(3)*x+pi/3) y1=diff(y) subplot(2,1,1) plot(x,y)subplot(2,1,2) plot(x(1:150),y1)2绘制极坐标系下曲线(a,b,n 自定数据)clc clear a=10; b=pi/2; n=5;theta=0:pi/100:2*pi; rho=a*cos(b+n*theta); polar(theta,rho)3. 列出求下列空间曲面交线的程序clc clearx=[-5:0.5:5];[X,Y]=meshgrid(x); z1=X.^2-2*Y.^2;z2=X.*2-Y.*3; xlabel('x') ylabel('y') zlabel('z') surf(X,Y,z1) hold onsurf(X,Y,z2)k=find(abs(z1-z2)<0.5); x1=X(k) y1=Y(k)z3=x1.^2-2*y1.^2 hold onplot3(x1,y1,z3,'*')4、设 ⎥⎦⎤⎢⎣⎡++=)1(sin 35.0cos 2x x x y 把x=0~2π间分为101点,画出以x 为横坐标,y 为纵坐标的曲线,要求有图形标注。
clc clearx=-2*pi:0.1: 2*pi;y=cos(x).*(0.5+sin(x)*3./(1+x.^2)); plot(x,y,'b*-'); title('绘图'); xlabel('x 坐标'); ylabel('y 坐标'); legend('原函数')gtext('y=cos(x)(0.5+3*sin(x)/(1+x^2))')5、求下列联立方程的解 81025695832475412743-=+-+-=-+-=++-=--+w z y x w z x w z y x w z y xclc cleara=[3,4,-7,-12;5,-7,4,2;1,0,8,-5;-6,5,-2,10]; b=[4,-3,9,-8]; c=b/a; x=c(1,1) y=c(1,2) z=c(1,3) w=c(1,4)6. 假设一曲线数据点为x = 0:2:4*pi;y = sin(x).*exp(-x/5);试将x 的间距调成 0.1,采用不同插值方法进行插值,并通过子图的形式将不同插值结果和原始数据点绘制在同一图形窗口。
matlab上机习题详细讲解_试题答案

P第一次实验答案要求以0.01秒为间隔,求出y的151个点, 并求出其导数的值和曲线。
clcclearx=0:0.01:1.5;y=sqrt(3)/2*exp(-4*x).*si n(4*sqrt(3)*x+pi/3) y1=diff(y)subplot(2,1,1)Plot(x,y)subplot(2,1,2) plot(x(1:150),y1)2绘制极坐标系下曲线(a,b,n自定数据)— a cos b n vclccleara=10;b=pi/2;n=5;theta=0:pi/100:2*pi; rho=a*cos(b+n*theta);polar(theta,rho) z2=X.*2-Y.*3;xlabel( 'x')ylabel( 'y')zlabel( 'z') surf(X,Y,z1)hold on surf(X ,Y, z2)k=fi nd(abs(z1-z2)<0.5);x1=X(k)y1=Y(k) z3=x1.A2-2*y1.A2 hold onplot3(x1,y1,z3, '*')4、设y cos x 0.53sin x(1 x2)把x=0~2 n间分为101点,画出以x为横坐标,y 为纵坐标的曲线,要求有图形标注clcclearx=-2*pi:0.1: 2*pi;y=cos(x).*(0.5+si n(x)*3./(1+x.A2));plot(x,y, 'b*-');title('绘图’);xlabel( 'x 坐标');ylabel( 'y 坐标');legend('原函数')gtext( 'y=cos(x)(0.5+3*sin(x)/(1+xA2))' )3.列出求下列空间曲面交线的程序乙=x2 _2y2z2 = 2x _ 3yclcclearx=[-5:0.5:5];[X,Y]=meshgrid(x);z1=X.A2-2*Y.A2; 5、求下列联立方程的解3x 4y - 7z - 12w 二45x - 7y 4z 2w - -3x 8z - 5w = 9-6x 5y - 2z 10w = -8clccleara=[3,4,-7,-12;5,-7,4,2;1,0,8,-5;-6,5,-2,10]; b=[4,-3,9,-8];第二次试验答案1、编制m文件,等待键盘输入,输入密码20120520 ,密码正确,显示输入密码正确,程序结束;否则提示,重新输入。
河南城建学院MATLAB上机实验内容答案解析

一熟悉Matlab工作环境1、熟悉Matlab的5个基本窗口思考题:(1)变量如何声明,变量名须遵守什么规则、是否区分大小写。
答:变量一般不需事先对变量的数据类型进行声明,系统会依据变量被赋值的类型自动进行类型识别,也就是说变量可以直接赋值而不用提前声明。
变量名要遵守以下几条规则: 变量名必须以字母开头,只能由字母、数字或下划线组成。
变量名区分大小写。
变量名不能超过63个字符。
关键字不能作为变量名。
最好不要用特殊常量作为变量名。
(2)试说明分号、逗号、冒号的用法。
分号:分隔不想显示计算结果的各语句;矩阵行与行的分隔符。
逗号:分隔欲显示计算结果的各语句;变量分隔符;矩阵一行中各元素间的分隔符。
冒号:用于生成一维数值数组;表示一维数组的全部元素或多维数组某一维的全部元素。
(3)linspace()称为“线性等分”函数,说明它的用法。
LINSPACE Linearly spaced vector. 线性等分函数LINSPACE(X1, X2) generates a row vector of 100 linearlyequally spaced points between X1 and X2.以X1为首元素,X2为末元素平均生成100个元素的行向量。
LINSPACE(X1, X2, N) generates N points between X1 and X2.For N < 2, LINSPACE returns X2.以X1为首元素,X2为末元素平均生成n个元素的行向量。
如果n<2,返回X2。
Class support for inputs X1,X2:float: double, single数据类型:单精度、双精度浮点型。
(4)说明函数ones()、zeros()、eye()的用法。
ones()生成全1矩阵。
zeros()生成全0矩阵。
eye()生成单位矩阵。
2、Matlab的数值显示格式思考题:(1)3次执行exist(’pi’)的结果一样吗?如果不一样,试解释为什么?>> pians =3.1416 >> sin(pi); >> exist('pi') ans =5 >> pi=0;>> exist('pi')ans =1>> pipi =>> clear>> exist('pi')ans =5>> pians =3.1416答:3次执行的结果不一样。
Matlab上机实验题及参考解答

Matlab上机实验题及参考解答目录实验一Matlab初步实验 (2)一matlab基本功能介绍 (2)二Matlab扩展功能 (2)三练习 (2)四练习题参考解答 (3)实验二概率模型实验 (5)一复习 (5)二事件的响应 (5)三Matlab中随机数字的生成与处理 (5)四练习 (5)五练习题参考解答 (5)实验三插值与拟合 (7)实验四线性规划与非线性规划 (8)4.1 实验目的 (8)4.2 实验内容 (9)4.3 综合练习 (10)4.4 课外作业 (11)实验五数值计算 (12)5.1 实验目的 (12)5.2 实验内容 (12)4.3 综合练习 (15)4.4 课外作业 (15)实验六计算机图像处理 (16)6.1 实验目的 (16)6.2 实验内容 (16)6.3 综合练习 (17)6.4 课外作业 (19)实验七综合练习 (19)7.1 实验目的 (19)7.2 实验内容 (19)7.3 综合练习 (20)7.4 课外作业 (21)实验一 Matlab 初步实验 一 matlab 基本功能介绍1 编程环境2语法规范:for … end; if …else if …end; 3 矩阵运算 4 图形绘制二 Matlab 扩展功能1 编程练习:(1) 绘出序列kk x x r r 0(1),0.2083=+=;(2) 绘出曲线rtx t x e t 0(),0=>2 扩展功能(1) 矩阵中全部数据、部分数据的截取、更改; (2) 矩阵的初始化与赋值如:A=zeros(5,5); A(2:2:)=[1,2 3 4 5] 3 微积分基础(见实验4) 符号计算三 练习(课上编程完成下列练习,课后上机验证) 1 求和S=1+2+3+…+100; 2 求和e 1111!2!10!1...=++++3求和S 1112310!1...=++++4设A 234576138⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦, 求A 的逆、特征值和特征向量;验证Ax=λx 5 画函数图()011mrtm x x t x e x -=⎛⎫+- ⎪⎝⎭6 展开 (x-1)(x-2)…(x-100)7 因式分解 x 8—y 8; 因数分解200520068 求极限312lim +∞→⎪⎭⎫⎝⎛++n n n n9 )](sin[cos 22x x y += 求dxdy10 求积分x xdx 10ln ⎰11 求积分3⎰并且画出所求的平面区域12 设x+2y=1, 2x+3y=6, y=2x 2, 画出各个方程图形,求出曲线交点.四 练习题参考解答%MatlabTrain1.m clear all % 2nd e=1; temp=1; for I=1:1:10temp=temp*I; e=e+1/temp; end e%%%%%%%%%%% clear all % 3nd S=0; temp=1;for I=1:1:100temp=temp*I; endfor J=1:1:temp S=S+1/J; end S%%%%%%%%%%%%%% clear all % 11ndx=linspace(0,4); y=1./sqrt(x.^5+1); plot(x,y) for t=1:0.1:3yt=1./sqrt(t.^5+1);hold online([t,t],[0,yt]);end%fill(t,yt,'b') %%%%%%%%%%%%% clear all% 12ndx=linspace(-2,2);y=[0.5-0.5*x; 2-2/3.*x; 2*x.^2]; plot(x,y)grid实验二概率模型实验一复习1 小结上次编程练习中存在的问题,讲述部分习题答案2 画图命令介绍:line二事件的响应(1) 获取鼠标的位置%MatlabTrain2.mclear all% 鼠标响应p=ginput(3)plot(p(:,1),p(:,2),'r*')(2) 键盘输入相应t=input('How many apples? t=');m=t+3三Matlab中随机数字的生成与处理1 随机数的生成2 产生随机数字3 产生某区间的整数4 生日模拟问题的Montecaro法设计技术、思路学生尝试编程四练习(1) 编程验证人数在不同年龄段的生日的概率计算(2) 编程实现游戏”聪明伶俐100分”(3) 编程实现两家电影院的座位数问题(4) 编程实现某图形面积的计算五练习题参考解答(1) 生日问题程序示例:%birthPro.mn=0;nStudents=30;for I=1:1000 %how many times testy=0;x=1+floor(365*rand(1,nStudents));%get nStudents random numbersfor J=1:nStudents-1for K=J+1:nStudentsif x(J)==x(K)y=1;break;endendendn=n+y;%count, n times of that there are two people's dirthday in the same dayendfreq=n/I % caculating the frequently(2) 编程实现游戏”聪明伶俐100分”参考答案%MatlabTrain2.mclear all% 鼠标响应x=floor(10*rand(1,4))t=input('填入四个数字[n1 n2 n3 n4]=');flag=0;A=0;B=0;for I=1:1:8flag=flag+1;A=0;B=0;if t==xswitch flagcase 1disp('聪明绝顶!');case 2disp('聪明!');case 3disp('有点聪明!');case 4disp('还可以!');case 5disp('聪明伶俐100分!');case 6disp('聪明伶俐90分!');case 7disp('聪明伶俐85分!');case 8disp('聪明伶俐80分!');otherwisedisp('赫赫!');endbreak;endfor J=1:1:4for K=1:1:4if x(J)==t(K) & J==KA=A+1;else if x(J)==t(K) & J~=KB=B+1;endendendends='AABB';s(1)=INT2STR(A);s(3)=INT2STR(B);disp(s);t=input('不重复填入四个数字[n1 n2 n3 n4]=');endif flag>0disp('太烂了! 正确答案是:');xend实验三插值与拟合一复习讲述聪明伶俐100分的编程中的问题二插值三拟合课堂练习2 某之股票价格from 2003 09 01 to 2004 01 02,试进行插值、拟合%TimerS.m%from 2003 09 01 to 2003 01 02clear all;dataST=[15.09 14.7514.95 14.722.88 21.8619.82 19.09];plot(dataST)四课外练习112)进行多项式拟合,求出拟合多项式,并求出多项式在t=4, 5处的值.实验四线性规划与非线性规划4.1 实验目的1 用Matlab求解线性规划2 用Matlab求解非线性规划4.2 实验内容4.2.1 线性规划求解实用格式:x=lp(c, A, b, xLB,xUB,x0,nEq)可以求解下列线性规划模型:min f=c’xs.t. Ax=<=b(其中前nEq个约束为等式约束,即等式约束的个数,其余是不等式约束<=) xLB<=x<=xUB函数中x0参数是算法迭代的初始点,任意取值例1 求解下列线性规划1)123123123123min2..360210200,1,2,3jz x x xs t x x xx x xx x xx j=--+⎧⎪++≤⎪⎪-+≤⎨⎪+-≤⎪≥=⎪⎩,2)1235635623416367min..3621060,1,,7jz x x x x xs t x x xx x xx xx x xx j=-++-⎧⎪++=⎪⎪+-=⎪⎨-+=⎪⎪++=⎪≥=⎪⎩例1求解示例c=[-2 -1 1]';%book page 72 Number 16-1A=[3 1 1;1 -1 2;1 1 -1];b=[60 10 20]';xlb=[0 0 0]';xub=[inf inf inf]';x0=[0 0 0]'; x=lp(c,A,b,xlb,xub,x0,0)% x=(15 5 0)'例2 求解示例c2=[1 -1 1 0 1 -1 0]';%book page 72 Number 16-3A2=[0 0 3 0 1 1 0;...0 1 2 -1 0 0 0;...-1 0 0 0 0 1 0;...0 0 1 0 0 1 1];b2=[6 10 0 6]';xlb2=[0 0 0 0 0 0 0]';xub2=[inf inf inf inf inf inf inf]';x02=[0 0 0 0 0 0 0]';x2=lp(c2,A2,b2,xlb2,xub2,x02,4)% unbounded4.2.2 非线性规划1)命令格式1:[X, OPTIONS]=constr(‘FUN’, X, OPTIONS,VLB,VUB)2)命令格式2:X=FMINCON(FUN,X0,A,B,Aeq,Beq)% minimizes FUN subject to the linear equalities% Aeq*X = Beq as well as A*X <= B. (Set A=[] and B=[] if no inequalities exist.)例2 求解非线性规划y x x x x s t x3211221min22 ..1=++-≤-求解示例%unconop.mfunction y=unconop(x)y=x(1).^3+2*x(1).*x(2)+2*x(2).^2;%book page 148 ex.7-1 后建立调用函数xx=fmincon('unconop',[0 0]',[-1 0],-1,[],[])%book page 148 ex.7-1 4.3 综合练习学生独立编写程序,求解一个含有2个变量的线性规划问题,要求:1)编写程序,把可行域画上阴影;2)求出最优解,在可行域上标出最优解;3)求出基本解,并在上图中表示出来;4)求出基本可行解,观察单纯形方法迭代时,顶点的变化.可行域画图与表出阴影示例:syms x y[u(1),v(1)]=solve('y=x+2','y=2*x');%求出交点坐标[u(2),v(2)]=solve('y=-x+2','y=2*x');[u(3),v(3)]=solve('y=x+2','y=-x+2');x=linspace(0,3,5); %直线作图y=[2*x;-x+2;x+2];line(x,y); gridpatch(double(u),double(v),'b'); 运行结果:4.4 课外作业1 求解线性规划131223min ..250.530,1,2,3i x x s t x x x x x i +⎧⎪+≤⎪⎨+=⎪⎪≥=⎩ (1) 求解线性规划;x *=()(2) 目标函数中c 1由1变为(-1.25)时求最优解;(3) 目标函数中c 1由1变为(-1.25),c 3由1变为2时求最优解;(4) 约束条件中53b ⎛⎫= ⎪⎝⎭变为21b -⎛⎫'= ⎪⎝⎭时,求解;(5) 约束条件中53b ⎛⎫= ⎪⎝⎭变为23b ⎛⎫'= ⎪⎝⎭时,求解[刁在筠,运筹学(第二版),高等教育出版社,2004,01 p74第20题]2 求解非线性规划y x x x x x x x 3221122233min 2223=++++ 注:无约束非线性规划问题, 命令:fminunc子函数% unconop.mfunction y=unconop(x)y=x(1).^2+2*x(1).*x(2)+2*x(2).^2+2*x(2).*x(3)+3*x(3).^2;%book page 148 ex.7-1 主函数:xx=fminunc('unconop',[0.1 0.1 1]')思考:绘出两个变量的线性规划问题的可行域、标出可行的整数解和求出可行解;演示单纯形方法的迭代过程,如j z x x s t x x x x x j 121212min 2..360200,1,2=--⎧⎪+≤⎪⎪+≤⎨⎪⎪≥=⎪⎩实验五 数值计算5.1 实验目的1 掌握代数数值计算2 掌握常微分方程数值计算5.2 实验内容5.2.1 关于多项式设多项式1110()n n n n p x a x a x a x a --=++++表示为110[,,,,]n n p a a a a -=1)求多项式的根 roots(p) %求出p(x)=0的解。
MATLAB上机练习一参考解答

上机练习一参考解答一、实验目的1、 熟悉Matlab 编程2、 体会数学上恒等,算法上不一定恒等二、实验内容1. Using the Taylor polynomial of degree nine and three-digit rounding arithmetic to find an approximationto 5-e by each of the following methods.(A) ∑=--≈905!)5(n n n e , (B) ∑=-≈=9055!5/11n nn e e An approximate value of 5-e correct to three digits is 31074.6-⨯. Which formula, (A) or (B), gives the most accuracy, and why?1) 算法基础利用x e 的Taylor 公式00!!n nk x n n x x e n n ∞===≈∑∑,x -∞<<+∞ (1)及001/1/1/!!n nk x x n n x x e e n n ∞-====≈∑∑,x -∞<<+∞, (2)其中k 是根据精度要求给定的一个参数。
在本题中将k 取为9, x 取为-5或5即可由公式(1)或(2)得到5-e 的近似计算方法(A )或(B )。
2) 程序下述程序用公式(A )及(B )分别在Matlab 许可精度下及限定在字长为3的算术运算情况下给出5-e的近似计算结果,其中results_1, results_2为用方法(A )在上述两种情况下的计算结果,err_1, err_2为相应的绝对误差;类似的,results_3, results_4为用方法(B )在上述两种情况下的计算结果,err_3, err_4为相应的绝对误差;具体程序如下:% Numerical Experiment 1.1 % by Xu Minghua, May 17, 2008 clc; %Initialize the data x=-5; k=9; m=3; %three-digit rounding arithmetic %------------------------------------ % Compute exp(x) by using Method (A) % with the computer precision results_1=1; power_x=1; for i=1:k factor_x=x/i; power_x=power_x*factor_x; results_1=results_1+power_x; end results_1 err_1=abs(exp(x)-results_1)%------------------------------------% Compute exp(x) by using Method (A) % with the 3-digits precisionresults_2=1;power_x=1;for i=1:kfactor_x=digit(x/i,m);power_x=digit(power_x*factor_x,m); results_2=digit(results_2+power_x,m); endresults_2err_2=abs(exp(x)-results_2)%------------------------------------% Compute exp(x) by using Method (B) % with the computer precisiont=-x;results_3=1;power_x=1;for i=1:kfactor_x=t/i;power_x=power_x*factor_x;results_3=results_3+power_x; endresults_3=1/results_3err_3=abs(exp(x)-results_3)%------------------------------------% Compute exp(x) by using Method (B) % with the 3-digits precisiont=-x; results_4=1;power_x=1;for i=1:kfactor_x=digit(t/i,m);power_x=digit(power_x*factor_x,m);results_4=digit(results_4+power_x,m); endresults_4=digit(1/results_4,m)err_4=abs(exp(x)-results_4)%------------------------------------上述主程序用到一个子程序digit.m, digit(x,m)的作用是将x四舍五入成m位数。
Matlab程序设计上机报告

Matlab 程序设计上机报告第2章1.求以下表达式的值。
〔1〕)1034245.01(2w 6-⨯+⨯= >> w=sqrt(2)*(1+0.34245*10^(-6)) w =1.4142〔2〕ac b e abc cb a x ++-+++=)tan(22ππ,其中a=3.6,b=5,c=-9.8 >> a=3.5; b=5; c=-9.8;x=(2*pi*a+(b+c)/(pi+a*b*c)-exp(2))/(tan(b+c)+a) x =0.9829〔3〕⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛--⎪⎭⎫ ⎝⎛-=απβππ48333.04122a y ,其中α=3.32,β=-7.9。
a=3.32; b=-7.9;y=2*pi*a^2*((1-pi/4)*b-(0.8333-pi/4)*a) y =-128.4271〔4〕()221ln 21t t e z t ++=,其中t=⎥⎦⎤⎢⎣⎡--65.05312i 。
>> t=[2,1-3i;5,-0.65];z=0.5*exp(2*t)*log(t+sqrt(1+t*t)) z =1.0e+04 *0.0057 - 0.0007i 0.0049 - 0.0027i 1.9884 - 0.3696i 1.7706 - 1.0539i2.⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=023352138,7613870451B A 求以下表达式的值 (1)A+6B 和A 2-B+I (2)A*B 、A.*B 和B*A (3)A/B 及B/A(4)[A,B]和[A([1,3],:);B^2] >> A=[-1,5,-4;0,7,8;3,61,7]; >> B=[8,3,-1;2,5,3;-3,2,0]; >> A+6*Bans =47 23 -1012 37 26 -15 73 7 >> A^2-B+eye(3)ans =-18 -217 17 22 533 10921 867 526 >> A*Bans =14 14 16 -10 51 21 125 328 180 >> A.*Bans =-8 15 40 35 24-9 122 0>> A.*Bans =-8 15 40 35 24-9 122 0>> A/Bans =1.2234 -0.92552.9787-0.9468 2.3511 -0.95744.6170 3.8723 13.8936>> B/Aans =-5.3173 -3.5661 0.8942-1.2768 -0.4743 0.24112.1229 1.3173 -0.2924>> [A,B]ans =-1 5 -4 8 3 -10 7 8 2 5 33 61 7 -3 2 0 >> [A([1,3],:);B^2]ans =-1 5 -43 61 773 37 117 37 13-20 1 93.⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡---=14.35454.96325325654541778.01023A完成以下操作:(1)输出A在[10,25]范围内的全部元素。
MATLAB上机实验1答案(2021年整理精品文档)

MATLAB上机实验1答案编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(MATLAB上机实验1答案)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为MATLAB上机实验1答案的全部内容。
实验1 Matlab 初步一、问题已知矩阵A 、B 、b 如下:⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡-------------=031948118763812654286174116470561091143A ⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡------=503642237253619129113281510551201187851697236421B []1187531=b应用Matlab 软件进行矩阵输入及各种基本运算.二、实验目的学会使用Matlab 软件构作已知矩阵对应的行(列)向量组、子矩阵及扩展矩阵,实施矩阵的初等变换及线性无关向量组的正交规范化,确定线性相关相关向量组的一个极大线性无关向量组,且将其余向量用极大线性无关向量组线性表示,并能编辑M 文件来完成所有的实验目的。
三、预备知识1、 线性代数中的矩阵及其初等变换、向量组的线性相关性等知识。
2、 Matlab 软件的相关命令提示如下;(1) 选择A 的第i 行做一个行向量:ai=A(i,:);(2)选择A的第j行做一个列向量:ai=A(j,:);(3)选择A的某几行、某几列上的交叉元素做A的子矩阵:A([行号],[列号]);(4)n阶单位阵:eye(n);n阶零矩阵:zeros(n);(5)做一个n维以0或1为元素的索引向量L,然后取A(:,L),L中值为1的对应的列将被取到。
MATLAB-机设678-上机习题三-解答

MATLAB上机习题三请按以下步骤完成上机实验:1)在FTP上下载“MATLAB上机习题三.doc”文件,所有习题列在该文件内;2)在MATLAB中完成所有习题;3)如果是仅需要在命令窗口输入完成的习题,则只需将屏幕截图粘贴到相应习题后面;3)如果习题是问答题,请将答案写在题目后;4)如果有的习题要求提供脚本文件,请将脚本文件内容拷贝到相应习题后,并将运行结果的截图粘贴到相应习题后;5)将文件保存并重命名为自己的学号,例如“20110771.doc”,上传到FTP上的“上传作业”目录1. 创建一个向量:1)元素值为-5到5、间隔为1的向量2)元素值为5到-5、间隔为1的向量3)元素值为20~40之间的随机整数,元素个数为10的向量4)使用linspace函数完成第1、2问解答:(拷贝输入命令到如下方框中):%1)a=-5:1:5 %间隔1可省略%2)b=5:-1:-5 %注意,间隔-1不能省略%3)c=fix((40-20)*rand(1,10))+20 %也可使用floor,round,ceil等取整函数%4)a=linspace(-5,5,11)b=linspace(5,-5,11)运行屏幕截图:略2. 创建一个函数sum2,输入参数为x、n,输出参数为y和ysum,其中y为如下向量x^0、x^1、x^2、...、x^n,ysum为y中所有元素的和。
并测试sum2(2,3)、sum2(10,5),查看结果是否正确。
解答:(拷贝函数脚本文件sum2.m到如下方框中):%%%1)使用logspace函数function [y,ysum] = sum2(x,n)y = logspace(log10(x)*0,log10(x)*n,n+1);ysum = sum(y);end%%%2)使用乘方运算function [y,ysum] = sum2(x,n)y = x.^[0:n];ysum = sum(y);end3. 完成如下操作:1)创建两个字符串str1和str2,分别是小写字母a~z,大写字母A~Z2)将上述两个字符串转换成数值,观察并找出二者在数值上的规律3)创建一个值为自己的姓名的字符串,并转换成数值显示出来4)利用第2问的结果,将第3问中的字符串中的小写字母转换成大写解答:(拷贝输入命令到如下方框中):%1)str1='abcdefghigklmnopqrstuvwxyz';str2='ABCDEFGHIJKLMNOPQRSTUVWXYZ';%2)abs(str1)abs(str2)%3)str3='myname'abs(str3)%4)char(abs(str3)-32) %观察可知小写字母比相应的大写字母的ASCII值大32 运行屏幕截图:4. 使用随机数产生函数rand生成一个满足下列要求的字符串:(1)字符串长度为20;(2)每个字符都属于可打印字符(参考下图中的红色部分)1)显示字符串的ASCII码,与上图中的数值比较,看看是否一致.2)将字符串中的大写字母变成小写.提示:首先生成满足相应ASCII码范围要求的数值数组,然后使用char函数转换为字符串。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.已知3阶椭圆IIR数字低通滤波器的性能指标为:通带截止频率0.4π,通带波纹为0.6dB,最小阻带衰减为32dB。
设计一个6阶全通滤波器对其通带的群延时进行均衡。
绘制低通滤波器和级联滤波器的群延时。
%Q1_solution%ellip(N,Ap,Ast,Wp)//双线性法设计低通滤波器%N--->The order of the filter%Ap-->ripple in the passband%Ast->a stopband Rs dB down from the peak value in the passband%Wp-->the passband width[be,ae]=ellip(3,0.6,32,0.4);hellip=dfilt.df2(be,ae);f=0:0.001:0.4;g=grpdelay(hellip,f,2);g1=max(g)-g;[b,a,tau]=iirgrpdelay(6,f,[0 0.4],g1);hallpass=dfilt.df2(b,a);//级联hoverall=cascade(hallpass,hellip);hFVT=fvtool([hellip,hoverall]);set(hFVT,'Filter',[hellip,hoverall]);legend(hFVT,'Lowpass Elliptic filter','Compensatedfilter');//添加图例的标注clear;[num1,den1]=ellip(3,0.6,32,0.4);[GdH,w]=grpdelay(num1,den1,512);plot(w/pi,GdH); gridxlabel('\omega/\pi'); ylabel('Group delay, samples');F=0:0.001:0.4;g=grpdelay(num1,den1,F,2); % Equalize the passbandGd=max(g)-g;% Design the allpass delay equalizer[num2,den2]=iirgrpdelay(6,F,[0,0.4],Gd);[GdA,w] = grpdelay(num2,den2,512);plot(w/pi,GdH+GdA,'r');legend('Original Filter','Compensated filter');2.设计巴特沃兹模拟低通滤波器,其滤波器的阶数和3-dB 截止频率由键盘输入,程序能根据输入的参数,绘制滤波器的增益响应。
clear;N=input('Type in the order N = ');Wn=input('Type in the 3-dB cutoff frequency Wn = '); %模拟频率[num,den]=butter(N,Wn,'s');w=0:2*Wn;h=freqs(num,den,w);plot(w,20*log(abs(h))),grid;3.已知系统的系统函数为:12123410.20.5()1 3.2 1.50.8 1.4z z H z z z z z -------+=++-+ 用MATLAB 进行部分分式展开,并写出展开后的表达式。
% Partial-Fraction Expansion of Rational z-Transformnum = [0 0 1 -0.2 0.5];den = [1 3.2 1.5 -0.8 1.4];[r,p,k] = residuez(num,den);disp('Residues');disp(r')disp('Poles');disp(p')disp('Constants');disp(k)4.设计切比雪夫I 型IIR 数字高通滤波器,其性能指标为:通带波纹0.5dB p α=,最小阻带衰减43dB s α=,通带和阻带边缘频率0.75 rad p ωπ=和0.35 rad s ωπ=绘制所设计的滤波器增益响应。
%a4disp('prewapping is done,and T=2');Wp = tan(0.75*pi/2);Ws = tan(0.5*pi/2);Rp = 0.5;[N,Wn] = cheb1ord(Ws,Wp,Rp,Rs,'s');[b,a] = cheby1(N,Rp,Wn,'s');[bt,at]=lp2hp(b,a,Wp);[num,den]=bilinear(bt,at,0.5);[h,omega] = freqz(num,den);plot (omega/pi,20*log10(abs(h)));grid;xlabel('\omega/\pi'); ylabel('Gain');title('Type I Chebyshev Highpass Filter');clear;%预畸变Rp=0.5;Rs=43;Wp=0.75;Ws=0.35;[N,Wp]=cheb1ord(Wp,Ws,Rp,Rs);[num,den]=cheby1(N,Rp,Wp,'high');w=0:pi/1024:pi;h=freqz(num,den,w);subplot(2,1,1);plot(w/pi,abs(h)),grid;title('Amplitude in linear scale')subplot(2,1,2);plot(w/pi,20*log10(abs(h))),grid;title('Amplitude in log scale')5.已知复指数序列为:(0.40.5)[]0.2j n x n e+=,绘制30点该序列的实部和虚部。
n=0:29;x=0.2*exp((0.4+1i*0.5)*n);subplot(211);stem(n,real(x));xlabel('n');ylabel('real part');grid on ;subplot(212);stem(n,imag(x));xlabel('n');ylabel('imag part');grid on ;6.设计切比雪夫I 型模拟低通滤波器,其滤波器的阶数,3-dB 截止频率和通带的波纹由键盘输入,程序能根据输入的参数,绘制滤波器的增益响应。
clear;N=input(' 滤波器阶数N =');Wn=input(' 截止频率Wn = ');Rp=input('通带波纹Rp = ');[num,den]=cheby1(N,Rp,Wn,'s');w=0:5*Wn;h=freqs(num,den,w);plot(w,20*log10(abs(h))),grid;xlabel('Frequency, Hz'); ylabel('Gain, dB');7.已知系统的系统函数为:111210.6 1.8()0.21 3.21 2.4(1 2.4)H z z z z ---=++++-- 用MATLAB 求系统z 变换的有理形式,并写出有理形式的表达式。
r=[1 0.6 1.8];p=[-3.2 2.4 2.4];k=0.2;[num, den] = residuez(r,p,k)8.设计巴特沃兹IIR 数字带通滤波器,其性能指标为:归一化通带截止频率为120.4,0.6p p ωπωπ==,归一化阻带截止频率为120.3,0.7s s ωπωπ==,通带波纹为0.6dB ,最小阻带衰减为35dB 。
绘制所设计的滤波器增益响应。
% Design of IIR Butterworth Bandpass FilterWp =[0.4 0.6];Ws = [0.3 0.7];Rp = 0.6;Rs = 35;[N,Wn] = buttord(Wp, Ws, Rp, Rs);[b,a] = butter(N,Wn);[h,omega] = freqz(b,a,256);plot (omega/pi,abs(h));grid;xlabel('\omega/\pi'); ylabel('Gain');title('IIR Butterworth Bandpass Filter');disp(N);disp(Wn);x n ,绘制24点该序列。
9.已知指数序列为:[]2(0.9)nn=0:23;x=2*0.9.^n;stem(n,x,'.');grid on;ylabel('Amplitude');xlabel('Time index');10.设计椭圆模拟低通滤波器,其滤波器的阶数,3-dB截止频率,通带的波纹和阻带衰减由键盘输入,程序能根据输入的参数,绘制滤波器的增益响应。
clear;N=input('Type in the order N = ');Wn=input('Type in the 3-dB cutoff frequency Wn = ');Rp=input('Type in the the passband ripple Rp = ');Rs=input('Type in the the minimum stopband attenuation Rs = '); [num,den]=ellip(N,Rp,Rs,Wn,'s');w=0:5*Wn;h=freqs(num,den,w);plot(w,20*log10(abs(h))),grid;xlabel('Frequency, Hz'); ylabel('Gain, dB');11.已知系统的系统函数为:12123410.20.5()1 3.2 1.50.8 1.4z z H z z z z z -------+=++-+ 用MATLAB 的impz 函数求h[n]的前30个样本值。