matlab1-8章课后作业(共29页)_第1页
matlab1-8章课后作业(共29页)_第2页
matlab1-8章课后作业(共29页)_第3页
matlab1-8章课后作业(共29页)_第4页
matlab1-8章课后作业(共29页)_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 MATLAB基础教程 18章作业Matlab第一章1.阐述Matlab的功能Matlab作为一种高级计算软件,是进行算法开发、数据可视化、数据分析以及数值计算的交互式应用开发环境,已被广泛应用于不同领域。Matlab的基本功能包括:数学计算功能、图形化显示功能、M语言编程功能、编译功能、图形用户界面开发功能、Simulink建模仿真功能、自动代码生成功能。Matlab第二章1创建double的变量,并进行计算。(1) a=87,b=190,计算 a+b、a-b、a*b。(2)创建 uint8 类型的变量,数值与(1)中相同,进行相同的计算。 a=87,b=190a = 87b = 190 a

2、+bans = 277 a-bans = -103 a*bans = 16530 c=uint8(87), d=uint8(190)c = 87d = 190 c+dans = 255 c-dans = 0 c*dans = 2552.计算(1)sin(60) (2)e3(3)cos(3/4) sind(60)ans = 0.8660 exp(3)ans = 20.0855 cos(3*pi/4)ans = -0.70713.设u=2,v=3,计算:(1) (2) (3) u=2; v=3; 4*u*v/log(v)ans = 21.8457 (exp(u)+v)2/(v2-u)ans = 1

3、5.4189 sqrt(u-3*v)/(u*v)ans = 0 + 0.4410i4.计算如下表达式:(1) (2) (3-5*i)*(4+2*i)ans = 22.0000 -14.0000i sin(2-8*i)ans = 1.3553e+003 +6.2026e+002i5.判断下面语句的运算结果。(1) 4 20(2) 4 = 20(3) 4 = 20(4) 4 = 20(5) b 4 4 4=20ans = 0 4=20ans = 1 bb(2)ab&bc(4)a=d(5)a|bc(6)d a=39,b=58,c=3,d=7a = 39b = 58c = 3d = 7 abans =

4、 0 a ab&bcans = 0 a=dans = 0 a|bcans = 1 dans = 17.编写脚本,计算上面第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(ab),disp(ab);disp(ac),disp(ab&bc),disp(ab&bc)disp(a=d),disp(a=d);disp(a|b

5、c),disp(a|bc);disp(d),disp(d);Matlab第三章1.在命令提示符下输入以下两条命令: x = 9 3 0 6 3 y = mod(sqrt(length(x+5).*1 2 3 4 5)*5),3)求y值为多少?x = 9 3 0 6 3y = 22.在MATLAB中运行以下命令:a = 3, 7, 2, 7, 9, 3, 4, 1, 6;b = 7;a(4) = ;vec1 = a=b;vec2 = mod(a,2)=0;c = sum(vec1);vec3 = vec1+vec2;d = vec3.*a;vec4 = find(a 5);e = a(vec4)

6、 + 5;vec5 = find(a cc = 1 dd = 0 7 2 0 0 4 0 6 ee = 12 14 11 ff = 1 9 25 36 493.向量操作时Matlab的主要部分,使用给出的向量来做下面的练习.Vec=4 5 2 8 4 7 2 64 2 57 2 45 7 43 2 5 7 3 3 6253 3 4 3 0 -65 -343(1)创建一个新的向量vecR,使其成为vec的转置.(2)创建一个新的向量vecB,使其成为vec前半部分与后半部分对换的结果.(3)创建一个新的向量vecS,使其包含vec中所有小于45的元素,且按vec中的顺序排列.(4)创建一个新的向

7、量vec3R,使其从vec中最后一个元素开始,间隔3个元素取一个元素,直到第一个元素为止.(5)创建一个新的向量vecN,使其包含vec中所有等于2或4 的元素的索引值.(6)创建一个新的向量vecG,使其包含vec中去掉索引值为奇数且取值为2或4的元素后的所有元素. vecR=vecvecR = 4 5 2 8 4 7 2 64 2 57 2 45 7 43 2 5 7 3 3 6253 3 4 3 0 -65 -34 vec1=vec(1:13)vec1 = 4 5 2 8 4 7 2 64 2 57 2 45 7 vec2=vec(14:26)vec2 = Columns 1 throu

8、gh 8 43 2 5 7 3 3 6253 3 Columns 9 through 13 4 3 0 -65 -34 vecB=vec2 vec1vecB = Columns 1 through 8 43 2 5 7 3 3 6253 3 Columns 9 through 16 4 3 0 -65 -34 4 5 2 Columns 17 through 24 8 4 7 2 64 2 57 2 Columns 25 through 26 45 7 small=vec vecS=vec(small)vecS = Columns 1 through 17 4 5 2 8 4 7 2 2 2

9、7 43 2 5 7 3 3 3 Columns 18 through 22 4 3 0 -65 -34 vec3R=vec(end:-3:1)vec3R = Columns 1 through 8 -34 3 6253 7 43 2 64 4 Column 9 5 vecN=find(vec=2|vec=4)vecN = 1 3 5 7 9 11 15 22 value=vecN(find(mod(vecN,2)value = 1 3 5 7 9 11 15 vec(value)=0vec = Columns 1 through 8 0 5 0 8 0 7 0 64 Columns 9 th

10、rough 16 0 57 0 45 7 43 0 5 Columns 17 through 24 7 3 3 6253 3 4 3 0 Columns 25 through 26 -65 -34 vec(vec=0)=vec = Columns 1 through 8 5 8 7 64 57 45 7 43 Columns 9 through 16 5 7 3 3 6253 3 4 3 Columns 17 through 18 -65 -34 vecG=vecvecG = Columns 1 through 8 5 8 7 64 57 45 7 43 Columns 9 through 1

11、6 5 7 3 3 6253 3 4 3 Columns 17 through 18 -65 -344.给定一下3个向量:nums1=7 1 3 5 32 12 1 99 10 24nums2=54 1 456 9 20 45 48 72 61 32 10 94 11nums3=44 11 25 41 84 77 998 85 2 3 15编写脚本文件创建相应的3个向量,newNum1、newNum2、newNum3,分别包含以上3个向量中从第一个元素开始且间隔取值的元素。%取向量索引为奇数的值clearclcnums1=7 1 3 5 32 12 1 99 10 24;nums2=54 1

12、456 9 20 45 48 72 61 32 10 94 11;nums3=44 11 25 41 84 77 998 85 2 3 15;x1=find(mod(find(nums1),2)=1);%向量1values1=nums1(x1);newNums1=values1;disp(nums1=);disp(nums1);disp(newNums1=);disp(newNums1);x2=find(mod(find(nums2),2)=1);%向量2values2=nums2(x2);newNums2=values2;disp(nums2=);disp(nums2);disp(newNu

13、ms2=);disp(newNums2);x3=find(mod(find(nums3),2)=1);%向量3values3=nums3(x3);newNums3=values3;disp(nums3=);disp(nums3);disp(newNums3=);disp(newNums3);Matlab第四章1. 有如下数据:X11.11.21.31.4y1.000001.233681.552711.993722.61170利用本章介绍的几种插值方法对其进行插值,得到每隔0.05的结果。%4种插值方法x=1 1.1 1.2 1.3 1.4; %x与y的值y=1.00000 1.23368 1.

14、55271 1.99372 2.61170;length_of_x=length(x);scalar_x=x(1):0.05:x(length_of_x);length_of_sx=length(scalar_x);for i=1:length_of_sx %定义4种方法 y_nearest(i)=interp1(x,y,scalar_x(i),nearest); y_liner(i)=interp1(x,y,scalar_x(i),liner); y_spline(i)=interp1(x,y,scalar_x(i),spline); y_cubic(i)=interp1(x,y,scala

15、r_x(i),cubic);endsubplot(2,2,1),plot(x,y,*),hold on,plot(scalar_x,y_nearest),title(nearest); %输出subplot(2,2,2),plot(x,y,*),hold on,plot(scalar_x,y_liner),title(linear);subplot(2,2,3),plot(x,y,*),hold on,plot(scalar_x,y_spline),title(spline);subplot(2,2,4),plot(x,y,*),hold on,plot(scalar_x,y_cubic),t

16、itle(cubic);2. 2. 求下列函数的解,并绘制图形。(1) y=ex-x5,初始点为x=8.(2) y=xsin(x) y=(x)exp(x)-x5; x=fzero(y,8)x = 12.7132 fplot(y,10,14); hold on plot(x,y(x),r*)y=(x)x*sin(x); x=fzero(y,0)x = 03.求下列函数的极值。(1) z=x2-(y-1)2(2) z=(x-y+1)2 z=(x)x(1)2-(x(2)-1)2; x,fvalue=fminsearch(z,-1,1) Exiting: Maximum number of funct

17、ion evaluations has been exceeded - increase MaxFunEvals option. Current function value: -29278786696692084000000000000000000000000000000000000000000000000000000000000000000000.000000 x = 1.0e+043 * 1.1138 1.2383fvalue = -2.9279e+085 z = (x)(x(1)-x(2)+1)2; x,fvalue=fminsearch(z,-1,1)x = -1.2073 -0.2

18、073fvalue = 1.9045e-0224.计算下列积分。(1) (2) f = (x)x+x.3+x.5; q = quad(f,-1,1)q = 2.2204e-016 f= (x,y)sin(y).*(x+y)./(x.2+4); q = dblquad(f,1,10,1,10)q =5.5254Matlab第五章1.编制一个脚本,查找给定字符串中指定字符出现的次数和位置.%查找给定字符串中指定字符出现的次数和位置 letter=a; %指定字符string=I have a long string; %给定字符串places=findstr(string,letter); %位置

19、times=length(places); %次数disp(places are :);disp(places);disp(times are :);disp(times);2.编写一个脚本,判断输入字符串中每个单词的首字母是否为大写,若不是则将其修改为大写,其他字母为小写.%将每个单词首字母变为大写 str = I have a long string;disp(str);nlength = length(str);for k=1:nlength if (k=1 | isspace(str(k-1) & (str(k)=a) str(k) = char(double(str(k) - 32)

20、; endenddisp(str);3.创建 22 单元数组,第 1、2 个元素为字符串,第三个元素为整型变量,第四个元素为双精度(double)类型,并将其用图形表示. A=cell(2,2)A = A(1,1)=string1; A(1,2)=string2; A(2,1)=uint8(100); A(2,2)=double(60); cellplot(A)4.创建一个结构体,用于统计学生的情况,包括学生的姓名、学号、各科成绩等。然后使用该结构体对一个班级的学生成绩进行管理,如计算总分、平均分、排列名次等. student=struct(name,Ann,Bob,Cilly,number,

21、1,2,3,grade,90,60,85)student = 1x3 struct array with fields: name number grade student(1)ans = name: Ann number: 1 grade: 90 student(2)ans = name: Bob number: 2 grade: 60 student(3)ans = name: Cilly number: 3 grade: 85 total=student(1).grade+student(2).grade+student(3).gradetotal = 235 average=total

22、/3average = 78.3333 new,index=sort(student.grade,descend)new = 90 85 60index = 1 3 2Matlab第六章1.假设x = -3, 0, 0, 2, 5, 8且y = -5, -2,0, 3, 4, 10。通过手算得到以下运算的结果,并使用MATLAB检验计算的结果。(1) z = y x = -3, 0, 0, 2, 5, 8x = -3 0 0 2 5 8 y = -5, -2,0, 3, 4, 10y = -5 -2 0 3 4 10 z1 = y z2 = x&yz2 = 1 0 0 1 1 1 z3 = x

23、|yz3 = 1 1 0 1 1 1 z4 = xor(x,y)z4 = 0 1 0 0 0 02. 在MATLAB中使用一个循环确定:如果用户最初在一个银行帐户中存储$10000,并且在每年的年终再存储$10000(银行每年支付6%的利息),那么账户上要积累$1000000要需要多长时间。%银行存款计算 a=10000;%本金b=10000;%每年新增存款sum=0;%存款总和i=1;sum=sum+a;while sum s=50556070707580809055s = 50 55 60 70 70 75 80 80 90 55 for i=2:1:10p(i)=s(i-1);end p

24、p = 0 50 55 60 70 70 75 80 80 90 l=50 0 0 0 0 0 0 0 0 0l =50 0 0 0 0 0 0 0 0 0 for n=2:1:10l(n)=l(n-1)+p(n)-s(n);end ll =50 45 40 30 30 25 20 20 10 45 l=30 0 0 0 0 0 0 0 0 0l = 30 0 0 0 0 0 0 0 0 0 for n=2:1:10l(n)=l(n-1)+p(n)-s(n);end ll = 30 25 20 10 10 5 0 0 -10 25周12345库存量(1)5050454030库存量(2)3025

25、202010周678910库存量(1)3030252010库存量(2)10500( f = sym(sin(x)+x);2.计算习题1中表达式在处的值,并将结果设置为以下 5 种精度:小数点之后 1 位、2 位、5 位、10位和20位有效数字。 digits(2) vpa(subs(f,pi/6)ans =1.0 digits(3) vpa(subs(f,pi/6)ans =1.02 digits(6) vpa(subs(f,pi/6)ans =1.0236 digits(11) vpa(subs(f,pi/6)ans =1.0235987756 digits(21) vpa(subs(f,p

26、i/6)ans =1.023598775598298704643.设x为符号变量,f(x)=x4+x2+1,g(x)=x3+4x2+5x+8,试进行如下运算:(1)f(x)+g(x)(2)f(x)*g(x)(3)求g(x)的反函数(4)求g以f(x)为自变量的复合函数 f = sym(x4 + x2 + 1);g = sym(x3 + 4*x2 + 5*x + 8); f+gans =x4 + x3 + 5*x2 + 5*x + 9 f*gans =(x4 + x2 + 1)*(x3 + 4*x2 + 5*x + 8) finverse(g)Warning: Functional invers

27、e is not unique. In D:Program FilesMATLABR2011atoolboxsymbolicsymbolicsymengine.psymengine at 52 In sym.finverse at 41ans =1/(9*(x/2 + (x/2 - 82/27)2 - 1/729)(1/2) - 82/27)(1/3) + (x/2 + (x/2 - 82/27)2 - 1/729)(1/2) - 82/27)(1/3) - 4/3 syms x compose(g,f,x)ans =4*(x4 + x2 + 1)2 + (x4 + x2 + 1)3 + 5*

28、x2 + 5*x4 + 134.合并同类项(1)3x-2x2+5+3x3-2x-5(2)2x2-3xy+y2-2xy-2x2+5xy-2y+1 f = sym(3*x - 2*x2 + 5 + 3*x2 - 2*x -5); collect(f)ans =x2 + x f = sym(2*x2 - 3*x*y + y2 - 2*x*y - 2*x2 + 5*x*y - 2*y + 1); collect(f)ans =y2 - 2*y + 15.因式分解(1)7798666进行因数分解,分解为素数乘积的形式(2)-2m8+512(3)3a2(x-y)2-4b2(y-x)2 sym 779866

29、ans =779866 factor(779866)ans = 2 149 2617 f=sym(-2*m8+512)f =512 - 2*m8 factor(f)ans =-2*(m - 2)*(m + 2)*(m2 + 4)*(m4 + 16) g=sym(3*a3*(x-y)3-4*b2*(y-x)2)g =3*a3*(x - y)3 - 4*b2*(x - y)2 factor(g)ans =(x - y)2*(3*a3*x - 3*a3*y - 4*b2)6.绘制下列函数的图像(1),(2), f=sym(sin(x)+x2)f =sin(x) + x2 ezplot(f,0,2*p

30、i) g=sym(x3 + 2*x2 + 1)g =x3 + 2*x2 + 1 ezplot(g,-2,2)7. 计算下列各式(1)(2),求(3),求,(4), limit(sym(tan(x)-sin(x)/(1-cos(2*x)ans =0 y=sym(x3-2*x2+sin(x)y =sin(x) - 2*x2 + x3 diff(y)ans =cos(x) - 4*x + 3*x2 f=sym(x*y*log(x+y)f =x*y*log(x + y) diff(f,x)ans =y*log(x + y) + (x*y)/(x + y) diff(f,y)ans =x*log(x +

31、 y) + (x*y)/(x + y) y=sym(ln(1+t)y =log(t + 1) int(y)ans =(log(t + 1) - 1)*(t + 1) int(y,0,27)ans =28*log(28) - 278计算下列各式(1)(2)(3)在 0 附近的Taylor 展开 symsum(sym(3/n)n),1,inf)ans =sum(3n/nn, n = 1.Inf) symsum(sym(2n*sin(pi/(3n),1,inf)ans =sum(2n*sin(pi/3n), n = 1.Inf) taylor(sym(sin(x)ans =x5/120 - x3/6

32、 + x9.求解线性方程组 x,y = solve(sym(2*x+3*y=1),sym(3*x+2*y=-1)x =-1y =110.对符号表达式z=xe-x2-y2,进行如下变换(1)关于的傅立叶变换(2)关于的拉普拉斯变换(3)分别关于和的 Z 变换 syms x y z=x*exp(-(x2)+y2)z =x*exp(y2 - x2) syms u v fourier(z,x,u)ans =-(pi(1/2)*u*exp(y2 - u2/4)*i)/2 laplace(z,y,v)ans =x*laplace(exp(y2 - x2), y, v) ztrans(z,y,v)ans =x*ztran

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论