matlab上机练习56
MATLAB 上机 习题及答案
15、今有多项式P1(x)=x4-2x+1,P2(x)=x2+4x-0.5,要求先求得P(x)=P1(x)+P2(x),然后计算xi=0.2*i各点上的P(xi)(i=0,1,2,…,5)值。
p1=[1.0 0.0 0.0 -2.0 1.0];>> p2=[0.0 0.0 1.0 4.0 -0.5];>> p1x=poly2sym(p1);p2x=poly2sym(p2);>> p=p1x+p2xp =x^4+2*x+1/2+x^2>> x=0:5;>> x.^4+2*x+1/2+x.^2ans =0.5000 4.5000 24.5000 96.5000 280.5000 660.50001、试个MATLAB的工作空间中建立以下2个矩阵:A=[1 2]1234B⎡⎤=⎢⎥⎣⎦,求出矩阵A和B的乘积,并将结果赋给变量C。
>> A=[1 2]A =1 2>> B=[1 23 4]B =1 23 4>> C=A*BC =7 102、利用MATLAB提供的帮助信息,了解inv命令的调用格式,并作简要说明。
help invINV Matrix inverse.INV(X) is the inverse of the square matrix X.A warning message is printed if X is badly scaled ornearly singular.See also SLASH, PINV, COND, CONDEST, LSQNONNEG, LSCOV. Overloaded methodshelp gf/inv.mhelp zpk/inv.mhelp tf/inv.mhelp ss/inv.mhelp lti/inv.mhelp frd/inv.mhelp sym/inv.mhelp idmodel/inv.m3、使用help命令查询函数plot的功能以及调用方法,然后利用plot命令绘制函数y=sin(x)的图形,其中0xπ≤≤。
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 上机练习题(一)
1. 计算下式
7
2009/42008/41949222?+-⨯-⨯=
2. 试计算d
3461.1,30,5b d a b c
a b c +=-+===其中
要求只输出d 的值,其他变量的值不输出。
**************************************************************
3. 计算下式:
181(2)sin()cos()6,3
y
x x y π-+-==(,其中 0.1104
2log 805(3)2009
6(4)1,5;
2e
e x x x -⨯+-=其中
4. 完成以上题目后清除工作空间中的所有变量。
**************************************************************
5. 求下列方程的根:
(1)325x x -=
(2)32340x x x -+=
6. 根据课本任意找出4个矩阵在MA TLAB 中输入和输出。
附1:增加的一些常用函数pi:常数
round(x):四舍五入至最近整数
fix(x) :无论正负,舍去小数至最近整数min(x): 向量x的元素的最小值
max(x): 向量x的元素的最大值
diff(x): 向量x的相邻元素的差
length(x): 向量x的元素个数
sin(x):正弦函数
cos(x):余弦函数
tan(x):正切函数
asin(x):反正弦函数
acos(x):反余弦函数
atan(x):反正切函数。
MATLAB上机题目
1、熟悉MATLAB 运行环境,找出命令历史窗口、工作空间窗口,记下MATLAB 当前浏览路径。
2、求下列联立方程的解
8102569
583
24754
12743-=+-+-=-+-=++-=--+w z y x w z x w z y x w z y x
3、MATLAB 环境下,给出下列值的大小
eps=? Realmax=? Realmin=?
4、生成矩阵
a=102030405060710⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦
,取出第三行第二列元素;一、二行,二至五列元素(用一个命令);
a(17)=?
若a(1,2)=[],则a=?
若a(20)=4.5,则a=?
5、i=inf,j=NaN,则i/j=? i*j=?
6、生成矩阵
b=123435672i i i i +-⎡⎤⎢⎥-⎢⎥⎢⎥+⎣⎦
,求其共轭、转置、共轭转置矩阵 7、检查工作空间中的变量,以及这些变量的详细信息
8、列出2×2阶的单位矩阵I ,4×4阶的魔方矩阵M 和4×2阶的全1矩阵A 、全零矩阵B 。
(2)将这些矩阵拼接为6×6阶的矩阵C :
⎥⎦
⎤⎢⎣⎡=M B A I C ' (3)取出C 的第2,4,6行,组成3×6阶的矩阵1C ,取出第2,4,6列,组成6×3阶的矩阵2C
9、产生8×6阶的正态分布随机数矩阵1R ,求其各列的平均值和标准差,并求其全体的平均值和标准差。
10、产生4×6阶的均匀分布随机数矩阵R ,要求其元素在1到16之间,并求此矩阵前四列组成的方正的逆阵。
Matlab上机题目及一段软件
《Matlab 上机题目》1、基本数学运算与初等函数(1) p=1,计算 10*log(2510*2⎪⎭⎫⎝⎛-p ) (2)a=2,b=5;计算225131++=b b a y(3)计算y=)/tan()(21b a b a e ab -(4)计算)/tan(*(a)tan(b)ctan a)sin(b)cos(b a ac *acsin(a/b)(5)计算 (1+2i)*(1-7i)*ipi e**2-2、基本逻辑、关系运算a=2,b=5,c=6 (1) c>b||a<b (2) c>b&&a<b (3) c>b&&a>b (4) c>b||a>b(5) c==a&&c~=b (6) c==a||c~=bd=[ 1 2] e= [1 0] (1) d|e (2) d&e (3) d>e (4) d<e (5) d==e (6) d~=e (7) d>=e (8) d<=e3、数组(1) 生成一个-5到5,步长为0.5的随机行数组a,判断其中数值大于等于0,小于1,且不等于0.5的元素个数,并找出这些元素,保存到变量b 中。
(2) 用randn 函数生成一个5行5列的随机数组c ,用rand 生成一个6行,4列的随机数组d ,并用d 中位于第2行到第4行,第3列到第4列的元素替换c 中第3行到第5行,第3列到第4列的元素。
(3) 将c 中所有奇数行,偶数列的元素取出来组成一个新的数组c1(4) 用eye 生成一个5行5列的单位数组e1,用randn 函数生成一个5行5列的随机数组c ,计算f=2e1+12e c ,并将f 中对角线上的元素取出来,保存到变量g 中。
4、脚本程序编写(1) 文件编写程序找出1到2345中能被17整除的数的个数以及这些数的和。
{帮助:求余数的函数用c=mod(a,b) ,其中a 为被除数,b 为除数, c 为余数; 对数组m 求和用he=sum(m), 返回值he 为数组的和}以下是一个用MATLAB 语言编写的声音片段软件>> fs = 44100; % sample rate dt = 1/fs; T16 = 0.125; t16 = [0:dt:T16]; [temp k] = size(t16);t4 = linspace(0,4*T16,4*k); t8 = linspace(0,2*T16,2*k); [temp i] = size(t4); [temp j] = size(t8);% Modification functionsmod4=(t4.^4).*exp(-27*(t4.^0.5)); mod4=mod4/max(mod4);mod8=(t8.^4).*exp(-50*(t8.^0.75)); mod8=mod8/max(mod8);mod16=(t16.^4).*exp(-125*(t16.^1)); mod16=mod16/max(mod16);f0 = 2*146.8; % reference frequency ScaleTable = [2/3 3/4 5/6 15/16 ...1 9/8 5/4 4/3 3/2 5/3 9/5 15/8 ... 2 9/4 5/2 8/3 3 10/3 15/4 4 ... 1/2 9/16 5/8]; % 1/4 notesdo0f = mod4.*cos(2*pi*ScaleTable(21)*f0*t4); re0f = mod4.*cos(2*pi*ScaleTable(22)*f0*t4); mi0f = mod4.*cos(2*pi*ScaleTable(23)*f0*t4);fa0f = mod4.*cos(2*pi*ScaleTable(1)*f0*t4); so0f = mod4.*cos(2*pi*ScaleTable(2)*f0*t4);ti0f = mod4.*cos(2*pi*ScaleTable(4)*f0*t4); do1f = mod4.*cos(2*pi*ScaleTable(5)*f0*t4); re1f = mod4.*cos(2*pi*ScaleTable(6)*f0*t4); mi1f = mod4.*cos(2*pi*ScaleTable(7)*f0*t4); fa1f = mod4.*cos(2*pi*ScaleTable(8)*f0*t4); so1f = mod4.*cos(2*pi*ScaleTable(9)*f0*t4); la1f = mod4.*cos(2*pi*ScaleTable(10)*f0*t4); tb1f = mod4.*cos(2*pi*ScaleTable(11)*f0*t4); ti1f = mod4.*cos(2*pi*ScaleTable(12)*f0*t4); do2f = mod4.*cos(2*pi*ScaleTable(13)*f0*t4); re2f = mod4.*cos(2*pi*ScaleTable(14)*f0*t4); mi2f = mod4.*cos(2*pi*ScaleTable(15)*f0*t4); fa2f = mod4.*cos(2*pi*ScaleTable(16)*f0*t4); so2f = mod4.*cos(2*pi*ScaleTable(17)*f0*t4); la2f = mod4.*cos(2*pi*ScaleTable(18)*f0*t4); ti2f = mod4.*cos(2*pi*ScaleTable(19)*f0*t4); do3f = mod4.*cos(2*pi*ScaleTable(20)*f0*t4); blkf = zeros(1,i);% 1/8 notesfa0e = mod8.*cos(2*pi*ScaleTable(1)*f0*t8); so0e = mod8.*cos(2*pi*ScaleTable(2)*f0*t8); la0e = mod8.*cos(2*pi*ScaleTable(3)*f0*t8);ti0e = mod8.*cos(2*pi*ScaleTable(4)*f0*t8); do1e = mod8.*cos(2*pi*ScaleTable(5)*f0*t8); re1e = mod8.*cos(2*pi*ScaleTable(6)*f0*t8); mi1e = mod8.*cos(2*pi*ScaleTable(7)*f0*t8); fa1e = mod8.*cos(2*pi*ScaleTable(8)*f0*t8); so1e = mod8.*cos(2*pi*ScaleTable(9)*f0*t8); la1e = mod8.*cos(2*pi*ScaleTable(10)*f0*t8); tb1e = mod8.*cos(2*pi*ScaleTable(11)*f0*t8); ti1e = mod8.*cos(2*pi*ScaleTable(12)*f0*t8); do2e = mod8.*cos(2*pi*ScaleTable(13)*f0*t8); re2e = mod8.*cos(2*pi*ScaleTable(14)*f0*t8); mi2e = mod8.*cos(2*pi*ScaleTable(15)*f0*t8); fa2e = mod8.*cos(2*pi*ScaleTable(16)*f0*t8); so2e = mod8.*cos(2*pi*ScaleTable(17)*f0*t8); la2e = mod8.*cos(2*pi*ScaleTable(18)*f0*t8); ti2e = mod8.*cos(2*pi*ScaleTable(19)*f0*t8); do3e = mod8.*cos(2*pi*ScaleTable(20)*f0*t8); blke = zeros(1,j);% 1/16 notesfa0s = mod16.*cos(2*pi*ScaleTable(1)*f0*t16); so0s = mod16.*cos(2*pi*ScaleTable(2)*f0*t16);ti0s = mod16.*cos(2*pi*ScaleTable(4)*f0*t16);do1s = mod16.*cos(2*pi*ScaleTable(5)*f0*t16);re1s = mod16.*cos(2*pi*ScaleTable(6)*f0*t16);mi1s = mod16.*cos(2*pi*ScaleTable(7)*f0*t16);fa1s = mod16.*cos(2*pi*ScaleTable(8)*f0*t16);so1s = mod16.*cos(2*pi*ScaleTable(9)*f0*t16);la1s = mod16.*cos(2*pi*ScaleTable(10)*f0*t16);tb1s = mod16.*cos(2*pi*ScaleTable(11)*f0*t16);ti1s = mod16.*cos(2*pi*ScaleTable(12)*f0*t16);do2s = mod16.*cos(2*pi*ScaleTable(13)*f0*t16);re2s = mod16.*cos(2*pi*ScaleTable(14)*f0*t16);mi2s = mod16.*cos(2*pi*ScaleTable(15)*f0*t16);fa2s = mod16.*cos(2*pi*ScaleTable(16)*f0*t16);so2s = mod16.*cos(2*pi*ScaleTable(17)*f0*t16);la2s = mod16.*cos(2*pi*ScaleTable(18)*f0*t16);ti2s = mod16.*cos(2*pi*ScaleTable(19)*f0*t16);do3s = mod16.*cos(2*pi*ScaleTable(20)*f0*t16);blks = zeros(1,k);% Blank Blockblkblock = [blkf blkf blkf blkf blkf blkf blkf blkf...blkf blkf blkf blkf blkf blkf blkf blkf];% Base Melodycello = [do1f do1f so0f so0f la0f la0f mi0f mi0f...fa0f fa0f do0f do0f fa0f fa0f so0f so0f];% So-FUCKING-Long Melodyviolin = [mi2f mi2f re2f re2f do2f do2f ti1f ti1f...la1f la1f so1f so1f la1f la1f ti1f ti1f ...%do2f do2f ti1f ti1f la1f la1f so1f so1f...fa1f fa1f mi1f mi1f fa1f fa1f re1f re1f ...%do1f mi1f so1f fa1f mi1f do1f mi1f re1f...do1f la0f do1f so1f fa1f la1f so1f fa1f...%mi1f do1f re1f ti1f do2f mi2f so2f so1f...la1f fa1f so1f mi1f do1f do2f blkf blke ti1e ...%do2e ti1e do2e do1e ti0e so1e re1e mi1e...do1e do2e ti1e la1e ti1e mi2e so2e la2e...fa2e mi2e re2e fa2e mi2e re2e do2e ti1e...la1e so1e fa1e mi1e re1e fa1e mi1e re1e... %%do1e re1e mi1e fa1e so1e re1e so1e fa1e...mi1e la1e so1e fa1e so1e fa1e mi1e re1e...do1e la0e la1e ti1e do2e ti1e la1e so1e...fa1e mi1e re1e la1e so1e la1e so1e fa1e...%mi1f mi2e blke re2f re2f blkf do1f mi2f mi2f...la2f la2f so2f so2f la2f la2f ti2f ti2f...%do3e blke do2e blke ti1f ti1f blkf la1f do2f do2f...do2f do2f do2f do2f do2f fa2f re2f so2f...%so2e mi2s fa2s so2e mi2s fa2s so2s so1s la1s ti1s ...do2s re2s mi2s fa2s mi2e do2s re2s...mi2e mi1s fa1s so1s la1s so1s fa1s so1s mi1s fa1s so1s...fa1e la1s so1s fa1e mi1s re1s mi1s re1s do1s re1s mi1s fa1s so1s la1s...fa2e la1s so1s la1e ti1s do2s so1s la1s ti1s do2s re2s mi2s fa2s so2s...%mi2e do2s re2s mi2e re2s do2s re2s ti1s do2s re2s mi2s re2s do2s ti1s...do2e la1s ti1s do2e do1s re1s mi1s fa1s mi1s re1s mi1s do2s ti1s do2s...la1e do2s ti1s la1e so1s fa1s so1s fa1s mi1s fa1s so1s la1s ti1s do2s...la2e do2s ti1s do2e ti1s la1s ti1s do2s re2s do2s ti1s do1s la1s ti1s...%%do2e blke blkf ti1e blke blkf la1e blke blkf do2e blke blkf...do1e blke blkf do1e blke blkf do1e blke blkf do1e blke blkf...%blkf so1e blke blkf so1e blke blkf mi1e blke blkf so1e blke...blkf fa1e blke blkf mi1e blke blkf fa1e blke blkf re2e blke...%mi2e mi1e fa1e mi1e re1e re2e mi2e re2e do2e mi1e do1e do2e ti1e so0e fa0e so0e...la0e la1e so1e la1e so1e so0e fa0e so0e do1e la1e so1e la1e ti1e ti0e la0e ti0e...%do1e do2e re2e do2e ti1e ti0e do1e ti0e la0e la1e so1e la1e ti1e ti0e mi1e re1e...do1e do2e re2e fa2e mi2e mi1e so1e mi2e do2e fa2e mi2e fa2e re2e so1e fa1e so1e...%mi1e so1e so1e so1e so1e so1e so1e so1e mi1e mi1e mi1e mi1e mi1e mi1e so1e so1e...fa1e fa1e fa1e do2e do2e do2e do2e do2e do2e do2e la1e la1e so1e so1e re2e ti1e...%%so1e mi2e mi2e mi2e re2e re2e re2e re2e do2e do2e do2e do2e so2e so2e so2e so2e...la2e la2e la2e la2e so2e so2e so2e so2e la2e la2e la2e la2e ti2e ti1e ti1e ti1e...%do2e do1s re1s mi1e do1e ti0e ti1s do2s re2e ti1e la1e la0s ti0s do1e la0e ti0e so1s fa1s mi1e re1e...do1e mi1s re1s do1e fa1e mi1e do1s re1s mi1e so1e fa1e la1s so1s fa1e mi1e re1e so1s fa1s mi1e re1e...%mi1e do2s ti1s do2e mi1e so1e so1s la1s ti1e so1e mi1e do2s re2s mi2e do2e mi2e mi2s re2s do2e ti1e...la1e la1s so1s la1e ti1e do2e mi2s re2s do2e mi2e fa2e do2s ti1s la1e la1e so1e re1e so1e so1e...%so1f so1f so1f so1f do1f do1f do1f so1f...fa1f fa1f so1f so1f fa1f do1f do1f do1e ti0e...%do1f do2f ti1f ti1f la1f la1f so1f so1f...do1f do1e re1e mi1f mi1f do2f do2f ti1f ti1f...%%do2f];% celloc1 = [cello cello cello cello cello...cello cello cello cello cello...cello cello cello cello cello...cello cello cello cello cello...cello cello cello blkf];% violin1v1 = [blkblock violin blkblock blkblock];% violin2v2 = [blkblock blkblock violin blkblock];% violin3v3 = [blkblock blkblock blkblock violin];% Get dirtys = c1+v1+v2+v3;s = s/max(s);sound(s,fs); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%>> fs = 50000; % sample ratedt = 1/fs;T16 = 0.125;t16 = [0:dt:T16];[temp k] = size(t16);t4 = linspace(0,4*T16,4*k);t8 = linspace(0,2*T16,2*k);[temp i] = size(t4);[temp j] = size(t8);% Modification functions%mod4=(t4.^4).*exp(-27*(t4.^0.5));mod4=(t4.^5).*exp(-35*(t4.^0.5));mod4=mod4/max(mod4);mod8=(t8.^4).*exp(-50*(t8.^0.75));mod8=mod8/max(mod8);mod16=(t16.^4).*exp(-125*(t16.^1));mod16=mod16/max(mod16);f0 = 2*146.8; % reference frequencyScaleTable = [2/3 3/4 5/6 15/16 ...1 9/8 5/4 4/3 3/2 5/3 9/5 15/8 ...2 9/4 5/2 8/3 3 10/3 15/4 4 ...1/2 9/16 5/8];m=7;ratiom=[0,1/2,1/4,1/6,1/8,1/12,1/18];%基频% 1/4 notesdo0f = mod4.*cos(2*pi*ScaleTable(21)*f0*t4);re0f = mod4.*cos(2*pi*ScaleTable(22)*f0*t4);mi0f = mod4.*cos(2*pi*ScaleTable(23)*f0*t4);fa0f = mod4.*cos(2*pi*ScaleTable(1)*f0*t4);la0f = mod4.*cos(2*pi*ScaleTable(3)*f0*t4);ti0f = mod4.*cos(2*pi*ScaleTable(4)*f0*t4); do1f = mod4.*cos(2*pi*ScaleTable(5)*f0*t4); re1f = mod4.*cos(2*pi*ScaleTable(6)*f0*t4); mi1f = mod4.*cos(2*pi*ScaleTable(7)*f0*t4); fa1f = mod4.*cos(2*pi*ScaleTable(8)*f0*t4); so1f = mod4.*cos(2*pi*ScaleTable(9)*f0*t4); la1f = mod4.*cos(2*pi*ScaleTable(10)*f0*t4); tb1f = mod4.*cos(2*pi*ScaleTable(11)*f0*t4); ti1f = mod4.*cos(2*pi*ScaleTable(12)*f0*t4); do2f = mod4.*cos(2*pi*ScaleTable(13)*f0*t4); re2f = mod4.*cos(2*pi*ScaleTable(14)*f0*t4); mi2f = mod4.*cos(2*pi*ScaleTable(15)*f0*t4); fa2f = mod4.*cos(2*pi*ScaleTable(16)*f0*t4); so2f = mod4.*cos(2*pi*ScaleTable(17)*f0*t4); la2f = mod4.*cos(2*pi*ScaleTable(18)*f0*t4); ti2f = mod4.*cos(2*pi*ScaleTable(19)*f0*t4); do3f = mod4.*cos(2*pi*ScaleTable(20)*f0*t4); blkf = zeros(1,i);% 1/8 notesfa0e = mod8.*cos(2*pi*ScaleTable(1)*f0*t8); so0e = mod8.*cos(2*pi*ScaleTable(2)*f0*t8); la0e = mod8.*cos(2*pi*ScaleTable(3)*f0*t8); ti0e = mod8.*cos(2*pi*ScaleTable(4)*f0*t8); do1e = mod8.*cos(2*pi*ScaleTable(5)*f0*t8); re1e = mod8.*cos(2*pi*ScaleTable(6)*f0*t8); mi1e = mod8.*cos(2*pi*ScaleTable(7)*f0*t8); fa1e = mod8.*cos(2*pi*ScaleTable(8)*f0*t8); so1e = mod8.*cos(2*pi*ScaleTable(9)*f0*t8); la1e = mod8.*cos(2*pi*ScaleTable(10)*f0*t8); tb1e = mod8.*cos(2*pi*ScaleTable(11)*f0*t8); ti1e = mod8.*cos(2*pi*ScaleTable(12)*f0*t8); do2e = mod8.*cos(2*pi*ScaleTable(13)*f0*t8); re2e = mod8.*cos(2*pi*ScaleTable(14)*f0*t8); mi2e = mod8.*cos(2*pi*ScaleTable(15)*f0*t8); fa2e = mod8.*cos(2*pi*ScaleTable(16)*f0*t8); so2e = mod8.*cos(2*pi*ScaleTable(17)*f0*t8); la2e = mod8.*cos(2*pi*ScaleTable(18)*f0*t8); ti2e = mod8.*cos(2*pi*ScaleTable(19)*f0*t8); do3e = mod8.*cos(2*pi*ScaleTable(20)*f0*t8); blke = zeros(1,j);% 1/16 notesfa0s = mod16.*cos(2*pi*ScaleTable(1)*f0*t16);la0s = mod16.*cos(2*pi*ScaleTable(3)*f0*t16);ti0s = mod16.*cos(2*pi*ScaleTable(4)*f0*t16);do1s = mod16.*cos(2*pi*ScaleTable(5)*f0*t16);re1s = mod16.*cos(2*pi*ScaleTable(6)*f0*t16);mi1s = mod16.*cos(2*pi*ScaleTable(7)*f0*t16);fa1s = mod16.*cos(2*pi*ScaleTable(8)*f0*t16);so1s = mod16.*cos(2*pi*ScaleTable(9)*f0*t16);la1s = mod16.*cos(2*pi*ScaleTable(10)*f0*t16);tb1s = mod16.*cos(2*pi*ScaleTable(11)*f0*t16);ti1s = mod16.*cos(2*pi*ScaleTable(12)*f0*t16);do2s = mod16.*cos(2*pi*ScaleTable(13)*f0*t16);re2s = mod16.*cos(2*pi*ScaleTable(14)*f0*t16);mi2s = mod16.*cos(2*pi*ScaleTable(15)*f0*t16);fa2s = mod16.*cos(2*pi*ScaleTable(16)*f0*t16);so2s = mod16.*cos(2*pi*ScaleTable(17)*f0*t16);la2s = mod16.*cos(2*pi*ScaleTable(18)*f0*t16);ti2s = mod16.*cos(2*pi*ScaleTable(19)*f0*t16);do3s = mod16.*cos(2*pi*ScaleTable(20)*f0*t16);blks = zeros(1,k); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%倍频,可任意。
matlab上机练习及答案
第二、三次上机练习:目的:运行课本第四章及课堂上讲过的例子,掌握Matlab 的流程控制语句、函数及脚本文件的编程、调试方法。
作业:1、 完成下列操作:1) 求[100,999]之间能被21整除的个数。
2) 建立一个字符串向量(要求字符串向量中必须包含自己的姓名首字母,大小写均可),删除其中的大写字母2. 编写脚本文件,实现用magic(6)产生一矩阵,用for 循环指令求解其所有元素的和。
3. 定义一个函数文件,求∑=ni m i 1,要求在函数文件中包含能够通过help 查询到的说明;然后调用该函数文件求∑∑∑===++101501210011k k k k k k 的值。
4. 已知)7.1cos(12ln )7.1sin(++++=x xx y π,当x 取-3.0,-2.9,-2.8,…,2.8,2.9,3.0时, 1) 求各点的函数值;2) 求这些数据的平均值;5、求分段函数的值。
222603565231x x x x y x x x x x x x ⎧+-<≠-⎪=-+≤<≠≠⎨⎪--⎩, 且, 0且及, 其它用if 语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5时的值。
6、输入一个百分制成绩,要求输出成绩等级A 、B 、C 、D 、E 。
其中90分~100分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。
要求:分别用if 语句和switch 语句实现。
7、根据222221111...,6123n ππ=++++求的近似值。
当n 分别取100、1000、10000时,结果是多少?(要求:分别用循环结构和向量运算来实现)8、已知n=1时,f 1=1;n=2时,f 2=0;n=3时,f 3=1;n>3时,f n =f n-1 -2f n-2+ f n —3; 求f 1~ f 100中,最大值、最小值以及各数之和。
matlab上机习题答案
matlab上机习题答案Matlab上机习题答案在现代科学和工程领域中,计算机编程和数值计算已经成为必不可少的技能。
而Matlab作为一种强大的数值计算软件,被广泛应用于各种领域。
为了帮助学习者更好地掌握Matlab的基本操作和数值计算方法,老师们经常会布置一些上机习题,让学生通过实际操作来加深对Matlab的理解。
下面我们来看一些常见的Matlab上机习题答案:1. 编写一个Matlab程序,计算并输出1到100之间所有奇数的和。
答案:```matlabsum = 0;for i = 1:2:100sum = sum + i;enddisp(sum);```2. 编写一个Matlab程序,计算并输出斐波那契数列的前20个数字。
答案:```matlabfib = zeros(1,20);fib(1) = 1;fib(2) = 1;for i = 3:20fib(i) = fib(i-1) + fib(i-2);enddisp(fib);```3. 编写一个Matlab程序,求解一元二次方程ax^2 + bx + c = 0的根。
答案:```matlaba = 1;b = -3;c = 2;delta = b^2 - 4*a*c;if delta < 0disp('无实根');elseif delta == 0x = -b / (2*a);disp(x);elsex1 = (-b + sqrt(delta)) / (2*a);x2 = (-b - sqrt(delta)) / (2*a);disp(x1);disp(x2);end```通过以上几个例子,我们可以看到,Matlab的语法简洁明了,功能强大。
通过编写程序来解决实际问题,不仅加深了对Matlab的理解,也提高了计算机编程和数值计算的能力。
希望大家在学习Matlab的过程中能够多多练习,不断提高自己的编程水平。
matlab上机练习题答案(可编辑修改word版)
a ⎣ ⎦ 1. 计算 a = 5⎦ >> a=[6 9 3;2 7 5]; >> b=[2 4 1;4 6 8]; >> a.*b ans =⎣4 8⎦>> d=deconv([3 13 6 8],[1 4]) d =312⎡2 4 7 4⎤⎡8⎤1236 36 求欠定方程组⎢9 3 5 6⎥ x = ⎢5⎥ 的最小范数解84240⎡4 9 2⎤⎡37⎤⎣ >> a=[2 4 7 4;9 3 5 6]; >> b=[8 5]'; ⎦ ⎣ ⎦2. 对于 AX = B ,如果 A = ⎢7 6 4⎥ , B = ⎢26⎥ ,求解 X 。
>> x=pinv(a)*b⎢ ⎥ ⎢ ⎥x =>> A=[4 9 2;7 6 4;3 5 7]; >> B=[37 26 28]’; >> X=A\B X =⎢⎣3 5 7⎥⎦ ⎢⎣28⎥⎦-0.2151 0.4459 0.7949 0.27077 用符号函数法求解方程 a t 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 ⎤ ⎡8 - 7 4⎤ [ 1/2/a*(-b-(b^2-4*a*c)^(1/2))]3. a = ⎢3 6 - 4⎥ , b = ⎢3 6 2⎥ ,观察 a 与 b 之间的⎣ ⎦ ⎣ ⎦⎡a 11 a 12 ⎤六种关系运算的结果 >> a=[1 2 3;4 5 6];8 求矩阵 A = ⎢ ⎣ 21 ⎥ 的行列式值、逆和特征根a 22 ⎦>> 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 ans =0 1 0 1 01>> a<b ans =1 0 1 0 1>> a<=b ans =1 0 1 010 A = [ a11, a12][ a21, a22] AD =a11*a22-a12*a21 AI =[ -a22/(-a11*a22+a12*a21), a12/(-a11*a22+a12*a21)] [ a21/(-a11*a22+a12*a21), -a11/(-a11*a22+a12*a21)] AE = [1/2*a11+1/2*a22+1/2*(a11^2- 2*a11*a22+a22^2+4*a12*a21)^(1/2)] [1/2*a11+1/2*a22-1/2*(a11^2->> a==b2*a11*a22+a22^2+4*a12*a21)^(1/2)] ans =9 因式分解: x 4 - 5x 3 + 5x 2 + 5x - 60 0 0 >> syms x;0 00 >> f=x^4-5*x^3+5*x^2+5*x-6; >> a~=b ans =>> factor(f) ans =(x-1)*(x-2)*(x-3)*(x+1)4 计算多项式乘法(x 2+2x +2)(x 2+5x +4) ⎡10 f = ⎢ x 21 x ⎤⎥ ,用符号微分求 df/dx 。
Matlab上机练习
13sin 25457.0145.175.375.0222-++=---y e x z x y x练习一:1) 以两种方式打开 MA TLAB 工作窗口,进入MATLAB 6.0 的工作环境,并尝试用不同的方式退出。
2) 尝试、熟悉 MA TLAB 6.0 的各栏菜单以及各个工具栏的功能。
3) 重新启动 MATLAB 6.0,进入 MATLAB 工作窗口,用 who 命令查看当前工作空间内有无变量及其值。
4) 绘制函数y=cos(5x+2)/sin(3x+1) 的图像,并求解当 x=2 时的函数值。
5) 此时再次用 who 命令查看工作空间内的变量名及其值,与( 3)比较,同时用whos 命令查看变量,比较与 who 命令的不同。
6) 熟练掌握 MATLAB 的通用命令。
7) 练习并熟练掌握 MA TLAB 的帮助命令,学会利用 MATLAB 的帮助信息。
8) 用 lookfor 命令查找函数 cos 的信息,并与 help 命令查找的结果相比较,注意采用两种命令之间的差别。
练习二: 1) 创建一个表达式式并求当x =1, y =2时的z 值。
2) 计算i x y 108++=的值,其中451-+-=x 。
3) 创建一个包含“ 她是我们班最好的学生”字符串。
练习三:1) 将如下矩阵 A 进行转置和求逆。
⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----=412303214A 2) 在MATLAB 环境下,用下面三条指令创建矩阵 C ,看输出怎样的结果。
a=2.7358;b=33/79; C =[1,2*a+i*b,b*sqrt(a);sin(pi/4),a+5*b,3.5+i]练习三:3) 用 rand 函数建立一个 3×3 维随机数值矩阵,并将该数值矩阵转换为符号矩阵,比较它们的不同。
4) 求下述矩阵的逆、特征根和矩阵的行列式值。
⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=333231232221131211a a a a a a a a a A ,⎥⎦⎤⎢⎣⎡=22211211a a a a A 练习四: 1) 用曲面图命令 surf 表现函数 22y x z +=的图像。
MATLAB上机练习及作业
MATLAB上机练习及作业第一章1. 熟悉MATLAB环境,练习第一章的命令;2. 练习显示格式(P13)1利用Help命令,搞清楚MATLAB的所有主题,利用help signal和help control 搞清楚这两个工具箱2练习whos,who,disp,clear,which,ver等命令第二章3练习矩阵操作,书上P34~404练习逻辑和关系运算,书上P40~435练习随机数产生,书上P506练习时间和日期函数,P56~577矩阵操作diag,reshape,rot90,fliplr,flipud,tril,triu等8练习MATLAB基本函数P669上交:第二章习题中的No.3, No.6第3章1. 练习产生图3.1~3.5, 3.9~3.12, 3.14, 3.18,3.21,3.22, 3.24~3.312. 第3章习题: (P122) 2, 5--93. 交程序:5;74. 并练习图形旋转、标注、复制等功能5. 交结果:与习题7类似,只是画出你自己上个月的消费饼图第4章1. 上机前好好复习这章内容,练习P137页的两段程序,并将终值扩大到500,体会两者的速度差异。
2. 熟悉MATLAB的调试技术。
3. 第4章习题: (P158)4. 1,3,5,8,95. 交结果:3;5,8(分别求出当I=54,I=105时的结果);9第5章习题(p.222)1, 2, 3, 7, 8, 9, 13, 15, 16, 20交结果: 1, 2, 8, 9, 13, 16第6章P.251 看懂综合设计示例, 设计程序计算每个班的平均成绩, 计算教师的实际学时数。
(交结果)P.269 2, 3第7章1. 在[-1,1]区间上绘制出y=-2x^2+4的曲线, 并在图中标注出最大值点的坐标.2. 任意给定一句英文句子, 请提取其每个单词, 并设计一结构, 其域有Name、No、Length、Value,分别用于存储每个单词的名称、句中序号、单词长度、单词各个字符的ASCII 码。
Matlab上机题及答案
1 一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。
输出全部水仙花数。
for m=100:999m1=fix(m/100); %求m的百位数字m2=rem(fix(m/10),10); %求m的十位数字m3=rem(m,10); %求m的个位数字if m==m1*m1*m1+m2*m2*m2+m3*m3*m3disp(m)endend2.从键盘输入若干个数,当输入0时结束输入,求这些数的平均值和它们之和。
sum=0;n=0;val=input('Enter a number (end in 0):');while (val~=0)sum=sum+val;n=n+1;val=input('Enter a number (end in 0):');endif (n > 0)summean=sum/nend3. 若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6是完数。
求[1,500]之间的全部完数。
for m=1:500s=0;for k=1:m/2if rem(m,k)==0s=s+k;endendif m==sdisp(m);endend4. 从键盘上输入数字星期,在屏幕上显示对应英文星期的单词。
function weekn=input('input the number:');if isempty(n)errror('please input !!')endif n>7|n<1error('n between 1 and 7')endswitch ncase 1disp('Monday')case 2disp('Tuesday')case 3disp('Wednesday')case 4disp('Thursday')case 5disp('Friday')case 6disp('Saturday')case 7disp('Sunday')end5. 某公司销售电脑打印机的价格方案如下:()如果顾客只买一台打印机,则一台的基本价格为$150。
Matlab上机练习题及答案
Matlab 上机练习题及答案---------------------------------------------------------------------1、 矩阵Y= ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡3472123100451150425,给出元素1的全下标和单下标,并用函数练习全下标和单下标的转换,求出元素100的存储位置。
取出子矩阵⎥⎦⎤⎢⎣⎡21301,并求该矩阵的维数。
解:命令为:Y=[5,2,4;0,15,1;45,100,23;21,47,3] Y(2,3) Y(10)sub2ind([4 3],2,3)[i,j]=ind2sub([4 3],10)find(Y==100) sub2ind([4 3],3,2)B=Y(2:2:4,3:-2:1) 或 B=Y([2 4],[3 1]) [m n]=size(Y)---------------------------------------------------------------------2、已知矩阵A=[1 0 -1 ;2 4 1; -2 0 5],B=[0 -1 0;2 1 3;1 1 2] 求2A+B 、A 2-3B 、A*B 、B*A 、A .*B ,A/B 、A\B解:命令为:A=[1 0 -1 ;2 4 1; -2 0 5] B=[0 -1 0;2 1 3;1 1 2] E=2*A+B F=A^2-3*B G=A*B H=B*A I=A.*B J=A/B K=A\B---------------------------------------------------------------------3、利用函数产生3*4阶单位矩阵和全部元素都为8的4*4阶矩阵,并计算两者的乘积。
解:命令为: A=eye(3,4) B=8*ones(4)C=A*B---------------------------------------------------------------------4、创建矩阵a=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡------7023021.5003.120498601,取出其前两列构成的矩阵b ,取出前两行构成矩阵c ,转置矩阵b 构成矩阵d ,计算a*b 、c<d ,c&d, c|d ,~c|~d解:命令为:a=[-1,0,-6,8;-9,4,0,;0,0,,-2;0,-23,0,-7] b=a(:,[1 2]) c=a([1 2],:) d=b ’ e=a*b f=c<d g=c&d h=c|d i=~c|~d---------------------------------------------------------------------5、求!201∑=n n解:命令文件为 sum=0; s=1;for n=1:20 s=n*s; sum=sum+s; end sum---------------------------------------------------------------------6、求a aa aaa aa a S n ++++=得值,其中a 是一个数字,由键盘输入,表达式中位数最多项a 的个数,也由键盘输入。
Matlab上机作业部分参考答案
3. 设A为 数组,B为一个行数大于3的数组,请给出 (1)删除A的第4、8、12三列的命令; (2)删除B的倒数第3行的命令; (3)求符号极限 (4)求 的3阶导数
lim tan( mx ) 的命令集; x 0 nx x3 y arctan ln(1 e 2 x ) 的命令集; x2
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8
0
2
4
6
8
10
12
14
某校60名学生的一次考试成绩如下: 93 75 83 93 91 85 84 82 77 76 77 95 94 89 91 88 86 83 96 81 79 97 78 75 67 69 68 84 83 81 75 66 85 70 94 84 83 82 80 78 74 73 76 70 86 76 90 89 71 66 86 73 80 94 79 78 77 63 53 55 1)计算均值、标准差、极差、偏度、峰度,画出直方图; 2)检验分布的正态性; 3)若检验符合正态分布,估计正态分布的参数并检验参数。 解答: x=[93 75 83 93 91 85 84 82 77 76 77 95 94 89 91 88 86 83 96 81 79 97 78 75 67 69 68 84 83 81 75 66 85 70 94 84 83 82 80 78 74 73 76 70 86 76 90 89 71 66 86 73 80 94 79 78 77 63 53 55]; mean(x) std(x) range(x) skewness(x) kurtosis(x) hist(x) h=normplot(x) [muhat,sigmahat,muci,sigmaci]=normfit(x) [H,sig,ci]=ttest(x,80.1)
matlab上机题汇总(必做)
上机题汇总1设置matlab 的工作环境,将工作目录设置为d:\work ,添加搜索目录d:\example2在matlab 的命令窗口里完成如下计算,其中t 的值分别取-1,0,1,表达式如下:4/3)2t y e π-=3自行产生一个5行5列的数组,得到最中间的三行三行矩阵。
4用magic 产生一个5*5的矩阵,将这个矩阵的第二行与第三行互换位置5求方程组的根 x 1+4x 2-3x 3=22x 1+5x 2-x 3=11x 1+6x 2+x 3=126已知:一个多项式的系数向量是p=[1 -6-72 -27],求这个多项式的根。
7已经两个多项式的系数分别是:[1 2 3 4]和[1 4 9 16],请求这两个多项式的乘积,及商和余数。
8给定一个多项式的根是[-5 -3+4i -3-4i],求原来的多项式9 A=[2 3 4;1 5 7;6 2 5]用什么函数,保证第一列排序的时候,其他列跟着变化。
最后的结果是:[1 5 7;2 3 4;6 2 5]10补充题:电路分析电路分析常常涉及到对方程组的求解,这些方程常常是利用描述电流进入和离开节点的电流方程,或者描述电路中网络回路上的电压的电压方程得出的。
下图描述了3个回路电压的方程方程式如下:11121222132423432532()0()()0()0V R I R I I R I I R I R I I R I I R I V -++-=⎧⎪-++-=⎨⎪-++=⎩假设5个电阻值为已知,2个电压值也为已知,求3个电流值。
11自行产生一个5行5列的数组,用两种方法得到最中间的三行三行矩阵。
12根据a=reshape(-4:4,3,3)做一个矩阵,然后(1)取出所有大于0的元素构成一个向量(可推广到从一个矩阵里筛选出符合条件的元素组成一个向量)(2)将原矩阵中大于0的元素正常显示,而小于等于0的元素全部用0来表示(可推广到将原矩阵中不符合条件的全用0来表示,符合条件的值不变)。
Matlab上机作业部分参考答案
上机练习二 参考答案
1. 产生一个1x10的随机矩阵,大小位于(-5 5),并 且按照从大到小的顺序排列好! 【求解】 a=10*rand(1,10)-5; b=sort(a,'descend')
上机练习二 参考答案
2、用MATLAB 语句输入矩阵A 和B
前面给出的是4 ×4 矩阵,如果给出A(5,6) = 5 命令,矩阵A将得出什么 结果?
Matlab 上机课作业
吴梅红 2012.10.15
上机练习一
上机练习一 参考答案
上机练习一 参考答案
上机练习一 参考答案
上机练习二
1. 产生一个1x10的随机矩阵,大小位于(-5 5),并且按 照从大到小的顺序排列好! 2、用MATLAB 语句输入矩阵A 和B
前面给出的是4 ×4 矩阵,如果给出A(5,6) = 5 命令,矩阵 A将得出什么结果? 3、假设已知矩阵A ,试给出相应的MATLAB 命令,将其全 部偶数行提取出来,赋给B 矩阵,用A =magic(8) 命令生成A 矩阵,用上述的命令检验一下结果是不是正确。
【求解】用课程介绍的方法可以直接输入这两个矩阵 >> A=[1 2 3 4; 4 3 2 1; 2 3 4 1; 3 2 4 1] A= 1234 4321 2341 3241 若给出A(5,6)=5 命令,虽然这时的行和列数均大于A矩阵当前的维数, 但仍然可以执行该语句,得出 >> A(5,6)=5 A= 123400 432100 234100 324100 000005 复数矩阵也可以用直观的语句输入 3+2i 4+1i; 4+1i 3+2i 2+3i 1+4i; 2+3i 3+2i 4+1i 1+4i; 3+2i 2+3i 4+1i 1+4i]; B= 1.0000 + 4.0000i 2.0000 + 3.0000i 3.0000 + 2.0000i 4.0000 + 1.0000i 4.0000 + 1.0000i 3.0000 + 2.0000i 2.0000 + 3.0000i 1.0000 + 4.0000i 2.0000 + 3.0000i 3.0000 + 2.0000i 4.0000 + 1.0000i 1.0000 + 4.0000i 3.0000 + 2.0000i 2.0000 + 3.0000i 4.0000 + 1.0000i 1.0000 + 4.0000i
Matlab上机练习参考答案
Matlab 上机练习二班级 学号 姓名按要求完成题目,并写下指令和运行结果。
(不需要画图)1、 求⎥⎦⎤⎢⎣⎡+-+-+-+-++=i 44i 93i 49i 67i 23i 57i 41i 72i 53i 84x 的共轭转置。
>> x=[4+8i 3+5i 2-7i 1+4i 7-5i;3+2i 7-6i 9+4i 3-9i 4+4i];>> x’ans =- -- ++ -- ++ -2、计算⎥⎦⎤⎢⎣⎡=572396a 与⎥⎦⎤⎢⎣⎡=864142b 的数组乘积。
>> a=[6 9 3;2 7 5];>> b=[2 4 1;4 6 8];>> a.*bans =12 36 38 42 403、 对于B AX =,如果⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=753467294A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=282637B ,求解X 。
>> A=[4 9 2;7 6 4;3 5 7];>> B=[37 26 28]’;>> X=A\BX =4、 ⎥⎦⎤⎢⎣⎡-=463521a ,⎥⎦⎤⎢⎣⎡-=263478b ,观察a 与b 之间的六种关系运算的结果。
>> a=[1 2 3;4 5 6];>> b=[8 –7 4;3 6 2];>> a>bans =0 1 01 0 1 >> a>=bans =0 1 01 0 1 >> a<bans =1 0 1 0 1 0 >> a<=bans =1 0 1 0 1 0 >> a==bans =0 0 0 0 0 0>> a~=bans =1 1 11 1 15、[]7.0=-a,在进行逻辑运算时,a相当于什么样的逻辑量。
82.05-相当于a=[1 1 0 1 1]。
MATLAB上机实验练习题答案2012
11级MATLAB上机实验练习题1、给出一个系数矩阵A[2 3 4;5 4 1;1 3 2],U=[1 2 3],求出线性方程组的一个精确解。
2、给出两组数据x=[0 0.3 0.8 1.1 1.6 2.3]’y=[0.82 0.72 0.63 0.60 0.55 0.50]’,我们可以简单的认为这组数据在一条衰减的指数函数曲线上,y=C1+C2e-t通过曲线拟合求出这条衰减曲线的表达式,并且在图形窗口画出这条曲线,已知的点用*表示。
3、解线性方程4、通过测量得到一组数据:5、已知一组测量值6、从某一个过程中通过测量得到:分别采用多项式和指数函数进行曲线拟合。
7、将一个窗口分成四个子窗口,分别用四种方法做出多峰函数的表面图(原始数据法,临近插值法,双线性插值法,二重三次方插值法)8、在同一窗口使用函数作图的方法绘出正弦、余弦、双曲正弦、双曲余弦。
分别使用不同的颜色,线形和标识符。
9、下面的矩阵X表示三种产品五年内的销售额,用函数pie显示每种产品在五年内的销售额占总销售额的比例,并分离第三种产品的切片。
X= 19.3 22.1 51.634.2 70.3 82.4 61.4 82.9 90.8 50.5 54.9 59.1 29.4 36.3 47.010、对应时间矢量t ,测得一组矢量y采用一个带有线性参数的指数函数进行拟合,y=a 0+a 1e -t +a 2te -t ,利用回归方法求出拟合函数,并画出拟合曲线,已知点用圆点表示。
11、请创建如图所示的结构数组(9分)12、创建如图所示的元胞数组。
(9分)13、某钢材厂从1990年到2010年的产量如下表所示,请利用三次样条插值的方法计算1999年该钢材厂的产量,并画出曲线,已知数据用‘*’表示。
要求写出达到题目要求的MATLAB 操作过程,不要求计算结果。
14、在一次化学动力学实验中,在某温度下乙醇溶液中,两种化合物反应的产物浓度与反应时间关系的原始数据如下,请对这组数据进行三次多项式拟合,并画出拟合曲线,已知数据如下。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验MATLAB控制系统工具箱SISO运用一、实验目的1.熟悉MA TLAB的仿真及应用环境。
2.在MA TLAB的环境下研究一阶、二阶系统的运动规律。
二、实验内容MA TLAB中,TF指令的使用格式:SYS = TF(NUM,DEN)SYS = TF(NUM,DEN,TS)其中,NUM为分子DEN为分母,如果加入TS,则取采样时间为TS(当TS未赋值时,默认为—1)例如:NUM=[1 1];DEN=[1 2 1 3];SYST1=tf(NUM,DEN);结果为:Transfer function:s + 1--------------------s^3 + 2 s^2 + s + 3 (注:SYST1的结构为STRUCTURE)2. SISO主窗口说明:(1)图中,1为补偿环节与输入环节的参数调节窗口,2为系统的结构图,3为系统的主窗口;工具栏上的V iew选相可以增加或者减少主窗口的窗口数。
可选择的有:根轨迹、开环bode图、开环Nichols图等。
(2)F、G、H、C均可由workspace中输入,选择File中的Import进行操作。
Export为向workspace输出传递函数。
(3)系统结构图中可以改变结构和改变反馈的极性。
可选择的结构有:Compensator in feedback path;Feedforward controller;Cascade configuration with filter F in the minor loop。
(4)在主窗口中点击鼠标右键,可在响应的位置增加零极点。
三、实验数据及步骤:一阶系统:用SISO模拟图一系统:K=1~1100;T=0.1~1.1图 1步骤:1.在WORKSPACE创建C、F、G、H传递函数2.IMPORT到SISO中,适当调节参数观察开环根轨迹图3.把该系统的传递函数传到WORKSPACE(注意:是开环传递函数)二阶系统:用SISO模拟图二系统:K=4;T=0.1;图2用以学过的知识判断系统是否稳定。
加入1~2个零极点后再判断。
步骤:1.在WORKSPACE创建C、F、G、H传递函数2.IMPORT到SISO中,适当调节参数观察开环根轨迹图3.把该系统的传递函数传到WORKSPACE(注意:是闭环传递函数)实验 MATLAB 控制系统工具箱LTI Viewer 运用1. 介绍在默认情况下,使用LTI V iewer 进行系统的线性分析时,LTI V iewer 浏览器窗口所显示的图形为系统在单位阶跃信号作用下的系统响应。
其实,LTI V iewer 浏览器提供了极其丰富的功能,它可以使用户对系统进行非常详细的线性分析。
下面以传递函数为322)(2+++=s s s s G 为例对LTI V iewer 进行详细的介绍与说明。
• 绘制系统的不同响应曲线在默认的情况下,LTI V iewer 绘制系统在单位阶跃信号输入下的系统响应曲线(即阶跃响应)。
其实使用LTI V iewer 可以绘制不同的系统响应,在LTI V iewer 图形绘制窗口中单击鼠标右键,选择弹出菜单Plot Type 下的子菜单,可以在LTI V iewer 图形绘制窗口中绘制不同的系统响应曲线,如图4所示。
如果用户选择Impulse 命令,则可以绘制系统的单位脉冲响应曲线,如图5所示。
除此之外,使用LTI Viewer 还可以绘制系统的波特图(Bode)、波特图幅值图(Bode Mag)、奈奎斯特图(Nyquist)、尼科尔斯图(Nichols)、奇异值分析(Sigma)以及零极点图(Pole /Zero)等,其方法与绘制脉冲响应一致。
• 改变系统响应曲线绘制布局在默认的情况下,LTI V iewer 图形绘制窗口中仅仅绘制一个系统响应曲线。
如果用户需要同时绘制多个系统响应曲线图,则可以使用LTI V iewer 窗口中Edit 菜单下的Plot configurations 对LTI Viewer 图形绘制窗口的布局进行改变,并在指定的位置绘制指定的响应曲线。
图6为响应曲线绘制布局设置对话框,以及采用图中给出的设置同时绘制6幅不同的响应曲线。
用户可以选择LTI V iewer 所提供的6种不同的绘制布局,在指定的区域绘制自己感兴趣的响应曲线。
图5 控制系统单位脉冲响应曲线• 系统时域与频域性能分析使用LTI V iewer 不仅可以方便地绘制系统的各种响应曲线,还可以从系统响应曲线中获得系统响应信息,从而使用户可以对系统性能进行快速地分析。
首先,通过单击系统响应曲线上任意一点,可以获得动态系统在此时刻的所有信息,包括运行系统的名称,以及其它与此响应类型相匹配的系统性能参数。
以传递函数322)(2+++=s s s s G 的控制系统的单位阶跃响应为例,单击响应曲线中的任意一点,可以获得系统响应曲线上此点所对应的系统运行时刻(Time)、系统输入值(Amplitude)等信息,如图7所示。
其次,用户可以在LTI V iewer 图形绘制窗口中单击鼠标右键,使用右键弹出菜单中的Characteristics 子菜单获得系统不同响应的特性参数,对于不同的系统响应类型,Characteristics 菜单的内容并不相同。
图8所示为阶跃响应的特性参数。
选择Characteristics 右键弹出菜单中的Setting Time 可以获得系统阶跃响应的调节时间。
此时在LTI V iewer 绘制的阶跃响应曲线中将出现调节时间标记点,单击此标记点即可获得调节时间,如图9所示。
图8 阶跃响应的特性参数2.2 SIMULINK 简介Simulink 是用来建模、分析和仿真各种动态系统的交互环境,包括连续系统、离散系统和混杂系统。
Simulink 提供了采用鼠标拖放的方法建立系统框图模型的图形交互界面。
通过Simulink 提供的丰富的功能块,用户可以迅速的创建系统的模型,不需要书写一行代码。
Simulink 还支持Stateflow ,用来仿真事件驱动过程。
1. 系统模型建立与仿真方法:(1)进入MATLAB 环境,键入simulink 命令或直接用鼠标点New Simulink Model 按键即可打开相应的系统模型库:图2-1 系统模型库(2)建立系统框图:选择File/New 菜单项,再打开所需模块库的图标,用鼠标点中其中子模块并拖动到模型窗口中去,两个模块的连接只需用鼠标点一下起点模块的输出端并拖动到终点模块的输入端即可。
打开Sourse 选择S tep Fcn 即可建立阶跃输入模型。
由于可以采用变步长的仿真方法,将时钟图标拖入编辑窗口。
各模块参数的变更只需用鼠标双点模块图标修改即可。
当基本模块建立之后,还需引入输出模块,从Sink 模块中选择Scope (示波器),仿真开始后打开Scope 即可观察波形,移动Scope 输入点可观测系统各点的波形。
将To Workspace 图标拖入模型窗口,可以将仿真结果送到MATLAB 工作空间,传送数据时,双点To Workspace 图标,给数据定义一个变量名,则可以用MATLAB 命令plot( ) 函数将结果绘制出来。
建立系统模型后,打开Simulink 菜单中选择Parameter 项,设定算法和仿真范围。
如仿真范围:起始时间:0,终止时间:10000 最小步长:0.0001;最小步长:10;精度:1e-3 选择Simulink 菜单中选择Start 项即可进行仿真;Stop 可终止仿真 实例一:系统的闭环传递函数为: 101010)(2++=Φs s s控制系统仿真模型阶跃响应曲线建立系统模型后打开Simulink (仿真分析)菜单,启动前选择Simulation/Parameter 选项设置仿真控制参数。
也可以在命令口输入:>>plot(t,y):grid 绘制图形如下:510152000.20.40.60.81用plot 命令绘制图形按上述方法实现下列系统模型,并求出系统参数。
仿真内容:1 G(s)=5(s+6)/(s^2+4s+1) 求出阶跃响应及σ%、tp 、ts 。
2 G(s)=5/(4s+1),H(s)=1/(s+1) 求出阶跃响应及σ%、tp 、ts 。
● 范德波尔(Van der Pol )方程的Simulink 仿真0x x )x 1(x2=+--动态模型图Van der Pol 方程的极限环0.2(0)x,2.0)0(x == Van der Pol 方程的极限环极限环图形仿真曲线实例二:弹簧----质量系统仿真:运动方程: 2212)(x f x x k xm --= (二阶系统) m ——物体质量,k ——弹簧弹性系数,f ——阻尼系数 上述方程可用以下框图描述:闭环传递函数:MK s M f s MK s x s x s /)/(/)()()(212++==Φ1x 为输入,质量M 对初始平衡位置的位移为2x ,在Simulink 界面仿真系统结构框图如下:图中,x1左边是生成输入信号的信号源和滤波器,最右端是多路器和示波器,用以观观察仿真过程中多个框图输出波形。
当双击K/M 框会自动弹出K/M 对话框,用键盘可以修改其数值,同理可以设置f/M 值。
仿真参数设定方法如前所述。
参考上述方法实现以下内容。
改变K 、f 数值,令K/M=10、1, f/M=1.26、0.5时重复仿真,记录波形,求出动态性能参数,并进行分析。
实验三 P ID控制一、实验目的1. 了解PID 控制器中P ,I ,D 三种基本控制作用对控制系统性能的影响;2. 掌握用齐格勒—尼柯尔斯调整法则整定PID 控制器参数。
二、实验内容图1 PID 控制作用实验系统1. 运算原理PID 控制规律为:])()(1)([)(dtt de T dt t e T t e K t U DIp ++=⎰1()(1)p d i G s k T s T s=++采用齐格勒—尼柯尔斯调整法则:首先设,0i d T T =∞=,只采用比例控制作用,使pk从0增加到临界值c r K ,c rK是使系统首次输出呈现等幅震荡的增益值,c rp 是其相应的周期,参数pK、iT 、dT 可由下表中给出的公式确定。
2. 实验要求控制系统如下图所示,要求在SIMULINK 环境中建立仿真系统,按照齐格勒—尼柯尔斯调整法则,整定PID 参数,使得控制系统性能达到最优。
三、实验报告要求1.写出齐格勒—尼柯尔斯调整法调整控制器参数的过程并记录相关的参数和对应的响应曲线。