matlab习题及答案2
- 格式:pdf
- 大小:578.30 KB
- 文档页数:10
第2章0000符号运算0000习题2及解答00001 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度”对象,还是“符号”符号对象?00003/7+0.1; sym(3/7+0.1); sym('3/7+0.1'); vpa(sym(3/7+0.1))0000〖目的〗0000不能从显示形式判断数据类型,而必须依靠class指令。
0000〖解答〗0000c1=3/7+0.10000c2=sym(3/7+0.1)0000c3=sym('3/7+0.1')0000c4=vpa(sym(3/7+0.1))0000Cs1=class(c1)0000Cs2=class(c2)0000Cs3=class(c3)0000Cs4=class(c4) 0000c1 =00000.52860000c2 =000037/700000c3 =00000.528571428571428571428571428571430000c4 =00000.528571428571428571428571428571430000Cs1 =0000double0000Cs2 =0000sym0000Cs3 =0000sym0000Cs4 =0000sym00002 在不加专门指定的情况下,以下符号表达式中的哪一个变量被认为是自由符号变量.0000sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)')0000〖目的〗0000● 理解自由符号变量的确认规则。
0000〖解答〗0000symvar(sym('sin(w*t)'),1) 0 0 0 0ans = 0 0 0 0 w 0 0 0 0symvar(sym('a*exp(-X)'),1) 0 0 0 0ans = 0 0 0 0 a 0 0 0 0symvar(sym('z*exp(j*th)'),1) 0 0 0 0ans = 0 0 0 0 z 0 0 0 05求符号矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=333231232221131211a a a a a a a a a A 的行列式值和逆,所得结果应采用“子表达式置换”简洁化。
第一大题:(1)a = 7/3b = sym(7/3)c = sym(7/3,'d')d = sym('7/3')v1=vpa(abs(a-d))v2=vpa(abs(b-d))v3=vpa(abs(c-d))a =2.3333b =7/3c =2.3333333333333334813630699500209d =7/3v1 =0.0v2 =0.0v3 =0.00000000000000014802973661668756666666667788716(2)a = pi/3b = sym(pi/3)c = sym(pi/3,'d')d = sym('pi/3')v1=vpa(abs(a-d))v2=vpa(abs(b-d))v3=vpa(abs(c-d))a =1.0472b =pi/3c =1.047197551196597631317786181171d =pi/3v1 =0.0v2 =0.0v3 =0.00000000000000011483642827992216762806615818554(3)a = pi*3^(1/3)b = sym(pi*3^(1/3))c = sym(pi*3^(1/3),'d')d = sym('pi*3^(1/3)')v1=vpa(abs(a-d))v2=vpa(abs(b-d))v3=vpa(abs(c-d))a =4.5310b =1275352044764433/281474976710656c =4.5309606547207899041040946030989d =pi*3^(1/3)v1 =0.00000000000000026601114166290944374842393221638 v2 =0.00000000000000026601114166290944374842393221638 v3 =0.0000000000000002660111416629094726767991785515第二大题:(1)c1=3/7+0.1c1 =0.5286双精度(2)c2=sym(3/7+0.1)c2 =37/70符号(3)c3=vpa(sym(3/7+0.1))c3 =0.52857142857142857142857142857143完整显示精度第三大题:(1)findsym(sym('sin(w*t)'),1)ans =w(2)findsym(sym('a*exp(-X)' ) ,1)ans =a(3)findsym(sym('z*exp(j*theta)'),1)ans =z第四大题:A=sym('[a11 a12 a13;a21 a22 a23;a31 a32 a33]')A =[ a11, a12, a13][ a21, a22, a23][ a31, a32, a33]DA=det(A)DA =a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31w=inv(A)w =[ (a22*a33 - a23*a32)/(a11*a22*a33 - a11*a23*a32 - a12*a21*a33 +a12*a23*a31 + a13*a21*a32 - a13*a22*a31), -(a12*a33 -a13*a32)/(a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 +a13*a21*a32 - a13*a22*a31), (a12*a23 - a13*a22)/(a11*a22*a33 -a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31)] [ -(a21*a33 - a23*a31)/(a11*a22*a33 - a11*a23*a32 - a12*a21*a33 +a12*a23*a31 + a13*a21*a32 - a13*a22*a31), (a11*a33 -a13*a31)/(a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 +a13*a21*a32 - a13*a22*a31), -(a11*a23 - a13*a21)/(a11*a22*a33 -a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31)] [ (a21*a32 - a22*a31)/(a11*a22*a33 - a11*a23*a32 - a12*a21*a33 +a12*a23*a31 + a13*a21*a32 - a13*a22*a31), -(a11*a32 -a12*a31)/(a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 +a13*a21*a32 - a13*a22*a31), (a11*a22 - a12*a21)/(a11*a22*a33 -a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31)] IAs=subexpr(w,'d')d =1/(a11*a22*a33 - a11*a23*a32 - a12*a21*a33 + a12*a23*a31 + a13*a21*a32 - a13*a22*a31)IAs =[ d*(a22*a33 - a23*a32), -d*(a12*a33 - a13*a32), d*(a12*a23 -a13*a22)][ -d*(a21*a33 - a23*a31), d*(a11*a33 - a13*a31), -d*(a11*a23 -a13*a21)][ d*(a21*a32 - a22*a31), -d*(a11*a32 - a12*a31), d*(a11*a22 -a12*a21)]第六大题:syms ksyms x positives_s=2/(2*k+1)*((x-1)/(x+1))^(2*k+1)s_ss=simple(symsum(s_s,k,0,inf))s_s =(2*((x - 1)/(x + 1))^(2*k + 1))/(2*k + 1)警告: simple will be removed in a future release. Use simplify instead. [> In sym.simple at 41]s_ss =log(x)第八大题:syms x clearsyms xh=exp(-abs(x))*abs(sin(x))si=vpa(int(h,-5*pi,1.7*pi),64)h =abs(sin(x))*exp(-abs(x))si =1.087849417255503701102633764498941389696991336803454392428439159 第九大题:syms x y clearsyms x yr=int(int(x^2+y^2,y,1,x^2),x,1,2)r =1006/105第十大题:syms t x;f=sin(t)/t;y=int(f,t,0,x)y1=subs(y,x,sym('4.5'))ezplot(y,[0,2*pi])y =sinint(x)y1 =syms x clearsyms x ny=sin(x)^nyn=int(y,0,1/2*pi)y31=vpa(subs(yn,n,sym('1/3')))y32=vpa(subs(yn,n,1/3))y =sin(x)^nyn =piecewise([-1 < real(n), beta(1/2, n/2 + 1/2)/2], [real(n) <= -1, int(x^n/(1 - x^2)^(1/2), x, 0, 1)])y31 =1.2935547796148952674767575125656y32 =1.2935547796148952674767575125656第二十题:clearsyms y xy=dsolve('(Dy*y)/5+x/4=0','x')y =2^(1/2)*(C6 - (5*x^2)/8)^(1/2)-2^(1/2)*(C6 - (5*x^2)/8)^(1/2)y1=subs(y,'C6',1)y1 =2^(1/2)*(1 - (5*x^2)/8)^(1/2)-2^(1/2)*(1 - (5*x^2)/8)^(1/2)clfhy1=ezplot(y1(1),[-2,2,-2,2],1)set(hy1,'Color','r')grid onhold onhy2=ezplot(y1(2),[-2,2,-2,2],1)set(hy2,'Color','b')grid onxlabel('Y')ylabel('X')hold offbox onlegend('y(1)','y(2)','Location','Best')hy1 =174.0155hy2 =177.0145。
大学matlab考试题及答案一、选择题(每题2分,共10分)1. MATLAB中用于创建向量的命令是?A. vectorB. arrayC. linspaceD. [ ]答案:D2. 以下哪个函数用于计算矩阵的行列式?A. detB. rankC. invD. eig答案:A3. 在MATLAB中,以下哪个命令用于绘制三维曲面?A. plot3B. surfC. meshD. contour答案:B4. MATLAB中,以下哪个函数用于求解非线性方程?A. fsolveB. fzeroC. linsolveD. solve答案:A5. 如何在MATLAB中创建一个全为1的3x3矩阵?A. ones(3,3)B. zeros(3,3)C. eye(3,3)D. rand(3,3)答案:A二、填空题(每题3分,共15分)1. 在MATLAB中,使用________函数可以计算矩阵的逆。
答案:inv2. 要将向量[1, 2, 3]转置成行向量,可以使用________运算符。
答案:.'3. MATLAB中,________函数用于计算两个矩阵的点乘。
答案:dot4. 若要在MATLAB中生成一个从0到1的100个等间隔的数,可以使用________函数。
答案:linspace5. 使用________函数可以在MATLAB中创建一个随机数矩阵。
答案:rand三、简答题(每题5分,共20分)1. 描述MATLAB中矩阵的基本操作有哪些?答案:矩阵的基本操作包括矩阵的创建、转置、加法、减法、乘法、点乘、求逆、行列式计算、特征值和特征向量的计算等。
2. MATLAB中如何实现循环结构?答案:MATLAB中可以使用for循环、while循环和switch-case结构来实现循环结构。
3. 简述MATLAB中函数定义的基本语法。
答案:MATLAB中函数定义的基本语法是:function [输出参数列表] = 函数名(输入参数列表)函数体end4. MATLAB中如何实现条件判断?答案:MATLAB中可以使用if-else语句、switch-case语句来实现条件判断。
matlab课后习题答案(附图)习题2.1画出下列常见曲线的图形y (1)⽴⽅抛物线3x命令:syms x y;ezplot('x.^(1/3)')(2)⾼斯曲线y=e^(-X^2);命令:clearsyms x y;ezplot('exp(-x*x)')(3)笛卡尔曲线命令:>> clear>> syms x y;>> a=1;>> ezplot(x^3+y^3-3*a*x*y)(4)蔓叶线命令:>> clear>> syms x y;>> a=1ezplot(y^2-(x^3)/(a-x))(5)摆线:()()tsin-=,=-by1命令:>> clear>> t=0:0.1:2*pi;>> x=t-sin(t);>>y=2*(1-cos(t)); >> plot(x,y)7螺旋线命令:>> clear >> t=0:0.1:2*pi; >> x=cos(t); >> y=sin(t); >> z=t;>>plot3(x,y,z)(8)阿基⽶德螺线命令:clear>> theta=0:0.1:2*pi;>> rho1=(theta);>> subplot(1,2,1),polar(theta,rho1)(9) 对数螺线命令:cleartheta=0:0.1:2*pi;rho1=exp(theta);subplot(1,2,1),polar(theta,rho1)(12)⼼形线命令:>> clear >> theta=0:0.1:2*pi; >> rho1=1+cos(theta); >> subplot(1,2,1),polar(theta,rho1)练习2.21. 求出下列极限值(1)nnn n3→命令:>>syms n>>limit((n^3+3^n)^(1/n)) ans = 3(2))121(lim n n n n ++-+∞→命令:>>syms n>>limit((n+2)^(1/2)-2*(n+1)^(1/2)+n^(1/2),n,inf) ans = 0(3)x x x 2cot lim 0→命令:syms x ;>> limit(x*cot(2*x),x,0) ans = 1/2 (4))(coslimcm xx ∞→命令:syms x m ; limit((cos(m/x))^x,x,inf) ans = 1(5))111(lim 1--→exx x命令:syms x>> limit(1/x-1/(exp(x)-1),x,1) ans =(exp(1)-2)/(exp(1)-1) (6))(2lim x x xx -+∞>> limit((x^2+x)^(1/2)-x,x,inf)ans = 1/2练习2.41. 求下列不定积分,并⽤diff 验证:(1)+x dxcos 1>>Clear >> syms x y >> y=1/(1+cos(x)); >> f=int(y,x) f =tan(1/2*x) >> y=tan(1/2*x); >> yx=diff(y ,x); >> y1=simple(yx) y1 =1/2+1/2*tan(1/2*x)^2 (2)+exdx1clear syms x yy=1/(1+exp(x));f=int(y,x) f =-log(1+exp(x))+log(exp(x)) syms x yy=-log(1+exp(x))+log(exp(x)); yx=diff(y,x); y1=simple(yx) y1 = 1/(1+exp(x)) (3)dx x x ?sin 2syms x yy=x*sin(x)^2; >> f=int(y,x) f =x*(-1/2*cos(x)*sin(x)+1/2*x)-1/4*cos(x)^2-1/4*x^2 clearsyms x y y=x*(-1/2*cos(x)*sin(x)+1/2*x)-1/4*cos(x)^2-1/4*x^2; yx=diff(y,x); >> y1=simple(yx) y1 = x*sin(x)^2 (4)xdx ?sec3syms x y y=sec(x)^3;f=int(y,x) f =1/2/cos(x)^2*sin(x)+1/2*log(sec(x)+tan(x)) clear syms x yy=1/2/cos(x)^2*sin(x)+1/2*log(sec(x)+tan(x)); yx=diff(y,x); y1=simple(yx) y1 =1/cos(x)^32. 求下列积分的数值解 1)dx x-10clearsyms xy=int(x^(-x),x,0,1) y =int(x^(-x),x = 0 .. 1) vpa(y,10) ans =1.291285997 2)xdx e x cos3202?πclearsyms xy=int(exp(2*x)*cos(x)^3,x, clear syms xy=int((1/(2*pi)^(1/2))*exp(-x^2/2),x,0,1) y =7186705221432913/36028797018963968*erf(1/2*2^(1/2))*2^(1/2)*pi^(1/0,2*pi) y =22/65*exp(pi)^4-22/65vpa(ans,10)(3)dx xe21221-π>> clear >> syms x>> y=int(1/(2*pi)^(1/2)*exp(-x^2/2),0,1); >> vpa(y,14) ans =.341344746068552(4)>> clear >> syms x>> y=int(x*log(x^4)*asin(1/x^2),1,3); Warning: Explicit integral could not be found. > In sym.int at 58 >> vpa(y,14) ans = 2.45977212823752(5) >> clear >> syms x1判断下列级数的收敛性,若收敛,求出其收敛值。
matlab试题及答案# MATLAB试题及答案一、选择题1. MATLAB的基本数据单位是:A. 矩阵B. 向量C. 标量D. 数组答案:A2. 下列哪个命令可以用来绘制函数图形?A. `plot`B. `graph`C. `draw`D. `chart`答案:A3. MATLAB中,以下哪个是正确的矩阵转置操作?A. `transpose(A)`B. `A'`C. `A^T`D. `flip(A)`答案:B二、简答题1. 简述MATLAB中矩阵的基本操作。
答案:在MATLAB中,矩阵是最基本的数据结构,可以进行加、减、乘、除等基本运算。
矩阵的创建可以使用方括号`[]`,例如`A = [1 2;3 4]`。
矩阵的转置使用单引号`'`,例如`A'`。
矩阵的求逆使用`inv`函数,例如`inv(A)`。
2. MATLAB中如何实现循环结构?答案:MATLAB中实现循环结构主要有两种方式:`for`循环和`while`循环。
`for`循环用于已知迭代次数的情况,例如:```matlabfor i = 1:5disp(i);end````while`循环用于迭代次数未知的情况,例如:```matlabi = 1;while i <= 5disp(i);i = i + 1;end```三、计算题1. 给定矩阵A和B,请计算它们的乘积C,并求C的行列式。
A = [1 2; 3 4]B = [5 6; 7 8]答案:首先计算矩阵乘积C:```matlabC = A * B;```然后计算C的行列式:```matlabdetC = det(C);```结果为:```matlabC = [19 22; 43 50]detC = -16```2. 编写一个MATLAB函数,计算并返回一个向量的范数。
答案:```matlabfunction norm_value = vector_norm(v)norm_value = norm(v);end```四、编程题1. 编写一个MATLAB脚本,实现以下功能:- 随机生成一个3x3的矩阵。
matlab期末考试题及答案MATLAB期末考试题及答案一、选择题(每题2分,共20分)1. MATLAB中用于创建向量的函数是:A. vectorB. arrayC. linspaceD. ones答案:D2. 下列哪个命令可以计算矩阵的行列式?A. detB. diagC. traceD. rank答案:A3. 在MATLAB中,以下哪个选项是用于绘制三维图形的?A. plotB. plot3C. barD. scatter答案:B4. MATLAB中,用于计算向量范数的函数是:A. normB. meanC. medianD. std答案:A5. 下列哪个命令可以用于创建一个二维数组?A. array2dB. matrixC. create2dD. make2d答案:B6. MATLAB中,用于求解线性方程组的函数是:A. solveB. linsolveC. equationD. linprog答案:A7. 以下哪个函数可以用于生成随机数?A. randB. randomC. randnD. randi答案:A8. MATLAB中,用于实现循环结构的关键字是:A. loopB. forC. whileD. repeat答案:B9. 下列哪个命令可以用于绘制函数图形?A. plotB. graphC. drawD. functionplot答案:A10. MATLAB中,用于计算矩阵特征值的函数是:A. eigB. eigenvalueC. characteristicD. eigen答案:A二、简答题(每题5分,共30分)1. 简述MATLAB中矩阵的基本操作有哪些?答案:矩阵的基本操作包括矩阵的创建、矩阵的加法、减法、乘法、转置、求逆、求行列式等。
2. MATLAB中如何实现条件语句?答案:MATLAB中实现条件语句主要使用if-else结构,也可以使用switch-case结构。
3. 请解释MATLAB中的函数定义方式。
matlab习题——2第二章1。
%3X3矩阵a1=eye(3)a2=ones(3)a3=zeros(3)a4=1-2*rand(3)a5=2*randn(3)+1%15X8矩阵b1=eye(15,8)b2=ones(15,8)b3=zeros(15,8)b4=1-2*rand(15,8) b5=2*randn(15,8)+1 2。
%生成a矩阵x=diag([2,-7,8]); xx=diag([3,5],-1); a=rot90(x+xx)%生成b矩阵x=diag([2 5 8]);xx=rot90(diag([7 0 4])); b=x+xx%变成行向量ah=reshape(a,1,9)bh=reshape(b,1,9)3。
a=5-10*rand(50,2);b=round(10*a)/10;c=num2str(b,'%+10.1f') 4。
alpha=-pi:pi/180:pi;x=sin(alpha);y=cos(alpha);%画曲线plot(alpha,x,'b-')hold onlot(alpha,y,'r-')5。
a=rand(10);b=a>=0.6;total=sum(sum(b))6。
a=randn(10);b=and(a<.5,a>-.5);total=sum(sum(b))7。
%输入a和ba=input('please input a:'); b=input('please input b:'); %分支结构if and(a<1,b<=.5)disp('语句1')elseif and(a<1,b>.5)disp('语句2')elseif and(a>1,b<=.5)disp('语句3')elsedisp('语句4')end8。
7.平均值说明f (x ,y )的平均值等于其傅里叶变换F (u ,v )在频率原点的值F (0,0)。
2-3证明离散傅里叶变换的频率位移和空间位移性质。
证明:)(2101),(1),(NvyM ux j M x N y e y x f MN v u F +--=-=∑∑=π),(),(1),(100)(21010)(2)(21010000v v u u F dxdy ey x f MNe ey x f MN y Nv v x M u u j M x N y N yv M x u j Nvy M ux j M x N y --==-+---=-=++--=-=∑∑∑∑πππ因为()()v u F y x f ,,⇔ 所以 ),(),(00)(200v v u u F e y x f N y v M x u j --⇔+π2-4小波变换是如何定义的?小波分析的主要优点是什么?小波之所以小,是因为它有衰减性,即是局部非零的;而称为波,则是因为它有波动性,即其取值呈正负相间的振荡形式,将)(2R L 空间的任意函数f (t )在小波基下展开,称其为函数f (t )的连续小波变换。
小波变换是时间(空间)频率的局部化分析,它通过伸缩平移运算对信号(函数)逐步进行多尺度细化,最终达到高频处时间细分,低频处频率细分,能自动适应时频信号的要求从而可聚焦到信号的任意细节,解决了Fourier 变换的困难问题。
2-5 在图像缩放中,采用最近邻域法进行放大时,如果放大倍数太大,可能会出现马赛克效应,这个问题有没有办法解决,或者有所改善。
可以利用线性插值法,当求出的分数地址与像素点不一致时,求出周围四个像素点的距离比,根据该比率, 由四个邻域的像素灰度值进行线性插值。
2-6 复合变换的矩阵等于基本变换的矩阵按顺序依次相乘得到的组合矩阵。
即,T=T N T N-1…T 1。
问矩阵顺序的改变能否影响变换的结果。
矩阵顺序的改变不会影响变换的结果。
matlab习题及答案《Matlab习题及答案:提升编程技能,解决实际问题》Matlab是一种强大的数值计算和数据分析工具,它被广泛应用于工程、科学和其他领域的计算和模拟。
为了帮助大家提升编程技能,解决实际问题,我们为大家准备了一些Matlab习题及答案,希望能够帮助大家更好地掌握Matlab的使用。
1. 习题一:编写一个Matlab程序,计算斐波那契数列的前20个数字,并将结果打印出来。
答案:下面是一个简单的Matlab程序,用于计算斐波那契数列的前20个数字。
```matlaba = 0;b = 1;fib = zeros(1, 20);fib(1) = a;fib(2) = b;for i = 3:20fib(i) = fib(i-1) + fib(i-2);enddisp(fib);```2. 习题二:编写一个Matlab程序,求解一个二次方程ax^2 + bx + c = 0的根。
答案:下面是一个简单的Matlab程序,用于求解二次方程的根。
```matlaba = 1;b = -3;c = 2;delta = b^2 - 4*a*c;if delta > 0x1 = (-b + sqrt(delta))/(2*a);x2 = (-b - sqrt(delta))/(2*a);disp(['The roots are ', num2str(x1), ' and ', num2str(x2)]);elseif delta == 0x = -b/(2*a);disp(['The root is ', num2str(x)]);elsedisp('The equation has no real roots');end```通过以上两个习题及答案的示例,我们可以看到Matlab的强大功能和灵活性。
通过练习这些习题,我们可以更好地掌握Matlab的基本语法和常用函数,从而在实际问题中更快更准确地解决数值计算和数据分析的挑战。
matlab习题与答案
MATLAB习题与答案
MATLAB是一种强大的数学软件,广泛应用于工程、科学和金融等领域。
通过MATLAB,用户可以进行数据分析、图像处理、模拟建模等多种操作。
为了帮
助大家更好地掌握MATLAB的应用,我们为大家准备了一些习题与答案,希望
能够帮助大家更好地理解和掌握MATLAB的使用。
习题一:编写一个MATLAB程序,实现对给定矩阵的转置操作。
解答:可以使用MATLAB中的transpose函数来实现矩阵的转置操作。
例如,
对于一个3x3的矩阵A,可以使用以下代码实现转置操作:
A = [1 2 3; 4 5 6; 7 8 9];
B = transpose(A);
习题二:编写一个MATLAB程序,实现对给定矩阵的逆矩阵计算。
解答:可以使用MATLAB中的inv函数来实现对矩阵的逆矩阵计算。
例如,对
于一个3x3的矩阵A,可以使用以下代码实现逆矩阵计算:
A = [1 2 3; 4 5 6; 7 8 9];
B = inv(A);
习题三:编写一个MATLAB程序,实现对给定矩阵的特征值和特征向量计算。
解答:可以使用MATLAB中的eig函数来实现对矩阵的特征值和特征向量计算。
例如,对于一个3x3的矩阵A,可以使用以下代码实现特征值和特征向量计算:A = [1 2 3; 4 5 6; 7 8 9];
[V, D] = eig(A);
通过以上习题与答案的学习,相信大家对MATLAB的应用已经有了更深入的了
解。
希望大家能够多加练习,不断提升自己的MATLAB技能,为今后的工作和学习打下坚实的基础。
Matlab 教程 第二章 符号计算课堂练习1 创建符号变量有几种方法?MA TLAB 提供了两种创建符号变量和表达式的函数:sym 和syms 。
sym 用于创建一个符号变量或表达式,用法如x=sym(‘x’) 及 f=sym(‘x+y+z’),syms 用于创建多个符号变量,用法如syms x y z 。
f=sym(‘x+y+z’) 相当于syms x y z f= x+y+z2 下面三种表示方法有什么不同的含义? (1)f=3*x^2+5*x+2 (2)f='3*x^2+5*x+2' (3)x=sym('x') f=3*x^2+5*x+2 (1)f=3*x^2+5*x+2表示在给定x 时,将3*x^2+5*x+2的数值运算结果赋值给变量f ,如果没有给定x 则指示错误信息。
(2)f='3*x^2+5*x+2'表示将字符串'3*x^2+5*x+2'赋值给字符变量f ,没有任何计算含义,因此也不对字符串中的内容做任何分析。
(3)x=sym('x')f=3*x^2+5*x+2表示x 是一个符号变量,因此算式f=3*x^2+5*x+2就具有了符号函数的意义,f 也自然成为符号变量了。
3 用符号函数法求解方程a t 2+b*t +c=0。
>> r=solve('a*t^2+b*t+c=0','t') r =[ 1/2/a*(-b+(b^2-4*a*c)^(1/2))] [ 1/2/a*(-b-(b^2-4*a*c)^(1/2))]4 用符号计算验证三角等式:sin(ϕ1)cos(ϕ2)-cos(ϕ1)sin(ϕ2) =sin(ϕ1-ϕ2) >> syms phi1 phi2;>> y=simple(sin(phi1)*cos(phi2)-cos(phi1)*sin(phi2)) y =sin(phi1-phi2)5 求矩阵⎥⎦⎤⎢⎣⎡=22211211a a a a A 的行列式值、逆和特征根。
MATLAB考试试题及答案一、选择题(每题5分,共25分)1. 在MATLAB中,下列哪个命令用于创建一个行向量?A. v = [1; 2; 3]B. v = [1 2 3]C. v = [1, 2, 3]D. v = (1, 2, 3)答案:B2. 在MATLAB中,下列哪个命令用于计算矩阵A的行列式?A. det(A)B. det(A')C. det(inv(A))D. det(A^2)答案:A3. 在MATLAB中,下列哪个命令用于计算矩阵A的逆?A. inv(A)B. A^(-1)C. pinv(A)D. A\B答案:A4. 在MATLAB中,下列哪个命令用于求解线性方程组Ax= b?A. A\bB. A/BC. B/AD. A^-1b答案:A5. 在MATLAB中,下列哪个命令用于绘制二维图形?A. plot(x, y)B. scatter(x, y)C. bar(x, y)D. pie(x, y)答案:A二、填空题(每题5分,共25分)6. 在MATLAB中,可以使用______命令创建一个等差数列。
答案:linspace7. 在MATLAB中,可以使用______命令创建一个等比数列。
答案:logspace8. 在MATLAB中,可以使用______命令计算矩阵A的特征值。
答案:eig(A)9. 在MATLAB中,可以使用______命令计算矩阵A的特征向量。
答案:eigenvector(A)10. 在MATLAB中,可以使用______命令计算矩阵A的奇异值。
答案:svd(A)三、解答题(每题25分,共75分)11. 编写MATLAB程序,求解以下线性方程组:2x + 3y - z = 1x - y + 2z = 03x + 2y - 4z = -3答案:```A = [2 3 -1; 1 -1 2; 3 2 -4];b = [1; 0; -3];x = A\b;disp('解为:');disp(x);```12. 编写MATLAB程序,绘制以下函数的图形:y = sin(x) + cos(x),x ∈ [0, 2π]答案:```x = linspace(0, 2pi, 100);y = sin(x) + cos(x);plot(x, y);title('y = sin(x) + cos(x)');xlabel('x');ylabel('y');grid on;```13. 编写MATLAB程序,计算以下矩阵的特征值和特征向量:A = [1 2 3; 4 5 6; 7 8 9]答案:```A = [1 2 3; 4 5 6; 7 8 9];[V, D] = eig(A);disp('特征值:');disp(diag(D));disp('特征向量:');disp(V);```14. 编写MATLAB程序,使用牛顿迭代法求解方程f(x) = x^3 - 4x + 2 = 0在x = 1附近的根。
MA TLAB 作业二参考答案1、试求下面线性代数方程的解析解与数值解,并检验解的正确性。
2932114010110503848246303356684953X -----⎡⎤⎡⎤⎢⎥⎢⎥----⎢⎥⎢⎥=⎢⎥⎢⎥---⎢⎥⎢⎥------⎣⎦⎣⎦【求解】求出A , [A;B ] 两个矩阵的秩,可见二者相同,所以方程不是矛盾方程,应该有无穷多解。
>> A=[2,-9,3,-2,-1; 10,-1,10,5,0; 8,-2,-4,-6,3; -5,-6,-6,-8,-4]; B=[-1,-4,0; -3,-8,-4; 0,3,3; 9,-5,3]; [rank(A), rank([A B])] ans =4 4用下面的语句可以求出方程的解析解,并可以验证该解没有误差。
>> x0=null(sym(A));x_analytical=sym(A)\B; syms a; x=a*[x0 x0 x0]+x_analyticalx =[ a+967/1535, a-943/1535, a-159/1535][ -1535/1524*a, -1535/1524*a, -1535/1524*a][ -3659/1524*a-1807/1535,-3659/1524*a-257/1535,-3659/1524*a-141/1535] [ 1321/508*a+759/1535, 1321/508*a-56/1535, 1321/508*a-628/1535] [ -170/127*a-694/307, -170/127*a+719/307, -170/127*a+103/307] >> A*x-B ans = [ 0, 0, 0][ 0, 0, 0] [ 0, 0, 0] [ 0, 0, 0]用数值解方法也可以求出方程的解,但会存在误差,且与任意常数a 的值有关。
>> x0=null(A); x_numerical=A\B; syms a; x=a*[x0 x0 x0]+x_numerical; vpa(x,10)ans =[ .2474402553*a+.1396556436, .2474402553*a-.6840666849, .2474402553*a-.1418420333][-.2492262414*a+.4938507789,-.2492262414*a+.7023776988e-1,-.2492262414*a+.3853511888e-1][ -.5940839201*a, -.5940839201*a, -.5940839201*a][ .6434420813*a-.7805411315, .6434420813*a-.2178190763,.6434420813*a-.5086089095][-.3312192394*a-1.604263460, -.3312192394*a+2.435364854, -.3312192394*a+.3867176824] >> A*x-B[ 1/18014398509481984*a, 1/18014398509481984*a, 1/18014398509481984*a] [ -5/4503599627370496*a, -5/4503599627370496*a, -5/4503599627370496*a][ -25/18014398509481984*a, -25/18014398509481984*a, -25/18014398509481984*a] [ 13/18014398509481984*a, 13/18014398509481984*a, 13/18014398509481984*a]2、求解下面的联立方程,并检验得出的高精度数值解(准解析解)的精度。
第2章MATLAB概论1、与其他计算机语言相比较,MA TLAB 语言突出的特点是什么?答:起点高、人机界面适合科技人员、强大而简易的作图功能、智能化程度高、功能丰富,可扩展性强.2、MA TLAB 系统由那些部分组成?答:开发环境、MATLAB数学函数库、MATLAB语言、图形功能、应用程序接口3、安装MATLAB 时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装?答:在安装MATLAB时,安装内容由选择组件窗口中各复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装. 第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可. 矚慫润厲钐瘗睞枥庑赖。
4、MATLAB 操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上?聞創沟燴鐺險爱氇谴净。
答:在MATLAB 操作桌面上有五个窗口,在每个窗口的右下角有两个小按钮,一个是关闭窗口的Close 按钮,一个是可以使窗口称为独立的Undock 按钮,点击Undock 按钮就可以使该窗口脱离桌面称为独立窗口,在独立窗口的view 菜单中选择Dock,菜单项就可以将独立的窗口重新防止的桌面上.残骛楼諍锩瀨濟溆塹籟。
5、如何启动M 文件编辑/调试器?答:在操作桌面上选择“建立新文件”或“打开文件”操作时,M 文件编辑/调试器将被启动.在命令窗口中键入edit 命令时也可以启动M 文件编辑/调试器.酽锕极額閉镇桧猪訣锥。
6、存储在工作空间中的数组能编辑吗?如何操作?答:存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可.彈贸摄尔霁毙攬砖卤庑。
7、命令历史窗口除了可以观察前面键入的命令外,还有什么用途?答:命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中. 謀荞抟箧飆鐸怼类蒋薔。
第2章 MATLAB数据及其运算习题2一、选择题1.下列可作为MA TLAB合法变量名的是()。
DA.合计B.123 C.@h D.xyz_2a 2.下列数值数据表示中错误的是()。
CA.+10 B.1.2e-5 C.2e D.2i3.使用语句t=0:7生成的是()个元素的向量。
AA.8 B.7 C.6 D.54.执行语句A=[1,2,3;4,5,6]后,A(3)的值是()。
BA.1 B.2 C.3 D.4 5.已知a为3×3矩阵,则a(:,end)是指()。
DA.所有元素B.第一行元素C.第三行元素D.第三列元素6.已知a为3×3矩阵,则运行a (1)=[]后()。
AA.a变成行向量B.a变为2行2列C.a变为3行2列D.a变为2行3列7.在命令行窗口输入下列命令后,x的值是()。
B>> clear>> x=i*jA.不确定B.-1 C.1D.i*j 8.fix(354/100)+mod(354,10)*10的值是()。
DA.34 B.354 C.453D.43 9.下列语句中错误的是()。
BA.x==y==3 B.x=y=3C.x=y==3 D.y=3,x=y10.find(1:2:20>15)的结果是()。
CA.19 20 B.17 19C.9 10 D.8 911.输入字符串时,要用()将字符括起来。
CA.[ ] B.{ } C.' ' D." " 12.已知s='显示"hello"',则s的元素个数是()。
AA.9 B.11 C.7 D.1813.eval('sqrt(4)+2')的值是()。
BA.sqrt(4)+2 B.4 C.2 D.2,214.有3×4的结构矩阵student,每个结构有name(姓名)、scores(分数)两个成员,其中scores是以1×5矩阵表示的5门课的成绩,那么要删除第4个学生的第2门课成绩,应采用的正确命令是()。
上机练习题一班级: 姓名: 学号:1.建立起始值=3,增量值=,终止值=44的一维数组x 答案: x=(3::44)2.写出计算 Sin(30o)的程序语句. 答案: sin(pi*30/180) 或 sin(pi/6)3.矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=187624323A ,矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=333222111B ;分别求出B A ⨯及A 与B 中对应元素之间的乘积.答案:A = [3,2,3; 4,2,6; 7,8,1]B = [1,1,1; 2,2,2; 3,3,3] A*B ;A.*B4计算行列式的值187624323=A 。
答案:det(A)5对矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=187624323A 进行下述操作。
(1)求秩。
答案:rank(A)(2)求转置。
答案:A' (3) 对矩阵求逆,求伪逆。
答案:inv(A) ,pinv(A) (4) 左右反转,上下反转。
答案:fliplr(A),flipud(A)(5) 求矩阵的特征值. 答案:[u,v]=eig(A) (6) 取出上三角和下三角. 答案:triu(a) tril(a)(7)以A 为分块作一个3行2列的分块矩阵。
答案:repmat(a)6 计算矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡897473535与⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡638976242之和。
>> a=[5 3 5;3 7 4;7 9 8];>> b=[2 4 2;6 7 9;8 3 6]; >> a+b 7 计算⎥⎦⎤⎢⎣⎡=572396a 与⎥⎦⎤⎢⎣⎡=864142b 的数组乘积。
>> a=[6 9 3;2 7 5];>> b=[2 4 1;4 6 8]; >> a.*b ans =12 36 38 42 40 8 已知:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321a ,分别计算a 的数组平方和矩阵平方,并观察其结果。
MATLAB 基本运算1.在MATLAB 中如何建立矩阵⎥⎦⎤⎢⎣⎡194375,并将其赋予变量a ?>>a=[573;491]2.在进行算术运算时,数组运算和矩阵运算各有什么要求?进行数组运算的两个数组必须有相同的尺寸。
进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a 与b 相乘(a*b )时必须满足a 的列数等于b 的行数。
3.数组运算和矩阵运算的运算符有什么区别?在加、减运算时数组运算与矩阵运算的运算符相同,乘、除和乘方运算时,在矩阵运算的运算符前加一个点即为数组运算,如a*b 为矩阵乘,a.*b 为数组乘。
4.计算矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡897473535与⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡638976242之和。
>>a=[535;374;798];>>b=[242;679;836];>>a+bans =777914131512145.计算⎥⎦⎤⎢⎣⎡=572396a 与⎥⎦⎤⎢⎣⎡=864142b 的数组乘积。
>>a=[693;275];>>b=[241;468];>>a.*bans =12363842406.“左除”与“右除”有什么区别?在通常情况下,左除x=a\b 是a*x=b 的解,右除x=b/a 是x*a=b 的解,一般情况下,a\b ≠b/a 。
7.对于B AX =,如果⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=753467294A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=282637B ,求解X 。
>>A=[492;764;357];>>B=[372628]’;>>X=A\BX =-0.51184.04271.33188.已知:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321a ,分别计算a 的数组平方和矩阵平方,并观察其结果。
>>a=[123;456;789];>>a.^2ans =149162536496481>>a^2ans =3036426681961021261509.[]7.0802.05--=a ,在进行逻辑运算时,a 相当于什么样的逻辑量。
相当于a=[11011]。
10.在sin(x )运算中,x 是角度还是弧度?在sin(x)运算中,x 是弧度,MATLAB 规定所有的三角函数运算都是按弧度进行运算。
符号计算1.创建符号变量有几种方法?MATLAB 提供了两种创建符号变量和表达式的函数:sym 和syms 。
sym 用于创建一个符号变量或表达式,用法如x=sym(‘x’)及f=sym(‘x+y+z’),syms 用于创建多个符号变量,用法如syms x y z 。
f=sym(‘x+y+z’)相当于syms x y zf=x+y+z2.下面三种表示方法有什么不同的含义?(1)f=3*x^2+5*x+2;(2)f='3*x^2+5*x+2';(3)x=sym('x')f=3*x^2+5*x+2(1)f=3*x^2+5*x+2表示在给定x 时,将3*x^2+5*x+2的数值运算结果赋值给变量f ,如果没有给定x 则指示错误信息。
(2)f='3*x^2+5*x+2'表示将字符串'3*x^2+5*x+2'赋值给字符变量f ,没有任何计算含义,因此也不对字符串中的内容做任何分析。
(3)x=sym('x')f=3*x^2+5*x+2表示x 是一个符号变量,因此算式f=3*x^2+5*x+2就具有了符号函数的意义,f 也自然成为符号变量了。
3.用符号函数法求解方程a t 2+b*t +c=0。
>>r=solve('a*t^2+b*t+c=0','t')r =[1/2/a*(-b+(b^2-4*a*c)^(1/2))][1/2/a*(-b-(b^2-4*a*c)^(1/2))]4.求矩阵⎥⎦⎤⎢⎣⎡=22211211a a a a A 的行列式值、逆和特征根。
>>syms a11a12a21a22;>>A=[a11,a12;a21,a22]>>AD=det(A)%行列式>>AI=inv(A)%逆>>AE=eig(A)%特征值A =[a11,a12][a21,a22]AD =a11*a22-a12*a21AI =[-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-2*a11*a22+a22^2+4*a12*a21)^(1/2)]5.因式分解:6555234-++-x x x x >>syms x;>>f=x^4-5*x^3+5*x^2+5*x-6;>>factor(f)ans =(x-1)*(x-2)*(x-3)*(x+1)6.符号函数绘图法绘制函数x=sin(3t)cos(t),y=sin(3t)sin(t)的图形,t 的变化范围为[0,2π]。
>>syms t>>ezplot(sin(3*t)*cos(t),sin(3*t)*sin(t),[0,pi])%画二维曲线的简捷指令图形处理1.绘制曲线13++=x x y ,x 的取值范围为[-5,5]。
>>x=-5:0.2:5;>>y=x.^3+x+1;>>plot(x,y)2.有一组测量数据满足-at e =y ,t 的变化范围为0~10,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线。
>>t=0:0.5:10;>>y1=exp(-0.1*t);>>y2=exp(-0.2*t);>>y3=exp(-0.5*t);>>plot(t,y1,'-ob',t,y2,':*r',t,y3,'-.^g')3.x=[6649715638],绘制饼图,并将第五个切块分离出来。
>>x=[6649715638];>>L=[00001];>>pie(x,L)4.绘制peaks函数的表面图,用colormap函数改变预置的色图,观察色彩的分布情况。
>>surf(peaks(30));%三维着色表面图>>colormap(hot)%色图>>colormap(cool)>>colormap(lines)5.用sphere函数产生球表面坐标,绘制不通明网线图和表面图。
>>[x,y,z]=sphere(30);%产生球面>>mesh(x,y,z)>>surf(x,y,z)GUI程序设计1.做一个滑条(滚动条)界面。
功能:通过移动中间的滑块选择不同的取值并显示在数字框中,见下图。
提示:(1)在figure的属性浏览器中设置Name(2)先建立一个滑条对象,在属性浏览器中设置Max为50,Min为-50;(3)在滑条的两端各放置一个静态文本用于显示最大值和最小值;(4)滑条对象的callback函数中的内容为:val=get(handles.slider1,'value');set(handles.edit1,'string',num2str(val));Simulink1.什么是Simulink ?Simulink 是一个用来对动态系统进行建模、仿真和分析的软件包,它支持连续的、离散的或二者混合的线性和非线性系统,也支持具有多种采样速率的多速率系统。
2.如何进行下列操作:(1)翻转模块(2)给模型窗口加标题(3)指定仿真时间(4)设置示波器的显示刻度(1)翻转模块翻转:将鼠标指针指向要翻转的模块并按下鼠标右键,在弹出的菜单中选择Format 栏中的Flip Block 项,模块将翻转180°,每选择一次模块都将翻转180°,该操作也可以在菜单栏中的Format 菜单中进行。
(2)给模型窗口加标题在模型窗口的上方双击鼠标左键,会出现的一个文本输入框,输入文字并通过Format 菜单中的选项改变字体的颜色和大小,就可以做出一个好看的标题。
(在模型窗口的任意地方都可以通过双击鼠标左键后输入文字为模型窗口添加说明)(3)指定仿真时间选择Simulation 菜单打开参数设置对话框,在Solver 页面中第一项Simulation time 中通过输入开始时间和结束时间来确定仿真时间。
(4)设置示波器的显示刻度双击示波器模块弹出示波器显示窗口,在坐标轴区域内的任意位置单击鼠标右键,在弹出的菜单中选择Axes properties…菜单项弹出示波器坐标轴属性对话框,可以设置Y 轴显示的范围。
3.有传递函数如下的控制系统,用Simulink 建立系统模型,并对系统的阶跃响应进行仿真。
841)(++=s s s G。