matlab上机完美版解析

合集下载

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上机习题详细讲解_试题答案

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上机实验内容答案解析

一熟悉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上机实验题及参考解答目录实验一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上机练习一参考解答

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程序设计上机报告

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答案(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-机设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函数转换为字符串。

Matlab上机题库及详细答案

Matlab上机题库及详细答案
例17:输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则输出其对应的大写字母;若为数字字符则输出其对应的数值,若为其他字符则原样输出。
解:c=input('请输入一个字符','s');
if c>='A' & c<='Z'
disp(setstr(abs(c)+abs('a')-abs('A')));
elseif c>='a'& c<='z'
disp(setstr(abs(c)- abs('a')+abs('A')));
(2)均值为0.6方差为0.1的5阶正态分布随机矩阵
解:>>x=20+(50-20)*rand(5);
>>y=0.6+sqrt(0.1)*randn(5)
例13:将101~125等25个数填入一个5行5列的表格中,使其每行每列及对角线的和均为565。
解:M=100+magic(5)
M =117 124 101 108 115
-0.4606
0.3848
例2、用简短命令计算并绘制在0x6范围内的sin(2x)、sinx2、sin2x。
解:x=linspace(0,6)
y1=sin(2*x),y2=sin(x.^2),y3=(sin(x)).^2;
plot(x,y1,x, y2,x, y3)
例3:画出指数衰减曲线y1=exp(-t/3)*sin(3*t)和它的包络y2=exp(-t/3),t的取值范围是(0,4pi)。

MATLAB上机习题一 解答

MATLAB上机习题一 解答

9. 判断下面语句的运算结果,并与 MATLAB 计算结果做比较: 1) 4 < 20 2) 4 ≤ 20 3) 4 == 20 4) 4 ~ = 20 5) ' b ' < ' B ' 解答: 1)true 2)true 3)false 4)true 5)false
注意,字符比较实际上比较的是字符的 ASCII 码的大小。
提示,可以使用 isvarname 对上述变量名进行检验。
解答:1、2、5、6、9、10 是合法的,其它不能作为变量名。 注意,第 6 问的函写脚本程序,命名为 barbell.m,完成如下计算: 如图 1 所示的杠铃,
每个球的半径是 10cm,两个求直接链接杆的长度是 15cm,杆的直径为 1cm,计 算杠铃的体积和表面积;使用 disp 函数显示计算结果。 (提示:disp 函数的用法 参考教材的例 2-31, 面积计算时相交部分球冠可近似为圆, 体积计算时可忽略重 叠的球冠体积) 解答: barbell.m(拷贝文件内容到如下方框中) : %注意,将圆柱与球相交部分面积近似为圆形 clear all clc R=10; %球半径,单位cm l=15; %杆长度,单位cm d=1; %杆直径,单位为cm
n2a + p nRT (V − nb ) = V2
该方程新增了 a 和 b 两个变量,用来表示纯净气体的属性。 1)编写脚本程序,命名为 state_equation.m,利用如下数据: 压强,p 摩尔数,n 体积,V a b 理想气体常数,R 220 mbar 2 mol 1L 5.536 L2bar/mol2 0.03049 L/mol 8.314 J/(mol.K)
1. 运行 MATLAB 软件,拖放、关闭界面上的子窗口,并恢复到原始视图。 解答:略。注意采用下图方式恢复视图

Matlab2014软件教程(完美版)

Matlab2014软件教程(完美版)

3
2、Matlab 数据输入与类型
2.1 Matlab 中的变量
MATLAB 程序中的基本数据单元称为阵列(Array),是一个分为行与列的数据集合。 变量被看作是只有一行一列的阵列。MATLAB 语言不需要对变量进行事先声明,也不 需要指定变量类型, 它会自动根据所赋予变量的值或对变量所进行的操作来确定变量的 类型。其命名规则为: (1)变量名的大小写是敏感的。 (2)变量的第一个字符必须为英文字母,而且不能超过 31 个字符。 (3)变量名可以包含下划线、数字,但不能为空格符、标点。 (4)命名变量时可以取一个容易记忆并且能表达出其含义的名称,如汇率,可以 定义为 exchange_rate。 对于变量作用域,默认情况是局部变量,使用 global 定义全局变量,而且全局变 量常用大写的英文字母表示。 MATLAB 预定义的变量如下表所示: ans eps pi inf NaN i 或 j nargin nargout realmax realmin flops 预设的计算结果的变量名 MATLAB 定义的正的极小值=2.2204e-16 内建的π值 ∞值,无限大 无法定义一个数目 虚数单位 i=j=√-1 函数输入参数个数 函数输出参数个数 最大的正实数 2 最小的正实数 2 浮点运算次数
1
作为和 Mathematica、 Maple 并列的三大数学软件。 其强项就是其强大的矩阵计算以 及仿真能力。要知道 Matlab 的由来就是 Matrix + Laboratory = Matlab,所以这个软件在 国内也被称作《矩阵实验室》 。每次 MathWorks 发布 Matlab 的同时也会发布仿真工具 Simulink。在欧美很多大公司在将产品投入实际使用之前都会进行仿真试验,他们所主 要使用的仿真软件就是 Simulink。 Matlab 提供了自己的编译器: 全面兼容 C++以及 Fortran 两大语言。所以 Matlab 是工程师,科研工作者手上最好的语言,最好的工具和环境。 Matlab 已经成为广大科研人员的最值得信赖的助手和朋友! 目前 MATLAB 产品族可以用来进行: - 数值分析 - 数值和符号计算 - 工程与科学绘图 - 控制系统的设计与方针 - 数字图像处理 - 数字信号处理 - 通讯系统设计与仿真 - 财务与金融工程... Simulink 是基于 MATLAB 的框图设计环境,可以用来对各种动态系统进行建模、 分析和仿真,它的建模范围广泛,可以针对任何能够用数学来描述的系统进行建模,例 如航空航天动力学系统、卫星控制制导系统、通讯系统、船舶及汽车等等,其中了包括 连续、离散,条件执行,事件驱动,单速率、多速率和混杂系统等等。 Simulink 提供 了利用鼠标拖放的方法建立系统框图模型的图形界面,而且 Simulink 还提供了丰富的 功能块以及不同的专业模块集合,利用 Simulink 几乎可以做到不书写一行代码完成整 个动态系统的建模工作。

Matlab上机题库及详细答案

Matlab上机题库及详细答案
rate=8/100;
case num2cell(25:49) %价格大于等于2500但小于5000
Байду номын сангаасrate=10/100;
otherwise %价格大于等于5000
rate=14/100;
end
price=price*(1-rate) %输出商品实际销售价格
例19已知,当n=100时,求的值。
解:程序如下:
y=0;n=100;for i=1:n;y=y+1/(2*i-1);End
例20:一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出全部水仙花数
解:for m=100:999
m1=fix(m/100);m2=rem(fix(m/10),10);m3=rem(m,10);
if m==m1*m1*m1+m2*m2*m2+m3*m3*m3;disp(m);end
D=diag(1:5);D*A %用D左乘A,对A的每行乘以一个指定常数
例15:输入x,y的值,并将它们的值互换后输出。
程序如下:
x=input('Input x please.');y=input('Input y please.');z=x;x=y;y=z;
disp(x);disp(y);
例16::求一元二次方程ax2 +bx+c=0的根。
switch fix(price/100)
case {0,1} %价格小于200
rate=0;
case {2,3,4} %价格大于等于200但小于500
rate=3/100;
case num2cell(5:9) %价格大于等于500但小于1000

matlab上机完美版全解

matlab上机完美版全解

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 截止频率由键盘输入,程序能根据输入的参数,绘制滤波器的增益响应。

完整版本matlab上机练习试题含答案

完整版本matlab上机练习试题含答案

1.计算 a6 9 3 2 4 1 的数组乘积1 71618 82 7 与 b6 8 5 计算多项式除法 (3x 3+13 x 2+6x+8)/( x+4)54>> a=[6 9 3;2 7 5]; >> d=deconv([3 13 6 8],[1 4])>> b=[2 4 1;4 6 8]; d =>> a.*b 31 2ans =6 求欠定方程组2 4 7 4x 8 的最小范数解12 3639 35 6 584240>> a=[2 4 7 4;9 3 5 6];4 9 2 37>> b=[8 5]';>> x=pinv(a)*b2.对于 AXB ,假如 A7 6 4 ,B 26,求解 X 。

3 5 728x =-0.2151>> A=[4 9 2;7 6 4;3 5 7]; 0.4459 >> B=[37 26 28] ’;0.7949 >> X=A\B 0.2707X =7 用符号函数法求解方程 at 2+b* t+c=0-0.5118 >> r=solve('a*t^2+b*t+c=0','t') 4.0427 r =1.3318[ 1/2/a*(-b+(b^2-4*a*c)^(1/2))] 1 2 5 , b8 7 4 [ 1/2/a*(-b-(b^2-4*a*c)^(1/2))]3. a64 362 ,察看 a 与 b 之间的3a 11 a 12六种关系运算的结果8求矩阵 A的队列式值、逆和特点根a 21 a 22 >> a=[1 2 3;4 5 6];>> b=[8 –7 4;3 6 2]; >> syms a11 a12 a21 a22; >> a>b >> A=[a11,a12;a21,a22]ans =>> AD=det(A) % 队列式 0 1 0 >> AI=inv(A) % 逆 11>> AE=eig(A) % 特点值>> a>=b A =ans =[ a11, a12] 0 1 0 [ a21, a22] 11AD =>> a<b a11*a22-a12*a21 ans =AI =1 0 1 [ -a22/(-a11*a22+a12*a21), a12/(-a11*a22+a12*a21)]1[ a21/(-a11*a22+a12*a21), -a11/(-a11*a22+a12*a21)] >> a<=b AE =ans =1 0 1 [ 1/2*a11+1/2*a22+1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)]1>> a==b [ 1/2*a11+1/2*a22-1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)]ans =9 因式分解: x 45x 3 5 x 2 5x 60 0 0 >> syms x;>> f=x^4-5*x^3+5*x^2+5*x-6; >> a~=b >> factor(f) ans =ans =1 1 1 (x-1)*(x-2)*(x-3)*(x+1) 111ax 214 计算多项式乘法 (x 2+2x+2)(x 2+5x+4),用符号微分求 df/dx 。

(完整版)matlab经典习题及解答

(完整版)matlab经典习题及解答

(完整版)matlab经典习题及解答第1章 MATLAB 概论1.1 与其他计算机语⾔相⽐较,MATLAB 语⾔突出的特点是什么?MATLAB 具有功能强⼤、使⽤⽅便、输⼊简捷、库函数丰富、开放性强等特点。

1.2 MATLAB 系统由那些部分组成?MATLAB 系统主要由开发环境、MATLAB 数学函数库、MATLAB 语⾔、图形功能和应⽤程序接⼝五个部分组成。

1.4 MATLAB 操作桌⾯有⼏个窗⼝?如何使某个窗⼝脱离桌⾯成为独⽴窗⼝?⼜如何将脱离出去的窗⼝重新放置到桌⾯上?在MATLAB 操作桌⾯上有五个窗⼝,在每个窗⼝的右上⾓有两个⼩按钮,⼀个是关闭窗⼝的Close 按钮,⼀个是可以使窗⼝成为独⽴窗⼝的Undock 按钮,点击Undock 按钮就可以使该窗⼝脱离桌⾯成为独⽴窗⼝,在独⽴窗⼝的view 菜单中选择Dock ……菜单项就可以将独⽴的窗⼝重新防⽌的桌⾯上。

1.5 如何启动M ⽂件编辑/调试器?在操作桌⾯上选择“建⽴新⽂件”或“打开⽂件”操作时,M ⽂件编辑/调试器将被启动。

在命令窗⼝中键⼊edit 命令时也可以启动M ⽂件编辑/调试器。

1.6 存储在⼯作空间中的数组能编辑吗?如何操作?存储在⼯作空间的数组可以通过数组编辑器进⾏编辑:在⼯作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输⼊修改内容即可。

1.7 命令历史窗⼝除了可以观察前⾯键⼊的命令外,还有什么⽤途?命令历史窗⼝除了⽤于查询以前键⼊的命令外,还可以直接执⾏命令历史窗⼝中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M ⽂件中。

1.8 如何设置当前⽬录和搜索路径,在当前⽬录上的⽂件和在搜索路径上的⽂件有什么区别?当前⽬录可以在当前⽬录浏览器窗⼝左上⽅的输⼊栏中设置,搜索路径可以通过选择操作桌⾯的file 菜单中的Set Path 菜单项来完成。

在没有特别说明的情况下,只有当前⽬录和搜索路径上的函数和⽂件能够被MATLAB 运⾏和调⽤,如果在当前⽬录上有与搜索路径上相同⽂件名的⽂件时则优先执⾏当前⽬录上的⽂件,如果没有特别说明,数据⽂件将存储在当前⽬录上。

最新(完美版)数值分析上机作业

最新(完美版)数值分析上机作业

一. 上机作业任务一: 用五点差分格式求解Poisson 方程边值问题,P124-------3、4(任选一题)。

二. 上机作业任务二:用Simpson 求积法计算定积分()baf x dx ⎰。

下面两种方法任选一。

(1)变步长复化Simpson 求积法。

(2)自适应Simpson 求积法三. 上机作业任务三:用MATLAB 语言编写连续函数最佳平方逼近的算法程序(函数式M 文件)。

要求算法程序可以适应不同的具体函数,具有一定的通用性。

并用此程序进行数值试验,写出计算实习报告。

所编程序具有以下功能:1. 用Lengendre 多项式做基,并适合于构造任意次数的最佳平方逼近多项式。

可利用递推关系 0112()1,()()(21)()(1)()/2,3,.....n n n P x P x xP x n xP x n P x n n --===---⎡⎤⎣⎦=2. 被逼近函数f(x)用M 文件建立数学函数。

这样,此程序可通过修改建立数学函数的M 文件以适用不同的被逼近函数(要学会用函数句柄)。

3. 要考虑一般的情况]1,1[],[)(+-≠∈b a x f 。

因此,程序中要有变量代换的功能。

4. 计算组合系数时,计算函数的积分采用数值积分的方法。

5. 程序中应包括帮助文本和必要的注释语句。

另外,程序中也要有必要的反馈信息。

6. 程序输入:(1)待求的被逼近函数值的数据点0x (可以是一个数值或向量)(2)区间端点:a,b 。

7. 程序输出:(1)拟合系数:012,,,...,n c c c c(2)待求的被逼近函数值00001102200()()()()()n n s x c P x c P x c P x c P x =++++ 8. 试验函数:()cos ,[0,4]f x x x x =∈+;也可自选其它的试验函数。

9. 用所编程序直接进行计算,检测程序的正确性,并理解算法。

10. 分别求二次、三次、。

Matlab上机报告

Matlab上机报告

Matlab上机实习报告这两周我们进行了Matlab的上机。

为了熟练掌握Matlab的各种操纵,学会使用Matlab解决复杂矩阵的运算并学会用Matlab解决平差中的实际问题,我们以书上的例7-8为例,通过Matlab编程运行来解决这道题,以熟悉Matlab的各项操纵和编程。

首先,我对该题进行了分析,然后将解题思路和解题过程中需要的公式写在了草稿纸上,然后,我比照Matlab的正确语言将各项公式输进了Matlab中,进行调试运行的时候并没有一次就成功,因为分号等符号的不正确使用,矩阵输入的一些错误方式以及数据输入上的一些错误,一直没能能算出正确的结果,在进行了多次的调试改正后才最终得出了正确的结果。

通过这些天的上机实习,我学会了将矩阵正确输入Matlab 的方法、学会了利用Matlab进行复杂矩阵的转置、求逆等运算,也学会了一些Matlab专有语言如diag等的应用。

可以说已经掌握了Matlab大概的功能,在以后的学习中,如果有需要用到Matlab的地方,我相信我也一定能好好使用Matlab来解决学习解题中遇到的问题。

短短两周的实习很快结束。

从这次实习中,我认识到了亲身实践是我们大学生活中很有用也很充实的一步,通过实习能学到课堂上学不到的一些东西。

在课堂上我们仅仅知道该怎么去做,但没有亲自实践,只能靠想象,所以很多东西当时都很难理解,很多东西不经过实践就不会印象深刻。

在上级之前,读过Matlab的相关书籍,觉得自己好像会了,但是在实际上机操纵过程中就会发现还是出现了很多这样或那样的问题。

但是,经过上机的实践后,似乎就更容易理解其原理了,而且对其操纵与使用印象更深刻了。

总体来说,这几次实习我受益匪浅。

在探索该如何运用Matlab课程算法实践过程中,培养了我的逻辑思维能力,增加了实际编程能力。

让我在体会到分析实例与设计程序的艰辛的同时,也体会到了最后成功的喜悦。

总而言之,这次Matlab的上机实习收获颇多,也让我深刻感受到,时间也是获得和掌握知识的一种好手段。

西南交大MATLAB上机题解

西南交大MATLAB上机题解

序言依如实习内容及自身学习情形,文章采纳的计算软件是MATLAB。

通过在该软件M文件中编写相应程序来解决实习内容中的问题。

MATLAB软件的进展已经30多年,进程中不断的版本升级和功能完善,使得该软件具有超级壮大的编程和计算能力,也使其成为当前世界上应用最普遍的计算软件之一。

作为一款不断进展的计算软件,MATLAB具有6个超级突出的特点:(1)友好的工作平台和编程环境;(2)简单易用的编程语言;(3)壮大的科学计算数据处置能力;(4)超卓的图形处置功能;(5)应用普遍的模块集合工具箱;(6)有效的程序接口和发布平台。

这些特点保证了MATLAB软件能够长期在工程界和学术界取得应用。

科学计算长期以来都是MATLAB软件擅长的部份。

MATLAB的科学计算环境不仅提供了大量用于计算的函数库、工具箱,而且还提供了功能壮大的计算画图能力,其要紧的优势有以下几个方面:(1)MATLAB几乎集成了当前所有科学研究领域和工程计算领域的算法,使得软件的科学计算能力超级的壮大,同时该软件默许的计算精度是双精度,保证了计算结果的高准确性。

(2)MATLAB将高性能的数值计算和可视化集成在一路,同时提高大量的内置函数和开放的程序和数据接口,使得该软件能够在科学计算、操纵系统与信息处置等领域的分析、仿真和设计大展身手。

(3)MATLAB包括各类能够进行常规运算的工具箱,同时具有编程计算功能。

(4)MATLAB能够将计算的结果绘制成二维和三维图形,增强了计算结果的可视化程度。

(5)MATLAB的编程语言是一种说明执行的脚本语言,简单易学。

文章采纳MATLAB软件完成数值分析的上机实习时基于以下几个方面的考虑:(1)前期对MATLAB软件有必然程度的了解,能够利用该软件做一些简单的矩阵计算。

(2)MATLAB的编程语言和C++的编程语言有很多相通的地址,而本科时候学过C++编程,对一些基础的编程把握比较好,容易实现MATLAB编程计算。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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个样本值。

相关文档
最新文档