1、MATLAB实习报告1.求f(x)=4x6-x+x3-95在(0,100)上最大值、最小值,根。(使用函数fminbnd、roots)。程序: syms x f=4*x.6+x.3-x-95;x1=fminbnd( f ,0,100)x2=fminbnd(-4*x.6-x.3+x+95,0,100)x=x1;minf = eval(f)x=x2;maxf = eval(f)p=4 0 0 1 0 -1 -95;x=roots(p)结果:x1 = 0.4432x2 =99.9999minf =-95.3258maxf = 4.0000e+012x =1.6860 0.8525 + 1.4852i
2、 0.8525 - 1.4852i -1.7050 -0.8431 + 1.4514i -0.8431 - 1.4514i2.求解常微分方程x=-x+x+1,x(0)=1,x(0)=0(使用函数dsolve)。程序:y=dsolve(D2x=-Dx+x+1,Dx(0)=0,x(0)=0)结果:y =exp(1/2*(5(1/2)-1)*t)*(1/10*5(1/2)+1/2)+exp(-1/2*(5(1/2)+1)*t)*(-1/10*5(1/2)+1/2)-1 3已知t=an2+bn,测得对应数据如下:(多项式插值interp1)t=0,20,40,60,80,100,120,140,160
3、,183.5;n=0,1153,2045,2800,3466,4068,4621,5135,5619,6152;试求a和b的值。程序:n=0,1153,2045,2800,3466,4068,4621,5135,5619,6152;t=0,20,40,60,80,100,120,140,160,183.5;A=polyfit(n,t,2);a=A(1),b=A(2)结果:a =2.5083e-006b =0.01444请用梯形法、辛普森法分别计算积分值 (trapz、quad)程序:F = (x)sqrt(x.2+x+1);Q = quad(F,0,1)x=0:0.01:1;y=sqrt(x.
4、2+x+1);q=trapz(x,y)结果:Q =1.3369q = 1.33695计算二重积分 (使用函数dblquad)程序:F = (x,y)x.2+y.2+x*y+2*x+y+1;Q = dblquad(F,0,2,0,1)结果:Q =11.33336矩阵M=1,2,6; 4,2,7; 8,9,3,求M的LU分解,QR分解,对角阵,特征值分解。(使用函数lu、qr、shol、eig)程序:A=1 2 3;4 5 6;7 8 9;L U=lu(a)Q R=qr(a)X D=eig(a)结果:L =1U =2.5083e-006Q =1R =2.5083e-006X =1D =2.5083
5、e-0067 .a=3,A=4,b=a2,B=b2-1,c=a+A-2B,C=a+B+2c,求C。(使用函数solve)程序:D=solve(a=3,A=4,b=a2,B=b2-1,c=a+A-2*B,C=a+B+2*c);C=D.C结果:C =-2238用两种方法求解Ax=b的解。(A为四阶随机矩阵,b为四阶向量,自己创建)。程序:A=fix(50*rand(4) B=fix(50*rand(4,1) if det(A)=0 x=AB X=inv(A)*B else C=B; D=A C rref(B) end结果:A = 47 44 41 46 11 38 22 36 30 22 30 8
6、 24 0 39 20B =46 45 20 44x =-0.8583 0.0430 1.3169 0.6621X =-0.8583 0.0430 1.3169 0.6621 9,用两种方法求函数的根,并求其极值与零点。程序:y1=x.3+(x-0.8).2/(x+1.25).3-5*(x+1/x);ezplot(y1,-100,100)xmin,ymin=fminbnd(y1,0,60);yminy2=-x.3-(x-0.8).2/(x+1.25).3+5*(x+1/x);xmax,y=fminbnd(y2,-50,-20);ymax=-y结果:ymin =-1.1489e+005ymax
7、=-7.8999e+00310、f(x)的定义如下:,写一个matlab函数func1实现该函数。程序:function y=hs(x)x=input(请输入x值:x=);if x=0&x realmax。程序:n=1;while prod(1:n)1000, 在(xk, yk) 处亮一点(注意不要连线)可得所谓Henon引力线图。程序:x(1)=0; y(1)=0;for k=1:3000 x(k+1)=1+y(k)-1.4*x(k)2; y(k+1)=0.3*x(k);endplot(x(1001:3001),y(1001:3001),.);结果: 20某公司投资2000万元建成一条生产线
8、。投产后,在时刻t 的追加成本和追加收益分别为G(t)= (百万元/年), H(t)= (百万元/年)。试确定该生产线在合适何时停产可获最大利润?最大利润是多少?要求:写出数学模型、M函数(如果需要的话)、运算命令和计算结果。程序:fplot(18-t(2/3) ,0,20); grid on;hold on;fplot(5+t+2*t(2/3),0,20,r); hold off;t,f,h=fsolve(18-x(2/3)-5-x-2*x(2/3),4)t=linspace(0,t,100); y=18-t.(2/3)-5-t-2*t.(2/3);trapz(t,y)-20 结果:t =4
9、.6465f =1.1458e-013h = 1ans =6.323221 .一幢楼房的后面是一个很大的花园。在花园中紧靠着楼房建有一个温室,温室高10英尺,延伸进花园7尺。清洁工要打扫温室上方的楼房的窗户。他只有借助于梯子,一头放在花园中,一头靠在楼房的墙上,攀援上去进行工作。他只有一架20米长的梯子,你认为他能否成功?能满足要求的梯子的最小长度是多少?步骤: 1先进行问题分析,明确问题;2建立模型,并运用Matlab函数求解;3对结果进行分析说明;4设计程序画出图形,对问题进行直观的分析和了解(主要用画线函数plot,line)程序:syms xa=7;b=10;L=a/cos(x)+b/
10、sin(x);L1=diff(L,x)s=solve(char(L1),=0,x)vpa(s)x=0.8447,Lmin=eval(L)结果:L1 =7/cos(x)2*sin(x)-10/sin(x)2*cos(x) s = atan(1/7*490(1/3) -atan(1/14*490(1/3)-1/14*i*3(1/2)*490(1/3) -atan(1/14*490(1/3)+1/14*i*3(1/2)*490(1/3) ans = .0082 -.7521+.5832*i -.7521-.5832*ix = 0.8447Lmin = 23.915922某大学青年教师从31岁开始建立
11、自己的养老基金,他把已有的积蓄10000元也一次性地存入,已知月利率为0.001(以复利计),每月存入700元,试问当他60岁退休时,他的退休基金有多少?又若,他退休后每月要从银行提取1000元,试问多少年后他的基金将用完?程序:function y=tsum(interest,principal,time,acknowl,basicmoney) tsum=0; for i=1:time sum=(1+interest)i; tsum=tsum+sum; end tsum=principal*tsum+basicmoney*(1+interest)time i=1; tsum1=(tsum-a
12、cknowl)*(1+interest); while(tsum1=1000) tsum1=(tsum1-acknowl)*(1+interest); i=i+1; end y=i/12;end 结果:tsum =3.1778e+005ans =31.833329请设计一个程序,程序完成下列功能:(1)让用户输入一个矩阵A;(2)在A中找出小于0的矩阵元素的位置;(3)在A中统计出等于0的元素的个数;(4)显示A的行数和列数;(5)找出矩阵A各元素中的最大值(显示值,不显示元素位置)。程序:A=input(A:A=);n=0;MAX=A(1,1);p q=size(A);for i=1:p f
13、or j=1:q k=A(i,j); if k0 k=A(i,j),disp(i),disp(j) end if k=0 n=n+1; end if MAXl2 disp(s1s2) else disp(s1s2) ende=strncmp(s1,s2,3); if e=0 disp(没有)else disp(有)end 结果:字符1:asdfgedf字符2:asdfwedsfgers1N disp(High) end if xA(i,3) A(i,1) end k=k+A(i,3)/A(i,2);endaverage1=m/3average2=n/3nk/3结果:ans = 2004ans
14、= 2005ans = 2006average1 = 108average2 = 100.3333n = 301ans = 0.930735 使用randn产生一个10x10的矩阵A(1)计算B=(A+A)/2。请注意,B一定是一个对称矩阵(2)计算矩阵B的特征向量e1 e2 e10(使用函数eig)(3)验证在i不等于j的情况下,ei和ej的积必定为0程序:A=rand(10,10)B=(A+A)/2s f=eig(A);Sfor i=1:10 for j=1:10 if i=j dot(f(i),f(j) end endend 结果:A = Columns 1 through 7 0.58
15、28 0.2091 0.4154 0.2140 0.6833 0.4514 0.6085 0.4235 0.3798 0.3050 0.6435 0.2126 0.0439 0.0158 0.5155 0.7833 0.8744 0.3200 0.8392 0.0272 0.0164 0.3340 0.6808 0.0150 0.9601 0.6288 0.3127 0.1901 0.4329 0.4611 0.7680 0.7266 0.1338 0.0129 0.5869 0.2259 0.5678 0.9708 0.4120 0.2071 0.3840 0.0576 0.5798 0.7
16、942 0.9901 0.7446 0.6072 0.6831 0.3676 0.7604 0.0592 0.7889 0.2679 0.6299 0.0928 0.6315 0.5298 0.6029 0.4387 0.4399 0.3705 0.0353 0.7176 0.6405 0.0503 0.4983 0.9334 0.5751 0.6124 0.6927 Columns 8 through 10 0.0841 0.1210 0.2319 0.4544 0.4508 0.2393 0.4418 0.7159 0.0498 0.3533 0.8928 0.0784 0.1536 0.2731 0.6408 0.6756 0.2548 0.1909 0.6992 0.8656 0.8439 0.7275 0.2324 0.1739
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1