合集-数学建模课 课后习题

2.1 在同一个图形界面上画出如下三个函数的图形并进行标注 y=chx y=shx y=(1/2)e^x
摘要:点击查看代码 import numpy as np import matplotlib.pyplot as plt # 定义 x 的范围 x = np.linspace(-5, 5, 400) # 计算三个函数的值 y_cosh = np.cosh(x) y_sinh = np.sinh(x) y_ 阅读全文

posted @ 2024-09-06 16:05 黄元元 阅读(233) 评论(0) 推荐(0)

2.2 画出函数图形
摘要:点击查看代码 import numpy as np import matplotlib.pyplot as plt from scipy.integrate import quad def fun(t, x): return np.exp(-t) * (t ** (x - 1)) x = np.li 阅读全文

posted @ 2024-09-06 16:20 黄元元 阅读(60) 评论(0) 推荐(0)

2.3 在同一个图形界面中分别画出6条曲线 y=kx^2+2k k=1,2,3...
摘要:点击查看代码 import numpy as np import matplotlib.pyplot as plt # 定义x的范围 x = np.linspace(-10, 10, 400) # 创建一个图形和坐标轴 plt.figure(figsize=(10, 6)) ax = plt.gca 阅读全文

posted @ 2024-09-06 16:23 黄元元 阅读(67) 评论(0) 推荐(0)

2.4 把屏幕开成2行3列6个子窗口,每个子窗口画一条曲线,画出曲线y=kx^2+2k,k=1,2,3...6
摘要:点击查看代码 import numpy as np import matplotlib.pyplot as plt # 定义x的范围 x = np.linspace(-10, 10, 400) # 创建一个2行3列的子图布局 fig, axs = plt.subplots(2, 3, figsize 阅读全文

posted @ 2024-09-06 16:27 黄元元 阅读(81) 评论(0) 推荐(0)

2.5 分别画出下列二次曲面
摘要:点击查看代码 import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D # 定义参数u和v u = np.linspace(-2, 2, 400) v = np.linspac 阅读全文

posted @ 2024-09-06 16:30 黄元元 阅读(97) 评论(0) 推荐(0)

2.6 某区域43.65km*58.2km的高程数据,画出该区域的三维表面图和等高线图,在A(30,0)和B(43,30)(单位:km)点处建立了两个基地,在等高线图上标注出这两个点,并求该区域地表面积的近似值
摘要:点击查看代码 import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D # 模拟高程数据(假设数据已经过某种方式插值或生成) # 这里我们创建一个简单的40x50网格,并填充随 阅读全文

posted @ 2024-09-06 16:43 黄元元 阅读(68) 评论(0) 推荐(0)

2.7 先判断下列线性方程组解的情况,然后求对应的唯一解、最小二乘解或最小范数解
摘要:(1) 4x1+2x2-x3=2 3x1-x2+2x3=10 11x1+3x2=8 (2) 2x+3y+z=4 x-2y+4z=-5 3x+8y-2z=13 4x-y+9z=-6 点击查看代码 import numpy as np # 定义系数矩阵A和常数项向量b A = np.array([[4, 阅读全文

posted @ 2024-09-06 16:51 黄元元 阅读(64) 评论(0) 推荐(0)

2.8 求解下列线性方程组 4x1+x2=1,x1+4x2+x3=2,x2+4x3+x4=3,......,x998+4x999+x1000=999,x999+4x1000=1000
摘要:点击查看代码 import numpy as np # 初始化系数矩阵A和常数项向量b n = 1000 A = np.zeros((n, n)) b = np.arange(1, n+1) # 填充系数矩阵A for i in range(n): A[i, i] = 4 # 对角线元素为4 if 阅读全文

posted @ 2024-09-09 22:50 黄元元 阅读(69) 评论(0) 推荐(0)

2.9 求下列方程组的符号解和数值解
摘要:点击查看代码 import sympy as sp # 定义变量 x, y = sp.symbols('x y') # 定义方程组 equation1 = sp.Eq(x**2 - y - x, 3) equation2 = sp.Eq(x + 3*y, 2) # 解方程组 solutions = 阅读全文

posted @ 2024-09-12 19:20 黄元元 阅读(71) 评论(0) 推荐(0)

2.10 某容器内侧是由曲线x^2+y^2=4y(1<=y<=3)与x^2+y^2=4(y<=1)绕y轴旋转一周而形成的曲面,求容器的体积,求至少做的功
摘要:点击查看代码 from scipy.integrate import quad import numpy as np # 第一部分:抛物线旋转体(修正后) def V1_quad(y): return np.pi * (4*y - y**2) V1_corrected, _ = quad(V1_qu 阅读全文

posted @ 2024-09-12 19:32 黄元元 阅读(59) 评论(0) 推荐(0)

2.11 已知f(x)=(|x+1|-|x-1|)/2+sinx,g(x)=(|x+3|-|x-3|)/2+cosx,求下列方程组的解 2x1=3f(y1)+4g(y2)-1 3x2=2f(y1)+6g(y2)-2 y1=f(x1)+3g(x2)-3 5y2=4f(x1)+g(x2)-1 python
摘要:点击查看代码 import numpy as np def f(x): return (abs(x + 1) - abs(x - 1)) / 2 + np.sin(x) def g(x): return (abs(x + 3) - abs(x - 3)) / 2 + np.cos(x) from s 阅读全文

posted @ 2024-09-12 19:39 黄元元 阅读(77) 评论(0) 推荐(0)

2.12 求下列矩阵的特征值和特征向量的数值解和符号解 (-1 1 0 -4 3 0 1 0 2)的3*3矩阵
摘要:点击查看代码 import numpy as np from scipy.linalg import eig # 定义矩阵 A = np.array([[-1, 1, 0], [-4, 3, 0], [1, 0, 2]]) # 计算特征值和特征向量 eigenvalues, eigenvectors 阅读全文

posted @ 2024-09-12 19:51 黄元元 阅读(51) 评论(0) 推荐(0)

2.13 已知f(x)=(|x+1|-|x-1|)/2+sinx,g(x)=(|x+3|-|x-3|)/2+cosx,求下列超定方程组的最小二乘解
摘要:点击查看代码 import numpy as np def f(x): return (abs(x + 1) - abs(x - 1)) / 2 + np.sin(x) def g(x): return (abs(x + 3) - abs(x - 3)) / 2 + np.cos(x) # 假设我们 阅读全文

posted @ 2024-09-12 20:05 黄元元 阅读(61) 评论(0) 推荐(0)

3.2 求下列差分方程的解 X(n+2)-X(n+1)-2X(n)=0 X(0)=X(1)=-2
摘要:点击查看代码 def X(n): # 差分方程的解 return 2 * (-1)**(n + 1) n_values = [0, 1, 2, 3, 4, 5] for n in n_values: print(f"X({n}) = {X(n)}") print("学号:3004") 阅读全文

posted @ 2024-09-12 20:21 黄元元 阅读(96) 评论(0) 推荐(0)

3.3 文章影响力评价问题
摘要:点击查看代码 import numpy as np from scipy.sparse.linalg import eigs import pylab as plt w = np.array([[0, 1, 0, 1, 1, 1], [0, 0, 0, 1, 1, 1], [1, 1, 0, 1, 阅读全文

posted @ 2024-09-12 20:30 黄元元 阅读(53) 评论(0) 推荐(0)

4.3 求4.3节模型二的解
摘要:点击查看代码 import matplotlib.pyplot as plt import numpy as np import cvxpy as cp x=cp.Variable(6,pos=True) obj=cp.Minimize(x[5]) a1=np.array([0.025, 0.015 阅读全文

posted @ 2024-10-14 22:43 黄元元 阅读(54) 评论(0) 推荐(0)

4.4 美佳公司计划制造i Ⅱ两种家电产品
摘要:点击查看代码 MAX_A = 15 MAX_B = 24 MAX_DEBUG = 5 products = [ {"name": "Ⅰ", "A_hours": 1, "B_hours": 6, "debug_hours": 1, "profit": 2}, # 假设产品Ⅰ至少使用1小时设备A {" 阅读全文

posted @ 2024-10-14 22:44 黄元元 阅读(69) 评论(0) 推荐(0)

5.4 5.5
摘要:学号后四位:“3004” 5.4 求解下列非线性规划: 点击查看代码 import numpy as np from scipy.optimize import minimize def objective(x): return -np.sum(np.sqrt(x) * np.arange(1, 1 阅读全文

posted @ 2024-10-09 11:19 黄元元 阅读(71) 评论(0) 推荐(0)

5.7
摘要:点击查看代码 import numpy as np demands = [40, 60, 80] max_production = 100 total_demand = sum(demands) dp = np.full((4, total_demand + 1), float('inf')) dp 阅读全文

posted @ 2024-10-13 19:29 黄元元 阅读(40) 评论(0) 推荐(0)

6.1 用python代码绘制以下图形
摘要:用python绘制一个无向图:v1在中间,v2、v3、v4、v5、v6在周围;v1与v2、v3、v4相连;v2与v3、v6、v1相连;v3与v1、v2、v4相连;v4与v1、v3、v5相连;v5与v4、v6相连;v6与v2、v5相连 点击查看代码 import networkx as nx impo 阅读全文

posted @ 2024-10-25 22:58 黄元元 阅读(86) 评论(0) 推荐(0)

6.2
摘要:点击查看代码 edges = [ ("Pe", "T", 13), ("Pe", "N", 68), ("Pe", "M", 78), ("Pe", "L", 51), ("Pe", "Pa", 51), ("T", "N", 68), ("T", "M", 70), ("T", "L&q 阅读全文

posted @ 2024-10-13 19:33 黄元元 阅读(100) 评论(0) 推荐(0)

6.3 6.4
摘要:点击查看代码 import heapq def prim(graph, start): num_nodes = len(graph) visited = [False] * num_nodes min_heap = [(0, start, -1)] mst_cost = 0 mst_edges = 阅读全文

posted @ 2024-10-14 20:49 黄元元 阅读(64) 评论(0) 推荐(0)

6.5 已知有6个村子,相互间道路的距离如图所示,拟合建一所小学,现计划建造一所医院和一所小学,问医院应该建在哪个村庄才能使得最远村庄的人到医院看病所走的路最短?小学应该建在哪个村庄使得所有学生上学走的总路程最短?
摘要:点击查看代码 import numpy as np distances = np.array([ [0, 2, 7, np.inf, np.inf, np.inf], [2, 0, 4, 6, 8, np.inf], [7, 4, 0, 1, 3, np.inf], [np.inf, 6, 1, 0 阅读全文

posted @ 2024-10-24 20:22 黄元元 阅读(82) 评论(0) 推荐(0)

6.6 1队战胜了2、4、5、6队,输给了3队;2队战胜了4、5、6队,输给了1、3队;3队战胜了1、2、4队,输给了5、6队;4队战胜了5、6队,输给了1、2、3队;5队战胜了3、6队,输给了1、2、4队;6队战胜了3队,输给了1、2、4、5队。(1)利用竞赛图的适当方法,给出6支球队的一个排名顺序,(2)利用pagerank算法,再次给出6支球队的排名顺序
摘要:点击查看代码 import numpy as np matches = np.array([ [0, 1, 0, 1, 1, 1], # 1队 [0, 0, 0, 1, 1, 1], # 2队 [1, 1, 0, 1, 0, 0], # 3队 [0, 0, 0, 0, 1, 1], # 4队 [0, 阅读全文

posted @ 2024-10-24 20:39 黄元元 阅读(93) 评论(0) 推荐(0)

7.1 在区间[0,10]上等间距取1000个点Xi(i为下标,i=1,2,3,...,1000),并计算在这些点Xi处函数g(x)=((3x^2+4x+6)sinx)/(x^2+8x+6)的函数值yi(i为下标),利用观测点(Xi,Yi)(i=1,2,3,...,1000),求三次样条插值函数h(x),并求积分g(x)从0到10和h(x)从0到10
摘要:import numpy as np import scipy.interpolate as spi import scipy.integrate as spi_integrate def g(x): return ((3x**2 + 4x + 6) * np.sin(x)) / (x**2 + 8 阅读全文

posted @ 2024-10-29 14:27 黄元元 阅读(152) 评论(0) 推荐(0)

7.3 已知当温度T=[700,720,740,760,780]时,过热蒸汽体积的变化为V=[0.0977,0.1218,0.1406,0.1551,0.1664],分别采用线性插值和三次样条插值求解T=750,770时的体积变化,并在一个图形界面中画出线性插值函数和三次样条插值函数
摘要:import numpy as np import matplotlib.pyplot as plt from scipy.interpolate import interp1d, CubicSpline T = np.array([700, 720, 740, 760, 780]) V = np. 阅读全文

posted @ 2024-10-28 22:37 黄元元 阅读(110) 评论(0) 推荐(0)

7.4 考虑矩形区域x∈[-3,3],y∈[-4,4]上的函数f(x,y)=(x^2-2x)e^(-x^2-y^2-xy),利用随机生成函数uniform随机生成该矩形内的散乱点,然后利用griddata函数进行插值处理,并作出插值结果图形
摘要:import numpy as np import matplotlib.pyplot as plt from scipy.interpolate import griddata def f(x, y): return (x2 - 2*x) * np.exp(-x2 - y**2 - x*y) x_ 阅读全文

posted @ 2024-10-28 22:47 黄元元 阅读(56) 评论(0) 推荐(0)

7.7 g(x)=(10a)/(10b+(a-10b)e^(asinx)),取a=1.1,b=0.01,计算x=1,2,...,20时,g(x)对应的函数值,把这样得到的数据作为模拟观测值,记作(xi,yi)(其中i为x,y的下标),i=1,2,...,20。用curve_fit拟合函数g(x)。用leastsq拟合函数g(x)。用least_squares拟合函数g(x)
摘要:import numpy as np import matplotlib.pyplot as plt from scipy.optimize import curve_fit, leastsq, least_squares from scipy.constants import e def g(x, 阅读全文

posted @ 2024-11-05 21:57 黄元元 阅读(100) 评论(0) 推荐(0)

7.10 已知一组观测数据,如表中7.17.excel(表中第一列为x的值,第二列为y的值)。试用插值方法绘制出x属于-2到4.9区间内的曲线,并比较各种插值算法的优劣。试用多项式拟合表中数据,选择一个能较好拟合数据点的多项式的阶式,给出相应多项式的系数和剩余标准差。若表中数据满足正态分布函数,试用最小二乘法非线性拟合方法求出分布参数的值,并利用所求参数值绘制拟合曲线,观察拟合效果。
摘要:import numpy as np import pandas as pd import matplotlib.pyplot as plt from scipy.interpolate import interp1d, PchipInterpolator, CubicSpline from sci 阅读全文

posted @ 2024-11-05 22:21 黄元元 阅读(139) 评论(0) 推荐(0)

8.4 求微分方程组的数值解 x'=-x^3-y,x(0)=1,y'=x-y^3,y(0)=0.5,0<=t<=30,要求画出x(t)和y(t)的解曲线图形,再相平面上画出轨线
摘要:import numpy as np import matplotlib.pyplot as plt from scipy.integrate import solve_ivp def system(t, state): x, y = state dxdt = -x3 - y dydt = x - 阅读全文

posted @ 2024-11-12 13:25 黄元元 阅读(93) 评论(0) 推荐(0)

8.5 求微分方程组(竖直加热板的自然对流)的数值解。(d^3f)/(dm^3)+3f(d^f)/(dm^2)-2((df)/(dm))^2+T=0,(d^2T)/(dm^2)+2.1f(dT)/(dm)=0,已知当m=0时,f=0,(df)/(dm)=0,(d^2f)/(dm^2)=0.68,T=1,(dT)/(dm)=-0.5。要求在[0,10]区间上,画出f(a)、T(a)的解曲线
摘要:import numpy as np import matplotlib.pyplot as plt from scipy.integrate import solve_ivp def model(t, y): f, df_dm, d2f_dm2, T, dT_dm = y d3f_dm3 = -3 阅读全文

posted @ 2024-11-12 13:41 黄元元 阅读(86) 评论(0) 推荐(0)

8.8 最优捕鱼策略
摘要:有四个年龄组的鱼。该鱼类在每年后4个月季节性集中产卵繁殖。按规定,捕捞作业只允许在前8个月进行,每年投入的捕捞能力固定不变。单位时间捕捞量鱼各年龄组鱼群条数的比例称为捕捞强度系。使用只能捕捞3、4龄鱼的13mm网眼的拉网,其两个捕捞强度系数比为0.42:1。各年龄组鱼的自然死亡率为0.8(1/年), 阅读全文

posted @ 2024-11-19 17:41 黄元元 阅读(116) 评论(0) 推荐(0)

8.9 某家庭考虑购买某位置住宅公寓,总价为60万元,按开发商要求至少需首付20万元,剩余款项可申请银行贷款,假设贷款期限为30年,月利率为0.36%,建立模型预测等额还款时,月换款额时多少?
摘要:def calculate_monthly_payment(P, annual_interest_rate, n_years): monthly_interest_rate = annual_interest_rate / 12 / 100 total_months = n_years * 12 M 阅读全文

posted @ 2024-11-19 17:42 黄元元 阅读(86) 评论(0) 推荐(0)

9.2 车间生产滚珠
摘要:某车间生产滚珠,随机的抽出了50粒,测得他们的直径为(单位mm)15.0 15.8 15.2 15.1 15.9 14.7 14.8 15.5 15.6 15.3 15.1 15.3 15.0 15.6 15.7 14.8 14.5 14.2 14.9 14.9 15.2 15.0 15.3 15. 阅读全文

posted @ 2024-11-26 13:26 黄元元 阅读(60) 评论(0) 推荐(0)

9.3 在7个不同实验室中测量某种扑尔敏药片的扑尔敏有效含量(以mg计),得到结果如表格(读取外部表格excel文件,第一行为实验室Lab1到Lab7,每一列下面为有效含量)。画出各实验室测量结果的箱线图,设各样本分布来自正态总体N(μi,σ^2)i为μ的下标,i=1,2,...,7,各样本相互独立,试取显著水平α=0.05检验各实验室测量的扑尔敏的有效含量的均值是否有显著差异
摘要:import pandas as pd import matplotlib.pyplot as plt import seaborn as sns from scipy import stats file_path = '9.3.xlsx' data = pd.read_excel(file_pat 阅读全文

posted @ 2024-11-26 14:25 黄元元 阅读(54) 评论(0) 推荐(0)

9.5 某集团为研究商品销售点所在的地理位置、销售点处的广告、销售点的装横这3个因素对商品的影响度,选了3个位置,2种广告形式,2种装横档次在4个城市进行了搭配实验,如表中所示,试在显著水平0.05下,检验不同地理位置、不同广告、不同装横下的销售量是否有显著差异?
摘要:import pandas as pd from statsmodels.formula.api import ols from statsmodels.stats.anova import anova_lm import openpyxl column_names = ['城市1', '城市2', 阅读全文

posted @ 2024-12-08 23:30 黄元元 阅读(50) 评论(0) 推荐(0)