69344-应用数学-习题参考答案_第1页
69344-应用数学-习题参考答案_第2页
69344-应用数学-习题参考答案_第3页
69344-应用数学-习题参考答案_第4页
69344-应用数学-习题参考答案_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

第一章1.1.4[练手题]答案,;1.2.3[练手题]答案...1.3.3[练手题]答案...1.4.4[练手题]答案1.连续.2.连续.3.1.6[章末习题]答案1.填空题(1);(2);(3)(4)(5)(6).(7).(8)存在.(9)一定.(10)间断点.2.计算题(1)(2);;.(3).(4).(5),.(6);;;;.(7).(8).(9).(10).(11)①;②;③;④;⑤;⑥;⑦;⑧;⑨.(12),.(13),.(14).(15)连续区间为:,,;,,;间断点为:(第一类间断点)及(第二类间断点)(16).(17)=1\*GB3①;=2\*GB3②;=3\*GB3③.④;⑤;(18)=1\*GB3①(无穷间断点),(可去间断点);=2\*GB3②(可去间断点);(为整数)(第二类间断点).(19).(20)提示:考虑函数在内的根.3.应用题(1)(2)=1\*GB3①;=2\*GB3②.(3)=1\*GB3①;=2\*GB3②,即11月13日新感染人数最多为630人.(4)=1\*GB3①;=2\*GB3②投资1~6天时,可以考虑选择方案一;投资7天,可以考虑选择方案一或二;投资8~10天,可以考虑选择方案二;投资11天以上,可以考虑选择方案三.(5).(6)为的第一类间断点,且为的跳跃间断点.(7).第二章2.1.3[练手题]答案1..2..3.,.2.2.4[练手题]答案....2.3.4[练手题]答案1.,.2.,,.3.4.5.,.2.4.4[练手题]答案1..2..3..4..5..2.5.3[练手题]答案1..2..3..4..5..2.6.4[练手题]答案1..2..3..4..2.7.5[练手题]答案1.不是.2.二.3..4..2.9[章末习题]答案1.填空题(1),,.(2).(3).(4).(5)(6).(7)(8)(9),.(10),.(11),.(12).(13).(14);.(15).(16).(17).(18).(19).(20).(21)=1\*GB3①;②.(22)=1\*GB3①;②.(23)二.(24)五.(25),.(26)不是,通.2.计算题(1).(2).(3).(4),,.(5),.(6)=1\*GB3①;=2\*GB3②;=3\*GB3③.(7)=1\*GB3①.=2\*GB3②.=3\*GB3③(8)(9)(10)(11)*.(12)*.(13)*.(14)=1\*GB3①;=2\*GB3②;=3\*GB3③;=4\*GB3④.(15)=1\*GB3①;=2\*GB3②;=3\*GB3③;=4\*GB3④.(16)单调增加区间为、,单调减少区间为.(17)当时,极小值为.(18)凸区间为,凹区间为,拐点为(19)=1\*GB3①;=2\*GB3②;=3\*GB3③;=4\*GB3④;=5\*GB3⑤;=6\*GB3⑥.(20).(21).(22).(23).(24).(25).(26).(27).(28).(29).(30).(31).(32).(33)=1\*GB3①;②;=3\*GB3③;=4\*GB3④.(34)=1\*GB3①;②;=3\*GB3③;=4\*GB3④.(35)*=1\*GB3①;②.(36)*=1\*GB3①;②.(37)=1\*GB3①;=2\*GB3②;=3\*GB3③;=4\*GB3④;=5\*GB3⑤;=6\*GB3⑥.(38)=1\*GB3①;=2\*GB3②;=3\*GB3③.(39).3.应用题(1).(2).(3),.(4).(5),,.(6)所求矩形的底,高.(7).(8).(9).(10).(11).(12)=1\*GB3①;=2\*GB3②.(13).(14)=1\*GB3①;②.(15).(16).第三章3.1.5[练手题]答案1.、、.2.,,.3..4.,.5..3.2.5[练手题]答案1.1、2、2、-4.2.2、2、14.3..4.11.5..3.3.5[练手题]答案1..2.3..[练手题]答案1.不一定.2..3..4..3.5.4[练手题]答案1.,,.2.是,无穷多.3.无解.3.6.4[练手题]答案1.,相应的特征向量为,不为零;,相应的特征向量为,不为零.2.,相应的特征向量为,,不为零;,相应的特征向量为,不为零.3.9[章末习题]答案1.填空题(1).(2)(3)(4)(5)AB=BA.(6)1.(7).(8).(9)(10),(11),=.(12);.(13)且时,方程组有唯一解,当时,有无穷多解.(14)其中,,为任意常数.2.计算题(1),,,,,,.(2)=1\*GB3①,;=2\*GB3②,;=3\*GB3③.(3).(4).(5),.(6)=1\*GB3①线性相关;=2\*GB3②线性无关;=3\*GB3③线性相关.(7),.(8),.(9)=1\*GB3①,=2\*GB3②.(10).(11).(12)=1\*GB3①;=2\*GB3②;=3\*GB3③;=4\*GB3④;=5\*GB3⑤;=6\*GB3⑥522.(13)=1\*GB3①;=2\*GB3②.(14)=1\*GB3①;=2\*GB3②.(15).(16)=1\*GB3①;=2\*GB3②.(17)=1\*GB3①;=2\*GB3②;=3\*GB3③.(18)=1\*GB3①,,.(19).(20).(21)=1\*GB3①,其中,,为任意常数.=2\*GB3②,其中为任意常数.(22)且时,方程组相容.(23)=1\*GB3①,其中为任意常数;=2\*GB3②;=3\*GB3③无解.(24)=1\*GB3①,相应的特征向量为,不为零;,相应的特征向量为,不为零.=2\*GB3②,相应的特征向量为,,不为零;,相应的特征向量为,不为零.=3\*GB3③只有一个特征值,相应的特征向量为,不为零.=4\*GB3④只有一个特征值,相应的特征向量为,不为零.(25)=1\*GB3①,;=2\*GB3②,;=3\*GB3③,;=4\*GB3④,.3.应用题(1),.(2).(3)3个月后该企业的产品市场占有率是.(4).(5).第四章4.1.4[练手题]答案..,.,.4.2.3[练手题]答案1.,.2.,.3..4.3.3[练手题]答案(1).(2).(3).4.4.3[练手题]答案1.不是.2.极大值:.3.极大值:.4.极小值:.4.8[章末习题]答案1.填空题(1),.(2);;;.(3).(4).(5).(6).2.计算题(1)=1\*GB3①,;=2\*GB3②,.(2).(3),.(4)=1\*GB3①;=2\*GB3②;=3\*GB3③;=4\*GB3④.(5).(6)=1\*GB3①,;=2\*GB3②,,;=3\*GB3③,,;(7),,.(8)=1\*GB3①,;=2\*GB3②,.(9),.(10),.(11).(12).(13)grad,grad.(14)增加最快的方向为,方向导数为;减少最快的方向为,方向导数为.(15).(16)当两直角边都是时,可得最大的周长.(17)当长、宽都是,而高为时,水池的表面积最小.(18).(19)当矩形的边长分别为及时,绕短边旋转所得圆柱体的体积最大.(20)当长、宽、高都是时,可得最大的体积.(21)最大值为,最小值为.3.应用题(1)=1\*GB3①,;=2\*GB3②甲种产品边际利润,乙种产品边际利润.(2)kg.(3)切平面方程:.(4)=1\*GB3①.=2\*GB3②四个可能的极值点:由于,故可以作为攀岩的起点.(5)最热点在,最冷点在.(6)最热点在.第五章5.1.5[练手题]答案1..2..3.,,,,.4..5.2.6[练手题]答案1..2..3..4..5.3.9[练手题]答案1..2..3..5.4.6[练手题]答案.2.分布3.分布.[练手题]答案1.独立,代表,不大于.2.,.3.分布(标准正态分布).5.7[章末习题]答案1.填空题(1).(2).(3).(4).(5).(6),,,.(7).(8)Piosson.(9)(10)(11).(12).2.计算题(1).(2).(3).(4).(5).(6)=1\*GB3①;=2\*GB3②.(7)(8)(9)=1\*GB3①=2\*GB3②(10)=1\*GB3①;=2\*GB3②;=3\*GB3③;=4\*GB3④.(11)=1\*GB3①;=2\*GB3②;=3\*GB3③.(12).(13).(14).(15).(16).(17)=1\*GB3①;=2\*GB3②.(18)(19).(20)=1\*GB3①;=2\*GB3②(21)(22)(23).(24).(25).(26).(27)置信区间为.(28)拒绝假设,不合格.(29)有显著差异.3.应用题(1)=1\*GB3①;=2\*GB3②.(2).(3)(4).(5).(6).(7)=1\*GB3①;=2\*GB3②③分布列可表示为:01234数学期望为.(8).(9).(10).(11)接受假设,即认为这次考试考生的平均成绩为分.(12)①拒绝原假设,即认为这批螺丝的平均长度与设计要求存在显著差异,因此不符合设计要求;②执行右侧单边检验,在的显著性水平下,拒绝原假设,即认为有充分证据表明改进工艺后螺丝的平均长度有显著提高.第六章6.1.5[练手题]答案1.图形不唯一2.30.3.图(a)、(b)、(c)、(d)是同构的;图(e)、(f)、(g)、(h)是同构的.4.C5.(1)是通道,但不是迹和路;(2)是通道,但不是迹和路;(3)是通道、迹、路;(4)是通道,但不是迹和路;6.邻接矩阵A(D)=07.关联矩阵8.图形不唯一9.a-c-b,路长为4;a-c,路长为1;a-c-d,路长为5;a-c-d-e,路长为6;a-c-f,路长为4;a-d-c-g,路长为7..6.2.3[练手题]答案1.存在,其中一路线为1-6-3-8-4-7-2-5-9-6-11-8-12-7-10-9-11-12-10-5-1.2.图中a、b、c三个图形都能一笔画成.3.(a)是欧拉图、是哈密尔顿图;(b)既不是欧拉图也不是半欧拉图、是半哈密尔顿图;(c)是半欧拉图、是哈密尔顿图.6.3.3[练手题]答案1.9 2.103.(1)a,f,d,g;(2)c,e;(3)b,c;(4)e的兄弟是c,d,儿子是g;(5)2.4.相同,因为它们的根j5.先修(A,F),(F,B),(F,E),(E,G),(G,D),(G,C)公路,总费用为101亿元.6.5[章末习题]答案1.单选题1-5ABCBC6-10BCAAB11-15BADDA2.填空题1.平凡图;2.7;(2,2,2,3,3,4,4);3.是某条边的两个端点;无边关联4.G'G且G'≠G;G'⊆G且=V;5.10;6.n-1;m-k;n;m=1;7.4;16;v到u存在通路:G中任意两点都是连通;;;到长度为k的通路数;G的生成树:树枝;均为割边;G是连通图;k-1;-1;二叉树3.判断题1.x2.√3.√4.x5.x6.x7.x8.x9.√10.x11.√12.√4.计算题1.解(1)略(2)G中各点的度如下:d()=3,d()=4,d()=3,d()=3,d()=1,d()=0.奇数度顶点的个数为4.2.解:A到B的最短路径为AB,权为1;A到E的最短路径为ABE,权为3;A到F的最短路径为ABEF,权为4;A到C的最短路径为ABEFC,权为7:A到D的最短路径为ABEFCD,权为9.3.解:按克鲁斯卡尔算法,可得最小生成树:W(T)=3+4+7+10=24.4.解:在一个有限图中,各点的度数总和是边数的2信;而树中的边数为点数减1.根据这两点,可知树中各点的度数总和=2×(树中点数-1),设树叶有x个,于是,2×2+3+3×4+x=2×(2+1+3+x-1)得x=9.5.证明题1.证明:假设不成立,则G中所有顶点度数≤2,则G中所有顶点度数相加为2e≤2n,即2(n+1)≤2n,该式不成立因此,G中至少有一个顶点度数≥3.2.证明:设图的顶点数为n,则n个顶点的自补图边数为n(n-1)/4.而n与n-1一奇一偶,要使得它们能被4整除,则或者n被4整除,或者n-1被4整除,所以,自补图的顶点数不是4k就是4k+1.3.证明:反证法.若G不是连通图,则至少存在两个顶点a和b,他们之间没有路,又因为,每个顶点度数至少为n,设与a相邻的顶点为,,…,,与b相邻的顶点为,,...,则{,…,}∩{,…,}=∅,否则,若,则有通路(a,,b),与假设矛盾,因为{,…,}∩{,…,}=∅,所以|v|≥|{,…,}|+|{,…,}|+|{a,b}|=2n+2,与G至多有2n个顶点矛盾。若简单图G至多有2n个顶点,每个顶点度数至少为n-1,则G不一定是连通图,如下图所示,图中有6个顶点(即n≡3),每个顶点度数为2,但不连通.4.略第七章7.1.4[练手题]答案1.给定两个变量a与b,要求不使用临时变量仅使用算术运算符把它们的值互换.Python代码:a,b=3,7a=a+b;b=a-b;a=a-bprint(a,b)#期望输出732.给定三个互不相等的整数a,b,c,不用排序(max/min),用基本比较运算符(<、>等),求出它们的中位数.Python代码:a=3;b=9;c=5median=a+b+c-max(a,b,c)-min(a,b,c)3.从1数到n,如果是3的倍数就打印"Boom",否则直接打印数字.要求用for循环完成.Python代码:n=10foriinrange(1,n+1):print("Boom"ifi%3==0elsei,end='')4.写一个函数print_table99(),用双重for循环打印标准1~9的乘法口诀表.Python代码:defprint_table99():foriinrange(1,10):forjinrange(1,i+1):print(f"{j}×{i}={i*j:2d}",end='')print()5.猜数字小游戏.写一个函数guess_number(secret),参数是1~100的整数.在函数里用whileTrue循环读取玩家输入(int(input())),直到猜中为止:猜大了打印"Toobig"猜小了打印"Toosmall"猜中时打印"Bingo"并结束循环。示例交互(secret=42):50Toobig30Toosmall42BingoPython代码:defguess_number(secret):whileTrue:g=int(input())ifg>secret:print("Toobig")elifg<secret:print("Toosmall")else:print("Bingo")break7.2.6[练手题]答案1、一元微积分实验1.用python画函数在区间的图像,并标出轴范围.Python代码:#通用导入importsympyasspimportnumpyasnpimportmatplotlib.pyplotaspltx,y,k=sp.symbols('xyk',real=True)f=x**3-6*x**2+9*x+1sp.plot(f,(x,-2,5),ylim=(-10,10),title='f(x)=x³-6x²+9x+1')2.用python画函数在区间的图像,并在处用红色虚线标出.Python代码:#通用导入importsympyasspimportnumpyasnpimportmatplotlib.pyplotaspltx,y,k=sp.symbols('xyk',real=True)f=sp.sin(x)/xp=sp.plot(f,(x,-3*sp.pi,3*sp.pi),show=False,line_color='b')p.show()#手动加红虚线plt.axhline(1,color='r',linestyle='--');plt.show()3.用python.求极限和Python代码:#通用导入importsympyasspimportnumpyasnpimportmatplotlib.pyplotaspltx,y,k=sp.symbols('xyk',real=True)f=(x**2-3*x+2)/(x**2-4*x+3)lim1=sp.limit(f,x,1)lim2=sp.limit(f,x,sp.oo)4.用python求函数的导数.Python代码:#通用导入importsympyasspimportnumpyasnpimportmatplotlib.pyplotaspltx,y,k=sp.symbols('xyk',real=True)f=sp.ln(x)*sp.cos(x)sp.diff(f,x)#→cos(x)/x-log(x)*sin(x)5.用python求函数的5阶导数.Python代码:#通用导入importsympyasspimportnumpyasnpimportmatplotlib.pyplotaspltx,y,k=sp.symbols('xyk',real=True)f=sp.exp(2*x)*sp.sin(3*x)sp.diff(f,x,5).simplify()6.用python求积分和.Python代码:#通用导入importsympyasspimportnumpyasnpimportmatplotlib.pyplotaspltx,y,k=sp.symbols('xyk',real=True)#计算不定积分indefinite_integral=egrate(x*sp.exp(x**2),x)#计算定积分definite_integral=egrate(x*sp.sin(x),(x,0,sp.pi))2、线性代数实验1.,Python代码:importnumpyasnp#定义矩阵A=np.array([[2,1,1],[3,0,1],[2,7,2]])#假设为3x3矩阵B=np.array([[3,4,3],[2,1,7],[9,1,1]])#假设为3x3矩阵#计算A+B和ABA_plus_B=A+BA_mul_B=A@B#矩阵乘法print("A+B:\n",A_plus_B)print("AB:\n",A_mul_B)2.Python代码:importnumpyasnp#定义矩阵A=np.array([[1,3,1,2],[4,7,6,1],[2,8,2,7],[6,5,3,6]])#计算行列式det_A=np.linalg.det(A)print("行列式det(A)=",det_A)3..Python代码:importnumpyasnp#定义矩阵A=np.array([[1,2,3],[2,1,2],[1,3,3]])#计算逆矩阵A_inv=np.linalg.inv(A)print("A的逆矩阵:\n",A_inv.round(4))4.矩阵的秩为3.Python代码:importnumpyasnp#定义矩阵(推测)A=np.array([[1,3,1,2],[4,7,6,1],[3,4,5,-1],[6,5,3,6]])#计算秩rank_A=np.linalg.matrix_rank(A)print("矩阵A的秩=",rank_A)5..Python代码:importnumpyasnp#系数矩阵A和常数向量bA=np.array([[2,3,1],[1,-2,4],[3,8,-2]])b=np.array([4,-5,13])#求解方程组x=np.linalg.solve(A,b)print("方程组的解:")print(f"x1={x[0]:.4f},x2={x[1]:.4f},x3={x[2]:.4f}")6.,相应的特征向量为,,不为零;,相应的特征向量为,不为零.Python代码:importnumpyasnp#定义矩阵A=np.array([[2,2,-2],[2,5,-4],[-2,-4,5]])#计算特征值和特征向量eigenvalues,eigenvectors=np.linalg.eig(A)print("特征值:\n",eigenvalues.round(4))print("特征向量(列向量):\n",eigenvectors.round(4)),,Python代码:importnumpyasnp#定义矩阵A=np.array([[2,-1,1],[1,0,1],[3,-1,4]])#奇异值分解U,s,Vt=np.linalg.svd(A)print("左奇异矩阵U:\n",U.round(4))print("奇异值s:\n",s.round(4))print("右奇异矩阵转置Vt:\n",Vt.round(4))s=np.diag(s)A_reconstructed=U@s@Vtprint("重建的矩阵A_reconstructed:")print(A_reconstructed)3、多元微分学实验1.设,用python求.Python代码:importsympyasspx,y,z,u,v=sp.symbols('xyzuv',real=True)f=x**3*y+sp.sin(x*y)fx=sp.diff(f,x)#3*x**2*y+y*cos(x*y)fy=sp.diff(f,y)#x**3+x*cos(x*y)2.设,用python求.Python代码:importsympyasspx,y,z,u,v=sp.symbols('xyzuv',real=True)f=sp.ln(x**2+y**2+1)f_xy=sp.diff(sp.diff(h,x),y)#-4*x*y/(x**2+y**23.设,用python求梯度.Python代码:importsympyasspx,y,z,u,v=sp.symbols('xyzuv',real=True)f=x**2*y-y**3grad=sp.Matrix([sp.diff(f,var)forvarin(x,y)])#→Matrix([2*x*y,x**2-3*y**2])4.设,用python求在点沿方向的方向导数.Python代码:importsympyasspx,y,z,u,v=sp.symbols('xyzuv',real=True)f=x**2+y**2point={x:1,y:2}u=sp.Matrix([sp.Rational(3,5),sp.Rational(4,5)])grad_f=sp.Matrix([sp.diff(f,x),sp.diff(f,y)])D_u=grad_f.dot(u).subs(point)#→22/54、概率与统计实验某生产线零件长度服从正态分布,随机抽取10个零件测得长度(mm):[24.8,25.1,24.9,25.2,25.0,24.7,25.3,24.8,25.1,24.9]用Python求μ和σ²的最大似然估计值。Python代码:importnumpyasnpdata=np.array([24.8,25.1,24.9,25.2,25.0,24.7,25.3,24.8,25.1,24.9])mu_mle=np.mean(data)sigma2_mle=np.var(data,ddof=0)#ddof=0表示最大似然估计print(f"μ的MLE:{mu_mle:.4f}")print(f"σ²的MLE:{sigma2_mle:.4f}")某小麦品种亩产量服从正态分布,随机抽取16块试验田,平均亩产量为480kg,样本标准差为12kg。求总体均值μ的95%置信区间。Python代码:fromscipyimportstatsimportnumpyasnpn=16x_bar=480s=12alpha=0.05#计算t临界值t_critical=stats.t.ppf(1-alpha/2,df=n-1)#计算置信区间lower=x_bar-t_critical*(s/np.sqrt(n))upper=x_bar+t_critical*(s/np.sqrt(n))print(f"95%置信区间:({lower:.2f},{upper:.2f})kg")某饮料装瓶生产线标准装量为500ml,已知标准差σ=5ml。质检员抽检25瓶,平均装量498ml。在α=0.05下,检验装量是否符合标准。Python代码:fromscipyimportstatsimportnumpyasnpmu0=500sigma=5x_bar=498n=25alpha=0.05#计算Z统计量z_stat=(x_bar-mu0)/(sigma/np.sqrt(n))#计算临界值z_critical_left=stats.norm.ppf(alpha/2)z_critical_right=stats.norm.ppf(1-alpha/2)print(f"Z统计量:{z_stat:.4f}")print(f"临界值区间:({z_critical_left:.4f},{z_critical_right:.4f})")print("结论:","拒绝H0"ifz_stat<z_critical_leftorz_stat>z_critical_rightelse"不拒绝H0")某手机厂商宣称其新款手机满电续航时间为24小时。消费者协会随机测试了18台该手机,得到平均续航时间23.5小时,样本标准差1.8小时。在α=0.05显著性水平下,检验厂商宣传是否准确。Python代码:fromscipyimportstatsimportnumpyasnp#输入数据mu0=24#宣称续航时间x_bar=23.5#样本均值s=1.8#样本标准差n=18#样本量alpha=0.05#显著性水平#计算t统计量t_stat=(x_bar-mu0)/(s/np.sqrt(n))#计算双侧临界值t_critical_left=stats.t.ppf(alpha/2,df=n-1)t_critical_right=stats.t.ppf(1-alpha/2,df=n-1)print(f"t统计量:{t_stat:.4f}")print(f"临界值区间:({t_critical_left:.4f},{t_critical_right:.4f})") print("结论:","拒绝H0"ift_stat<t_critical_leftort_stat>t_critical_rightelse"不拒绝H0")某零件加工标准要求直径方差σ²=0.04mm²。随机抽取20个零件,样本方差0.05mm²。在α=0.05下检验方差是否符合标准。Python代码:fromscipyimportstatsn=20s2=0.05sigma0_2=0.04alpha=0.05#计算卡方统计量chi2_stat=(n-1)*s2/sigma0_2#计算临界值(双侧检验)chi2_critical_left=stats.chi2.ppf(alpha/2,df=n-1)chi2_critical_right=stats.chi2.ppf(1-alpha/2,df=n-1)print(f"卡方统计量:{chi2_stat:.4f}")print(f"临界值区间:({chi2_critical_left:.4f},{chi2_critical_right:.4f})")print("结论:","拒绝H0"ifchi2_stat<chi2_critical_leftorchi2_stat>chi2_critical_rightelse"不拒绝H0")7.5[章末习题]答案1.应用题(1)根据总利润=总收益-总成本可得,偏导数满足:调用7.3.4中梯度下降法python代码,求上述二元函数的最大值,可得Python代码#调用7.3.4中梯度下降法python代码importnumpyasnpdefgradient_descent(gradient_func,#梯度函数initial_guess,#初始猜测值learning_rate=0.01,#学习率max_iterations=1000,#最大迭代次数tolerance=1e-6,#收敛容差verbose=False#是否打印过程):"""多元函数梯度下降算法参数:gradient_func:计算梯度的函数,接受参数x,返回梯度向量initial_guess:初始猜测值,numpy数组learning_rate:学习率(步长)max_iterations:最大迭代次数tolerance:收敛容差(当两次迭代间变化小于此值时停止)verbose:是否打印迭代过程返回:找到的最小值点"""x=np.array(initial_guess,dtype='float64')history=[x.copy()]#记录迭代历史foriinrange(max_iterations):grad=gradient_func(x)x_new=x-learning_rate*grad#检查收敛ifnp.linalg.norm(x_new-x)<tolerance:ifverbose:print(f"在{i+1}次迭代后收敛")breakx=x_newhistory.append(x.copy())ifverboseandi%100==0:print(f"Iteration{i+1}:x={x},grad={grad}")returnx,np.array(history)#定义目标函数和梯度函数deff(xy):#将Q1设为xQ2设为yx,y=xyreturn-(70*x-3.5*x**2+170*y-11*y**2-2*x*y)defgrad_f(xy):x,y=xydf_dx=-(70-7*x-2*y)#对x的偏导df_dy=-(170-22*y-2*x)#对y的偏导returnnp.array([df_dx,df_dy])#使用梯度下降initial_guess=[0.0,0.0]optimal_point,history=gradient_descent(grad_f,initial_guess,learning_rate=0.01,#梯度选取max_iterations=500,#迭代次数tolerance=1e-6,verbose=True)print("\n最优解:",optimal_point)print("最优值:",f(optimal_point))(2)用牛顿迭代法研究下列问题:①设,试着从下列初值出发研究最终收敛到哪个根.②设,研究从初值出发能够得到解?如果不能,应该如何选择初值?③试分析以上例子体现出牛顿迭代法的什么特征.解:前面的例子可以说明下面几个现象:1)哪怕初值离零解不远,收敛的速度并不会很快,这表示对某些函数,采用牛顿迭代法并不能迅速地得到近似解;2)哪怕初值有微小的误差,其收敛的解可能是不同的,这表示对某些函数,牛顿迭代法对误差(哪怕是非常微小的)的承受能力较差;3)在某些初始条件下,牛顿迭代法会进入到一个循环,并且是局部稳定的。这些现象都增加了牛顿迭代法的使用难度(3)R-L电路的瞬态与稳态电流问题.一个由电阻R=10Ω与电感L=0.1H串联组成的R-L电路,在初始时刻t=0时接通电源,分别考察直流电源(E=12V)与交流电源两种情形.电路中的电流满足微分方程:.要求用4阶龙格-库塔法(RK4)计算0≤t≤0.2s内电流i(t)的数值解,并绘制对比图.解:直流曲线从0A指数上升,时间常数τ=L/R=0.01s,最终趋于稳态1.2A;交流曲线从0A开始,经过约3~5个周期后达到稳态正弦,相位滞后于电压.Python代码:importnumpyasnpimportmatplotlib.pyplotasplt#============================参数设置============================R=10.0#ΩL=0.1#Hh=1e-4#时间步长(s)t_end=0.2#仿真总时长(s)N=int(t_end/h)t=np.linspace(0,t_end,N+1)#============================激励函数============================defv_dc(t_arr):"""直流12V阶跃"""return12.0*np.ones_like(t_arr)defv_ac(t_arr):"""交流12V@50Hz"""return12.0*np.sin(2*np.pi*50*t_arr)#============================RK4求解器==========================defrhs(t,i,v_func):"""di/dt=(v(t)-R*i)/L"""return(v_func(t)-R*i)/Ldefrk4(v_func):"""4阶Runge-Kutta求解"""i=np.zeros(N+1)forkinrange(N):tk,ik=t[k],i[k]k1=rhs(tk,ik,v_func)k2=rhs(tk+h/2,ik+h*k1/2,v_func)k3=rhs(tk+h/2,ik+h*k2/2,v_func)k4=rhs(tk+h,ik+h*k3,v_func)i[k+1]=ik+h*(k1+2*k2+2*k3+k4)/6returni#============================计算并绘图==========================i_dc=rk4(lambda_t:12.0)#直流情形i_ac=rk4(lambda_t:12.0*np.sin(2*np.pi*50*_t))#交流情形plt.figure(figsize=(8,4))plt.plot(t,i_dc,label='DCstep(12V)',linewidth=2)plt.plot(t,i_ac,label='AC50Hz(12Vpeak)',linewidth=2)plt.xlabel('Timet[s]')plt.ylabel('Currenti(t)[A]')plt.title('R-LCircuitCurrentvia4th-orderRunge–Kutta')plt.grid(True)plt.legend()plt.tight_layout()plt.show()(4)设某地不同房屋面积(m²)与售价(万元)的关系如下表,试以此为基础建立一元线性回归模型,并预测115m²的房价.面积售价95.4483.278.3418.7120.9584.562.1354.4113.7558.6解:Python代码:importnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.linear_modelimportLinearRegression#数据X=np.array([95.4,78.3,120.9,62.1,113.7]).reshape(-1,1)y=np.array([483.2,418.7,584.5,354.4,558.6])#建模&预测model=LinearRegression().fit(X,y)x_new=np.array([[115]])pred=model.predict(x_new)print(f"115m²预测售价={pred[0]:.1f}万元")#可视化plt.scatter(X,y,label='样本')plt.plot(X,model.predict(X),color='red',label='拟合线')plt.scatter(x_new,pred,color='green',marker='x',s=100,label='预测点')plt.xlabel('面积(m²)');plt.ylabel('售价(万元)')plt.legend();plt.show()(5)用动态规划方法研究下列问题:①假设只有2元、5元和7元的硬币,要凑成27元最少需要多少个硬币?②最大子序列和:给定一个整数数组,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和.示例:输入:[-2,1,-3,4,-1,2,1,-5,4],输出:6解释:连续子数组[4,-1,2,1]的和最大,为6.解:①凑硬币问题1)定义最优值函数:表示凑出元至少需要多少枚硬币,其中取正整数;2)分析状态所有可能的前置状态的集合:;3)分析从的前置状态转移至的决策的效能:;4)列出状态转移方程:;5)确定边界条件:;6)计算机求解最优值和最优方案:需要5枚硬币,具体如下..Python代码:#凑硬币问题:用2、5、7凑出27元,最少需要多少枚硬币coins=[2,5,7]n_max=27#--------------动态规划:求最少枚数--------------INF=10**6#表示“无穷大”dp=[INF]*(n_max+1)#dp[i]表示凑i元所需最少硬币数dp[0]=0#0元需要0枚foriinrange(1,n_max+1):forcincoins:ifi>=c:dp[i]=min(dp[i],dp[i-c]+1)#--------------回溯:构造具体方案--------------xn=n_maxre=[]#存放硬币面值whilexn>0:forcincoins:ifxn>=canddp[xn]==dp[xn-c]+1:re.append(c)xn-=cbreak#找到一条路径即可跳出#--------------输出结果--------------print(f"至少需要{dp[n_max]}枚硬币,具体方案如下:")print(re)②最大子序列和1)定义最优值函数:数列前项的连续子数组以第项结束的条件下的最大和;2)分析状态所有可能的前置状态的集合:;3)分析从的前置状态转移至的决策的效能:连续子序列包含第项:;连续子序列不包含第项:.需要注意的是从状态转移到有两个决策,并不唯一,这与前面的例子不同.4)列出状态转移方程:;5)确定边界条件:,;6)计算机求解最优值和最优方案:最大和为6,相应的连续子数组为[4,-1,2,1].Python代码:#最大连续子数组和(Kadane算法+回溯)a=[-2,1,-3,4,-1,2,1,-5,4]n=len(a)#----------动态规划----------dp=[0]*ndp[0]=a[0]#边界条件foriinrange(1,n):dp[i]=max(dp[i-1]+a[i],a[i])max_sum=max(dp)end_idx=dp.index(max_sum)#最大和所在的最后一个下标#----------回溯子数组----------start_idx=end_idxwhilestart_idx>0anddp[start_idx]==dp[start_idx-1]+a[start_idx]:start_idx-=1sub_array=a[start_idx:end_idx+1]#----------输出----------print(f"数组{a}的连续子数组最大和为{max_sum},具体方案如下:")print(sub_array)(6)设生产T、B、C的数量分别为kg,满足:约束条件:目标函数:调用7.3.4中单纯形python代码,求上述整数规划问题,可得Python代码#调用7.3.4中单纯形法python代码importnumpyasnpclassSimplexSolver:def__init__(self,c,A,b):"""初始化单纯形法求解器:paramc:目标函数系数向量(1×n):paramA:约束系数矩阵(m×n):paramb:约束右侧常数向量(m×1)"""self.c=np.array(c,dtype=float)self.A=np.array(A,dtype=float)self.b=np.array(b,dtype=float)self.m,self.n=self.A.shape#m约束数,n变量数self.tableau=Noneself.basis=Nonedefinitialize(self):"""构造初始单纯形表"""#添加松弛变量self.tableau=np.zeros((self.m+1,self.n+self.m+1))#目标函数行self.tableau[-1,:self.n]=-self.c#负号因为我们要最大化#约束部分self.tableau[:-1,:self.n]=self.Aself.tableau[:-1,self.n:self.n+self.m]=np.eye(self.m)#松弛变量self.tableau[:-1,-1]=self.b#基变量索引self.basis=list(r

温馨提示

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

评论

0/150

提交评论