薛山matlab基础教程第三版习题解答2
MATLAB习题及参考答案经典.doc
习题:1, 计算⎥⎦⎤⎢⎣⎡=572396a 与⎥⎦⎤⎢⎣⎡=864142b 的数组乘积。
2, 对于B AX =,如果⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=753467294A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=282637B ,求解X 。
3, 已知:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321a ,分别计算a 的数组平方和矩阵平方,并观察其结果。
4, 角度[]604530=x ,求x 的正弦、余弦、正切和余切。
(应用sin,cos,tan.cot)5, 将矩阵⎥⎦⎤⎢⎣⎡=7524a 、⎥⎦⎤⎢⎣⎡=3817b 和⎥⎦⎤⎢⎣⎡=2695c 组合成两个新矩阵: (1)组合成一个4⨯3的矩阵,第一列为按列顺序排列的a 矩阵元素,第二列为按列顺序排列的b 矩阵元素,第三列为按列顺序排列的c 矩阵元素,即 ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡237912685574(2)按照a 、b 、c 的列顺序组合成一个行矢量,即 []2965318772546, 将(x -6)(x -3)(x -8)展开为系数多项式的形式。
(应用poly,polyvalm)7, 求解多项式x 3-7x 2+2x +40的根。
(应用roots)8, 求解在x =8时多项式(x -1)(x -2) (x -3)(x -4)的值。
(应用poly,polyvalm)9, 计算多项式9514124234++--x x x x 的微分和积分。
(应用polyder,polyint ,poly2sym)10, 解方程组⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡66136221143092x 。
(应用x=a\b)11, 求欠定方程组⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡5865394742x 的最小范数解。
(应用pinv) 12, 矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=943457624a ,计算a 的行列式和逆矩阵。
(应用det,inv)13, y =sin(x ),x 从0到2π,∆x =0.02π,求y 的最大值、最小值、均值和标准差。
matlab课后习题与答案
习题二1.如何理解“矩阵是MATLAB最基本的数据对象”?答:因为向量可以看成是仅有一行或一列的矩阵,单个数据(标量)可以看成是仅含一个元素的矩阵,故向量和单个数据都可以作为矩阵的特例来处理。
因此,矩阵是MATLAB最基本、最重要的数据对象。
2.设A和B是两个同维同大小的矩阵,问:(1)A*B和A.*B的值是否相等?答:不相等。
(2)A./B和B.\A的值是否相等?答:相等。
(3)A/B和B\A的值是否相等?答:不相等。
(4)A/B和B\A所代表的数学含义是什么?答:A/B等效于B的逆右乘A矩阵,即A*inv(B),而B\A等效于B矩阵的逆左乘A矩阵,即inv(B)*A。
3.写出完成下列操作的命令。
(1)将矩阵A第2~5行中第1, 3, 5列元素赋给矩阵B。
答:B=A(2:5,1:2:5); 或B=A(2:5,[1 3 5])(2)删除矩阵A的第7号元素。
答:A(7)=[](3)将矩阵A的每个元素值加30。
答:A=A+30;(4)求矩阵A的大小和维数。
答:size(A);ndims(A);(5)将向量t的0元素用机器零来代替。
答:t(find(t==0))=eps;(6)将含有12个元素的向量x转换成34矩阵。
答:reshape(x,3,4);(7)求一个字符串的ASCII码。
答:abs(‘123’); 或double(‘123’);(8)求一个ASCII码所对应的字符。
答:char(49);4. 下列命令执行后,L1、L2、L3、L4的值分别是多少?A=1:9;B=10-A;...L1=A==B;L2=A<=5;L3=A>3&A<7;L4=find(A>3&A<7);答:L1的值为[0, 0, 0, 0, 1, 0, 0, 0, 0]L2的值为[1, 1, 1, 1, 1, 0, 0, 0, 0]L3的值为[0, 0, 0, 1, 1, 1, 0, 0, 0]L4的值为[4, 5, 6]5. 已知23100.7780414565532503269.5454 3.14A -⎡⎤⎢⎥-⎢⎥=⎢⎥⎢⎥-⎣⎦完成下列操作:(1) 取出A 的前3行构成矩阵B ,前两列构成矩阵C ,右下角32⨯子矩阵构成矩阵D ,B 与C 的乘积构成矩阵E 。
MATLAB数据及其运算_习题答案
第2章M A T L A B数据及其运算_习题答案(总3页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--第2章 MATLAB数据及其运算习题2一、选择题1.下列可作为MATLAB合法变量名的是()。
D A.合计 B.123 C.@h D.xyz_2a 2.下列数值数据表示中错误的是()。
CA.+10 B. C.2e D.2i3.使用语句t=0:7生成的是()个元素的向量。
A A.8 B.7 C.6 D.54.执行语句A=[1,2,3;4,5,6]后,A(3)的值是()。
B A.1 B.2 C.3 D.4 5.已知a为3×3矩阵,则a(:,end)是指()。
D A.所有元素 B.第一行元素C.第三行元素 D.第三列元素6.已知a为3×3矩阵,则运行a (1)=[]后()。
A A.a变成行向量 B.a变为2行2列C.a变为3行2列 D.a变为2行3列7.在命令行窗口输入下列命令后,x的值是()。
B>> clear>> x=i*jA.不确定 B.-1 C.1 D.i*j 8.fix(354/100)+mod(354,10)*10的值是()。
D A.34 B.354 C.453 D.439.下列语句中错误的是()。
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的元素个数是()。
A A.9 B.11 C.7 D.1813.eval('sqrt(4)+2')的值是()。
matlab第三章课后部分答案
matlab第三章课后部分答案习题三3-2 从键盘输入一个三位整数,将它反向输出。
如输入639,输出为936程序如下:m=input('请输入一个三位整数:');m1=fix(m/100);%求m的百位整数m2=rem(fix(m/10),10);%求m的十位数字m3=rem(m,10);%求m的个位数字m=m3*100+m2*10+m1%反向输出m3-3 输入一个百分制成绩,要求输出成绩等级A,B,C,D,E。
其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。
要求:(1)分别用if语句和switch语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
程序如下:(1)if语句c=input('请输入成绩:');if c>=90&c<=100disp('A 成绩合理');elseif c>=80&c<=89disp('B 成绩合理');elseif c>=70&c<=79disp('C 成绩合理'); elseif c>=60&c<=69disp('D 成绩合理'); elseif c<60disp('E 成绩合理');elsedisp('成绩错误');end(2)switch语句c=input('请输入成绩:'); switch fix(c)case num2cell(90:100)disp('A 成绩合理'); case num2cell(80:89)disp('B 成绩合理'); case num2cell(70:79)disp('C 成绩合理'); case num2cell(60:69)disp('D 成绩合理'); case num2cell(0:59)disp('E 成绩合理');x=fix(rand(1,20)*89)+10;x1=fix(sum(x)/20);disp(['平均数是:',num2str(x1)])m=(rem(x,2)==0&x<x1);n=find(m);disp(['小于平均数的数是:',num2str(x(n))]); 3-6 输入20个数,求其中最大数和最小数。
matlab基础与应用教程课后答案
exp(-0.3*a).*sin(a+0.3)
3.x=[2,4;-0.45,5];
log(x+sqrt(1+x.*x))/2
4. A=[3,54,2;34,-45,7;87,90,15];B=[1,-2,67;2,8,74;9,3,0];
(1)A*B
ans =
129
432
4197
7
-407
-1052
end display(sqrt(s*6)) 向量运算
n=input('input n:'); k=1:n; display(sqrt(sum(1./k.^2)*6)) 4. y=0;k=0; while y<3
k=k+1; y=y+1/(2*k-1); end display([k-1,y-1/(2*k-1)]) 5. x0=0;x=1;k=0; a=input('a='); b=input('b='); while abs(x-x0)>=1e-5 && k<500 x0=x; x=a/(b+x0); k=k+1; end display([k,x]); display([(-b+sqrt(b^2+4*a))/2,(-b-sqrt(b^2+4*a))/2]);
1. P=pascal(5);H=hilb(5); Dp=det(P);Dh=det(H);
Kp=cond(P);Kh=cond(H); P 矩阵的性能更好,因为 Kp 较小 2. A=[1,-1,2,3;0,9,3,3;7,-5,0,2;23,6,8,3] B=[3,pi/2,45;32,-76,sqrt(37);5,72,4.5e-4;exp(2),0,97] A1=diag(A);B1=diag(B); A2=triu(A);B2=triu(B); A3=tril(A);B3=tril(B); rA=rank(A);rB=rank(B);
matlab练习题和答案
matlab练习题和答案控制系统仿真实验Matlab部分实验结果目录实验一 MATLAB基本操作 ............................................................................................ 1 实验二 Matlab编程 .................................................................................................... 5 实验三Matlab底层图形控制 ..........................................................................................6 实验四控制系统古典分析.............................................................................................12 实验五控制系统现代分析 . (15)实验六 PID控制器的设计 ...........................................................................................19 实验七系统状态空间设计.............................................................................................23 实验九直流双闭环调速系统仿真 (25)实验一 MATLAB基本操作1 用MATLAB可以识别的格式输入下面两个矩阵1233,,1443678,i,,,,2357,,,,2335542,i,,,, A,1357B,,,2675342,i,,3239,,,,189543,,,,1894,,再求出它们的乘积矩阵C,并将C矩阵的右下角2×3子矩阵赋给D矩阵。
matlab基础与应用教程课后答案
matlab基础与应用教程课后答案【篇一:matlab教程基本应用练习题及解答】txt>要求:将每题的答案(命令行和运行结果、图片或m文件的文件名及具体内容)直接拷贝插入到各题的下方:(1)若为命令行,要求将提示符“”一起拷入,并在右侧用“%”注明命令行的每条命令的作用;(2)若为多个运行结果,拷入后要求解释每个结果具体对应题目中的哪个要求,也在右侧用“%”注明;(3)如果为m文件,除了将文件名和此文件的具体内容全部拷入外,再将所有原始m文件和本练习题电子版放在一个以“专业班级+本人姓名+学号”命名的文件夹内一起上传。
ans =1 0 00 1 00 0 1ans =0 0 00 0 0ans =1 1 11 1 11 1 11 1 120+40*rand(1,10) %生成10个在区间[20,60]上均匀分布的随机数。
ans =44.617351.677556.872549.528327.050636.228257.418856.676236 .410855.7460二.1)计算向量(2,4,6,8)的最大值,最小值,平均值,中值,排序,总和值; max([2,4,6,8])%最大值ans =8min([2,4,6,8])% 最小值ans =2mean([2,4,6,8])% 平均值ans =5median([2,4,6,8])% 中值ans =5sort([2,4,6,8])% 排序ans =2 4 6 8sum([2,4,6,8])% 总和值ans =202)在行向量(2,4,6,8)和(1,3,5,7)之间实施加减乘除及幂运算; a=[2 4 6 8];b=[1 3 5 7];a+b%加ans =3 7 11 15a-b%减ans =1 1 1 1a.*b%乘ans =2 12 30 56a./b%除ans =2.0000 1.3333 1.2000 1.1429a.^b%幂ans =2 64 7776 20971523)在向量(1,3,5)与标量2之间实施加减乘除及幂运算。
薛山matlab基础教程第三版习题解答2
第2章习题参考答案1.创建double的变量,并进行计算。
(1) a=87,b=190,计算 a+b、a-b、a*b。
(2) 创建 uint8 类型的变量,数值与(1)中相同,进行相同的计算。
参考答案:(1)>> a=87a =87>> b=190b =190>> a+bans =277>> a-bans =-103>> a*bans =16530(2)>> c=uint8(87)c =87>> d=uint8(190)d =190>> c+dans =255>> c-dans =>> c*dans =2552.计算:(1) ()sin60(2) e3(3) 3cos 4⎛⎫π ⎪⎝⎭参考答案:(1)>> sind(60)ans =0.8660(2)>> exp(3)ans =20.0855(3)>> cos(3*pi/4)ans =-0.70713.设2u =,3v =,计算: (1) 4log uv v(2) ()22e u v v u +-参考答案:(1)>> u=2;>> v=3;>> 4*u*v/log(v)ans =21.8457(2)>> (exp(u)+v)^2/(v^2-u)ans =15.4189(3)>> sqrt(u-3*v)/(u*v)ans =0 + 0.4410i4.计算如下表达式:(1) ()()i i-+3542(2) ()-sin28i参考答案:(1)>> (3-5*i)*(4+2*i)ans =22.0000 -14.0000i(2)>> sin(2-8*i)ans =1.3553e+03 + 6.2026e+02i5.判断下面语句的运算结果。
matlab习题2答案
matlab习题2答案MATLAB习题2答案在MATLAB习题2中,我们学习了如何使用MATLAB编程语言解决各种数学问题和数据分析任务。
在本篇文章中,我们将探讨一些常见的习题,并给出相应的答案和解释。
第一道习题是关于矩阵运算的。
我们需要编写一个MATLAB程序,计算两个矩阵的乘积。
在MATLAB中,可以使用矩阵乘法运算符“*”来实现这个功能。
例如,如果我们有两个矩阵A和B,我们可以使用以下代码来计算它们的乘积:```matlabC = A * B;```接下来,我们需要解决一个关于插值的问题。
我们需要编写一个程序,使用插值方法来估算给定点的函数值。
在MATLAB中,可以使用interp1函数来实现这个功能。
例如,如果我们有一个已知的函数y和一组离散的点x,我们可以使用以下代码来进行插值计算:```matlabx_interp = 0:0.1:10;y_interp = interp1(x, y, x_interp, 'spline');```最后,我们需要解决一个关于数据可视化的问题。
我们需要编写一个程序,绘制给定数据的散点图和拟合曲线。
在MATLAB中,可以使用scatter和plot函数来实现这个功能。
例如,如果我们有一组数据点x和y,我们可以使用以下代码来进行数据可视化:```matlabscatter(x, y);hold on;p = polyfit(x, y, 1);y_fit = polyval(p, x);plot(x, y_fit, 'r');```通过以上习题的练习,我们可以更好地掌握MATLAB编程语言的基本语法和常用函数。
希望本篇文章对大家有所帮助,也希望大家能够在日常工作和学习中充分利用MATLAB的强大功能,提高工作效率和解决问题的能力。
matlab教程第二章课堂练习及答案
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 t2+b*t+c=0。
>> r=solve('a*t^2+b*t+c=0','t')[ 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习题与答案
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 课后部分答案
P77 第2章1、>> x=2;>> y=power(x,3)+(x-0.98).^2./(x+1.35).^3-5*(x+1./x)>> x=4;>> y=power(x,3)+(x-0.98).^2./(x+1.35).^3-5*(x+1./x)7、>> mat=rand(4,5);>> m=1;>> for i=1:2for j=1:5if mat(i,j)>0.3b(m)=mat(i,j);m=m+1;endendend>> b8、>> V=inv(A)>> A=rand(5,5);10、>> A=[1 4 8 13;-3 6 -5 -9;2 -7 -12 -8];B=[5 4 3 -2;6 -2 3 -8;-1 3 -9 7]; >> C=A*B??? Error using ==> mtimesInner matrix dimensions must agree.>> C=A.*BC =5 16 24 -26-18 -12 -15 72-2 -21 108 -5611、>> x=linspace(0,2*pi,125);>> y=cos((x).*(0.5+3*sin(x)./(1+x.^2)));>> plot(x,y)13、>> x=-2:0.1:2;y=-2:0.1:2;>> [X,Y]=meshgrid(x,y);>> Z=X.^2.*exp(-X.^2-Y.^2);>> mesh(Z)建立一个M函数文件mycos.m,程序如下:function y=mycos(x)clear allx=input('请输入x的值')y=1./((x-2).^2+0.1)+1./((x-3).^3+0.01)在命令窗口输入:mycosP123 第3章1、>> x=[446 714 950 1422 1634];y=[7.04 4.28 3.40 2.54 2.13];>> xi=500:500:1500;>> yi=interp1(x,y,xi,'linear')4、>> p=[3 4 7 2 9 12];>> roots(p)8、>> a=[2 4 9;4 2 4;9 4 18];>> [V,D]=eig(a) %V的列向量是相应的特征向量,对角阵D的对角元素为a的特征值10、>> p1=[-1 4 0];p2=[-1 -4 0];>> A=polyder(p1);B=polyder(p2);>> A1=roots(A);B1=roots(B);>> y=4*A1-4*B1-A1.^2-B1.^213、>> syms x y>> Ex=int(int(x.*12.*y.^2,y,0,x),x,0,1)>> Ey=int(int(y.*12.*y.^2,x,y,1),y,0,1)>> Exy=Ex.*Ey14、>> A=rand(4,4);>> [L,U]=lu(A)>> [Q,R]=qr(A)P183 第4章1、>> n=-2*pi:0.01:2*pi;>> N=12;x=cos(n*pi./6);>> X=fft(x,N)>> nx=((n>=0)&(n<=11)); hx=((n>=0)&(n<=5)); >> xn=0.8*nx;hn=hx;>> y=conv(xn,hn)4、>> n=0:11;h=0:5;>> nx=((n>=0)&(n<=11)); hx=((n>=0)&(n<=5)); >> xn=0.8*nx;hn=hx;>> M=length(xn);N=length(hn);>> L=pow2(nextpow2(M+N-1));>> Xk=fft(xn,L);Hk=fft(hn,L);>> Yk=Xk.*Hk;>> yn=ifft(Yk,L)5、>> num=[2 3 0];den=[1 0.4 1];>> [z,p,k]=tf2zp(num,den)6、>> num=[4 15.6 6 2.4 -6.4];den=[3 2.4 6.3 -11.4 6]; >> [z,p,k]=tf2zp(num,den)>> zplane(z,p)7、>> num=[18 0 0 0];den=[18 3 -4 -1];>> [r,p,k]=residuez(num,den)9、建立一个M函数文件,程序如下:clear allN=10;[z,p,k]=buttap(N);[A,B,C,D]=zp2ss(z,p,k);wc1=100;wc2=200;[At,Bt,Ct,Dt]=lp2bp(A,B,C,D,wc1,wc2);[num1,den1]=ss2tf(At,Bt,Ct,Dt);[num2,den2]=impinvar(num1,den1);dimpulse(num2,den2)10、建立一个M函数文件,程序如下:clear allwp=100*2*pi;ws=200*2*pi;Rp=2;Rs=15;Fs=500;[N,Wc]=buttord(wp,ws,Rp,Rs,'s'); %选择滤波器的最小阶数[z,p,k]=buttap(N);[B,A]=zp2tf(z,p,k);[num,den]=bilinear(B,A,Fs); %模拟滤波器的传递函数转换为数字滤波器的传递函数freqz(num,den)11、建立一个M函数文件,程序如下:clear allN=48;w=[0.35,0.65];B=fir1(N,w,'bandpass'); %返回一个N阶的带通滤波器freqz(B) %绘制滤波器的频率响应曲线12、建立一个M函数文件,程序如下:clear allN=37;wc=0.3*pi;B=fir1(N,wc);freqz(B) %绘制滤波器的频率响应曲线13、建立一个M函数文件,程序如下:clear allN=55;F=[0:1/55:1];A=[ones(1,28),zeros(1,N-27)];B=fir2(N,F,A);freqz(B) %绘制滤波器的频率响应曲线15、建立一个M函数文件,程序如下:clear allwc=0.4*pi/(2*pi);N=12;[B,A]=butter(N,wc);%设计N阶截止频率为wc的Butterworth低通数字滤波器的传递函数模型m=dimpulse(B,A,101);stem(m,'.')P277 第6章2、建立一个M函数文件,程序如下:function [h,l]=huffmancode(P)if length(find(P<0))~=0,error('Not a prod.vector')endif abs(sum(P)-1)>10e-10error('Not a prod.vector')endn=length(P);for i=1:n-1for j=i:nif P(i)<=P(j)p=P(i);P(i)=P(j);P(j)=p;endendenddisp('概率分布'),PQ=P;m=zeros(n-1,n);for i=1:n-1[Q,l]=sort(Q);m(i,:)=[l(1:n-i+1),zeros(1,i-1)];Q=[Q(1)+Q(2),Q(3:n),1];endfor i=1:nc(i,:)=blanks(n*n);endc(n-1,n)='0';c(n-1,2*n)='1';for i=2:n-1c(n-i,1:n-1)=c(n-i+1,n*(find(m(n-i+1,:)==1))-(n-2):n*(find(m(n-i+1,:)==1)));c(n-1,n)='0';c(n-i,n+1:2*n-1)=c(n-i,1:n-1);c(n-i,2*n)='1';for j=1:i-1c(n-i,(j+1)*n+1:(j+2)*n)=c(n-i+1,n*(find(m(n-i+1,:)==j+1)-1)+1:n*find(m(n-i+1,:)==j+1));endendfor i=1:nh(i,1:n)=c(1,n*(find(m(1,:)==i)-1)+1:find(m(1,:)==i)*n);ll(i)=length(find(abs(h(i,:))~=32));endl=sum(P.*ll); %计算平均码长在命令窗口中输入:>> P=[0.20 0.15 0.13 0.12 0.1 0.09 0.08 0.07 0.06];>> [h,l]=huffmancode(P)3、建立一个M函数文件,程序如下:function[sqnr,a_quan,code]=u_pcm(a,n)% U_PCM 一个序列均匀的PCM编码.% n=量化级数的数目(偶数).% sqnr=输入信号量化噪声比(偶数)。
matlab课后习题答案(1-9章)要点
1 数字1.5e2,1.5e3 中的哪个与1500相同吗?1.5e32 请指出如下5个变量名中,哪些是合法的?abcd-2xyz_3 3chan a 变量ABCDefgh 2、5是合法的。
3 在MATLAB 环境中,比1大的最小数是多少? 1+eps4 设 a = -8 , 运行以下三条指令,问运行结果相同吗?为什么?w1=a^(2/3) w2=(a^2)^(1/3) w3=(a^(1/3))^2w1 = -2.0000 + 3.4641i ;w2 = 4.0000 ;w3 =-2.0000 + 3.4641i 5 指令clear, clf, clc 各有什么用处?clear 清除工作空间中所有的变量。
clf 清除当前图形。
clc 清除命令窗口中所有显示。
第二章1 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度”对象,还是“符号”符号对象?3/7+0.1双; sym(3/7+0.1)符; sym('3/7+0.1') 符;; vpa(sym(3/7+0.1)) 符;2 在不加专门指定的情况下,以下符号表达式中的哪一个变量被认为是自由符号变量. sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)') symvar(sym('sin(w*t)'),1) w a z3 (1)试写出求三阶方程05.443=-x 正实根的程序。
注意:只要正实根,不要出现其他根。
(2)试求二阶方程022=+-a ax x 在0>a 时的根。
(1)reset(symengine)syms x positive solve(x^3-44.5) ans =(2^(2/3)*89^(1/3))/2(2)求五阶方程022=+-a ax x 的实根 syms a positive %注意:关于x 的假设没有去除 solve(x^2-a*x+a^2)Warning: Explicit solution could not be found. > In solve at 83 ans =[ empty sym ]syms x clear syms a positivesolve(x^2-a*x+a^2) ans =a/2 + (3^(1/2)*a*i)/2 a/2 - (3^(1/2)*a*i)/24 观察一个数(在此用@记述)在以下四条不同指令作用下的异同。
matlab课后练习习题及答案详解
matlab课后习题及答案详解第1章MATLAB概论与其余计算机语言对比较,MATLAB语言突出的特色是什么?MATLAB拥有功能强盛、使用方便、输入简捷、库函数丰富、开放性强等特色。
MATLAB系统由那些部分构成?MATLAB系统主要由开发环境、MATLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。
安装MATLAB时,在选择组件窗口中哪些部分一定勾选,没有勾选的部分此后怎样补安装?在安装MATLAB时,安装内容由选择组件窗口中个复选框能否被勾选来决定,能够依据自己的需要选择安装内容,但基本平台(即MATLAB选项)一定安装。
第一次安装没有选择的内容在补安装时只要依据安装的过程进行,不过在选择组件时只勾选要补装的组件或工具箱即可。
MATLAB操作桌面有几个窗口?怎样使某个窗口离开桌面成为独立窗口?又怎样将离开出去的窗口从头搁置到桌面上?在MATLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是封闭窗口的Close按钮,一个是能够使窗口成为独立窗口的Undock 按钮,点击Undock按钮就能够使该窗口离开桌面成为独立窗口,在独立窗口的view菜单中选择Dock,,菜单项就能够将独立的窗口从头防备的桌面上。
怎样启动M文件编写/调试器?在操作桌面上选择“成立新文件”或“翻开文件”操作时,M文件编写/调试器将被启动。
在命令窗口中键入edit命令时也能够启动M文件编写/调试器。
储存在工作空间中的数组能编写吗?怎样操作?储存在工作空间的数组能够经过数组编写器进行编写:在工作空间阅读器中双击要编写的数组名翻开数组编写器,再选中要改正的数据单元,输入改正内容即可。
命令历史窗口除了能够察看前方键入的命令外,还有什么用途?命令历史窗口除了用于查问从前键入的命令外,还能够直接履行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。
怎样设置目前目录和搜寻路径,在目前目录上的文件和在搜寻路径上的文件有什么差别?目前目录能够在目前目录阅读器窗口左上方的输入栏中设置,搜寻路径能够经过选择操作桌面的file菜单中的SetPath菜单项来达成。
matlab程序设计教程第三版课后答案
matlab程序设计教程第三版课后答案在 MATLAB中,对 MATLAB编程是用什么来编写程序的?下面分别介绍下 MATLAB程序设计教程中关于使用什么语言编写程序:由于使用较多,本教程会在 MATLAB基础上进行改进和优化,并以此为基础将问题分类为四个不同层次:(1)定义问题分类;(2)提出问题间关系;(3)分析问题和解决问题。
本教程不限制解决问题时是否使用或修改现有问题而只是要求解决问题时使用或修改现有问题而不适用本教程中各层次问题并加入了分析问题和解决问题的内容和方法。
一、定义问题分类定义问题分类的目的是为了将不同层次的问题区分开来,以便更加准确地进行相应的程序设计。
解决问题应根据问题所涉及的对象及其相互关系来进行分类,通常可以分为三类:计算类、求解类。
定义问题分类时应根据问题的重要性、目标实现过程中有无对相关问题分类的基础知识等进行考虑,以便对问题分类更具有针对性。
在 MATLAB中定义问题分类时一般按可划分的对象分类,也可按可处理的对象分类三大类,如图2所示。
图2中的问题分类如图3所示,其中 A为问题分类中的问题, B为已完成的问题, C为分析问题, D为解决问题。
二、提出问题间关系问题的内部结构由程序代码构成,因此,问题间的问题关系是编程人员必须掌握的知识,为了便于操作,它们之间存在着复杂的相互关系。
当一个问题被解决后,下一个问题的解决还需要继续解决下一个问题。
如果一个问题不被解决又要继续解决另外一个问题,或者一个问题已经解决了,而下一个问题却没有得到解决,那么这类问题就被称为“已知问题”或者“未知问题”。
由于已知问题都是由已知的数学问题所构成,所以这种关系叫已知问题与未知问题之间的关系(见图3)。
当一个问题与其他问题处于不同的数学问题之间时,所处的数学问题就会存在一定程度的矛盾。
如果数学问题不能得到解决,或者解决数学问题的算法设计出现错误,那么这个矛盾就会不断激化,最终将使整个问题变得越来越复杂。
MATLAB数据及其运算_习题答案
第2章M A T L A B数据及其运算_习题答案(总3页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--第2章 MATLAB数据及其运算习题2一、选择题1.下列可作为MATLAB合法变量名的是()。
D A.合计 B.123 C.@h D.xyz_2a 2.下列数值数据表示中错误的是()。
CA.+10 B. C.2e D.2i3.使用语句t=0:7生成的是()个元素的向量。
A A.8 B.7 C.6 D.54.执行语句A=[1,2,3;4,5,6]后,A(3)的值是()。
B A.1 B.2 C.3 D.4 5.已知a为3×3矩阵,则a(:,end)是指()。
D A.所有元素 B.第一行元素C.第三行元素 D.第三列元素6.已知a为3×3矩阵,则运行a (1)=[]后()。
A A.a变成行向量 B.a变为2行2列C.a变为3行2列 D.a变为2行3列7.在命令行窗口输入下列命令后,x的值是()。
B>> clear>> x=i*jA.不确定 B.-1 C.1 D.i*j 8.fix(354/100)+mod(354,10)*10的值是()。
D A.34 B.354 C.453 D.439.下列语句中错误的是()。
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的元素个数是()。
A A.9 B.11 C.7 D.1813.eval('sqrt(4)+2')的值是()。
MATLAB数据及其运算_习题答案
第2章M A T L A B数据及其运算_习题答案(总3页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--第2章 MATLAB数据及其运算习题2一、选择题1.下列可作为MATLAB合法变量名的是()。
D A.合计 B.123 C.@h D.xyz_2a 2.下列数值数据表示中错误的是()。
CA.+10 B. C.2e D.2i3.使用语句t=0:7生成的是()个元素的向量。
A A.8 B.7 C.6 D.54.执行语句A=[1,2,3;4,5,6]后,A(3)的值是()。
B A.1 B.2 C.3 D.4 5.已知a为3×3矩阵,则a(:,end)是指()。
D A.所有元素 B.第一行元素C.第三行元素 D.第三列元素6.已知a为3×3矩阵,则运行a (1)=[]后()。
A A.a变成行向量 B.a变为2行2列C.a变为3行2列 D.a变为2行3列7.在命令行窗口输入下列命令后,x的值是()。
B>> clear>> x=i*jA.不确定 B.-1 C.1 D.i*j 8.fix(354/100)+mod(354,10)*10的值是()。
D A.34 B.354 C.453 D.439.下列语句中错误的是()。
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的元素个数是()。
A A.9 B.11 C.7 D.1813.eval('sqrt(4)+2')的值是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2章习题参考答案
1.创建double的变量,并进行计算。
(1)a=87,b=190,计算a+b、a-b、a*b。
(2) 创建uint8 类型的变量,数值与(1)中相同,进行相同的计算。
参考答案:
(1)
>> a=87
a =
87
>> b=190
b =
190
>> a+b
ans =
277
>> a-b
ans =
-103
>> a*b
ans =
16530
(2)
>> c=uint8(87)
c =
87
>> d=uint8(190)
d =
190
>> c+d
ans =
255
>> c-d
ans =
>> c*d
ans =
255
2.计算:
(1) ()
sin60
(2) e3
(3) 3cos 4⎛⎫π ⎪⎝⎭
参考答案:
(1)
>> sind(60)
ans =
0.8660
(2)
>> exp(3)
ans =
20.0855
(3)
>> cos(3*pi/4)
ans =
-0.7071
3.设2u =,3v =,计算: (1) 4log uv v
(2)
()22e u v v u +-
(3) 参考答案:
(1)
>> u=2;
>> v=3;
>> 4*u*v/log(v)
ans =
21.8457
(2)
>> (exp(u)+v)^2/(v^2-u)
ans =
15.4189
(3)
>> sqrt(u-3*v)/(u*v)
ans =
0 + 0.4410i
4.计算如下表达式:
(1) ()()
i i
-+
3542
(2) ()
-
sin28i
参考答案:
(1)
>> (3-5*i)*(4+2*i)
ans =
22.0000 -14.0000i
(2)
>> sin(2-8*i)
ans =
1.3553e+03 + 6.2026e+02i
5.判断下面语句的运算结果。
(1)4 < 20
(2)4 <= 20
(3)4 == 20
(4)4 ~= 20
(5)'b'<'B'
参考答案:
(1)
>> 4<20
ans =
1
(2)
>> 4<=20
ans =
1
(3)
>> 4==20
ans =
(4)
>> 4~=20
ans =
1
(5)
>> 'b'<'B'
6.设39a =,58b =,3c =,7d =,判断下面表达式的值。
(1) a b >
(2) a c <
(3) &&a b b c >>
(4) a d ==
(5) |a b c >
(6) ~~d
参考答案:
(1)
>> a=39;
>> b=58;
>> c=3;
>> d=7;
>> a>b
ans =
(2)
>> a<c
ans =
(3)
>> a>b&&b>c
ans =
(4)
>> a==d
ans =
(5)
>> a|b>c
ans =
1
(6)
>> ~~d
ans =
7.编写脚本,计算上面第2题中的表达式。
脚本文件内容为:
disp('sin(60)=');
disp(sind(60));
disp('exp(3)=');
disp(exp(3));
disp('cos(3*pi/4)=');
disp(cos(3*pi/4));
8.编写脚本,输出上面第6题中的表达式的值。
脚本文件内容为:
a=39;
b=58;
c=3;
d=7;
disp('a>b'),disp(a>b);
disp('a<c'),disp(a<c);
disp('a>b&&b>c'),disp(a>b&&b>c)
disp('a==d'),disp(a==d);
disp('a|b>c'),disp(a|b>c);
disp('~~d'),disp(~~d);。