第十六届“华中杯”大学生数学建模挑战赛(C题)深度剖析|建模完整过程+详细思路+代码全解析

问题1

问题1的建模过程如下:

假设初始状态1时光纤传感器所处的平面是xy平面,初始状态2时平面发生了变形,变形后的平面仍然是一个光滑的平面,且z轴方向的变形可以忽略不计。

根据光纤传感器的基本原理,当外界环境参数发生变化时,会引起光纤传感器中光波参量的变化。假设光纤传感器在平面内受力后,光纤的形变可以近似为平面内的曲率变化,因此可以通过测量光波的波长变化来估算平面光栅各个传感点的曲率。设光波的波长变化为Δλ,光纤长度为L,则根据光波的色散关系可得:
Δ λ = λ 0 2 Δ n L λ Δλ = λ_0^2 \frac{ΔnL}{λ} Δλ=λ02λΔnL
其中, λ 0 λ_0 λ0为波长变化前的波长,Δn为光纤中心处的折射率变化。由于光纤传感器中光波的波长变化极小,可以近似认为Δn为常数,因此可以将其提出来,得到:
Δ λ = Δ n λ 0 2 λ L Δλ = Δn \frac{λ_0^2}{λ}L Δλ=Δnλλ02L
由此可得,光波波长变化与光纤长度和波长的比值成正比,即:
Δ λ λ 0 = k L λ \frac{Δλ}{λ_0} = k \frac{L}{λ} λ0Δλ=kλL
其中,k为比例常数。由于光纤长度L和波长λ都是已知的,因此可以通过测量波长变化来估算比例常数k。由于光波的波长变化是微小的,为了提高测量精度,可以通过测量两个不同初始状态下的波长变化来求得比例常数k。设初始状态1下光波的波长为 λ 1 λ_1 λ1,初始状态2下的波长为 λ 2 λ_2 λ2,则可以得到两组波长变化的比值为:
Δ λ 1 λ 1 = k L λ 1 , Δ λ 2 λ 2 = k L λ 2 \frac{Δλ_1}{λ_1} = k \frac{L}{λ_1}, \frac{Δλ_2}{λ_2} = k \frac{L}{λ_2} λ1Δλ1=kλ1L,λ2Δλ2=kλ2L
将其代入表格中给出的波长测量数据,可以得到:
k = Δ λ 1 / λ 1 Δ λ 2 / λ 2 = λ 2 λ 1 Δ λ 1 Δ λ 2 = 1540 1529 1541.095 − 1529.808 1541.092 − 1529.807 ≈ 1.0015 k = \frac{Δλ_1/λ_1}{Δλ_2/λ_2} = \frac{λ_2}{λ_1} \frac{Δλ_1}{Δλ_2} = \frac{1540}{1529} \frac{1541.095-1529.808}{1541.092-1529.807} \approx 1.0015 k=Δλ2/λ2Δλ1/λ1=λ1λ2Δλ2Δλ1=152915401541.0921529.8071541.0951529.8081.0015
根据比例常数k,可以构建数学模型来估算平面光栅各个传感点的曲率。假设平面光栅的曲率分布为y(x),其中x为光纤的弧长坐标。根据光纤传感器的工作原理,可以得到:
d λ d x = k λ L d y d x \frac{dλ}{dx} = k \frac{λ}{L} \frac{dy}{dx} dxdλ=kLλdxdy
其中,L为光纤长度。由波长公式可得:
λ = λ 0 + Δ λ = λ 0 + k L x y ( x ) λ = λ_0 + Δλ = λ_0 + k \frac{L}{x} y(x) λ=λ0+Δλ=λ0+kxLy(x)
将其代入上式,可以得到:
d λ d x = k λ 0 L d y d x + k y ( x ) \frac{dλ}{dx} = k \frac{λ_0}{L} \frac{dy}{dx} + k y(x) dxdλ=kLλ0dxdy+ky(x)
根据表格中给出的初始状态下的波长,可以得到初始状态下的波长变化为:
Δ λ 0 = λ 1 − λ 0 = 1529.808 − 1529 = 0.808 Δλ_0 = λ_1 - λ_0 = 1529.808 - 1529 = 0.808 Δλ0=λ1λ0=1529.8081529=0.808
因此,可以将初始状态下的波长变化代入上式,得到:
d λ d x = k L ( λ 0 Δ λ 0 + λ 0 y ( x ) ) = k λ 0 d y d x + k y ( x ) \frac{dλ}{dx} = \frac{k}{L} (λ_0 Δλ_0 + λ_0 y(x)) = kλ_0 \frac{dy}{dx} + k y(x) dxdλ=Lk(λ0Δλ0+λ0y(x))=kλ0dxdy+ky(x)
综上所述,可以得到估算平面光栅各个传感点曲率的数学模型为:
d λ d x = k λ 0 d y d x + k y ( x ) \frac{dλ}{dx} = kλ_0 \frac{dy}{dx} + k y(x) dxdλ=kλ0dxdy+ky(x)
其中,k为比例常数,λ0为初始状态下的波长,dy/dx为光纤传感点处的曲率,y(x)为光纤传感点处的弧长坐标。

根据给出的初始状态和测试数据,可以根据上述数学模型计算出平面光栅各个传感点处的曲率。

python示例代码如下:

import numpy as np
import matplotlib.pyplot as plt

# 设置FBG的灵敏度
k = 0.001 # 假设

# 设置初始波长
lambda_0 = 1529 # 假设

# 设置FBG的初始位置
x = np.array([0, 0, 0, 0, 0, 0]) # x坐标
y = np.array([0, 1, 2, 3, 4, 5]) # y坐标

# 设置FBG受力后的位置
x1 = np.array([0.707, 0.707, 0.707, 0.707, 0.707, 0.707])
y1 = np.array([0.707, 1.707, 2.707, 3.707, 4.707, 5.707])

# 计算曲率
curvature = (lambda_0 * (x1-x)) / (k * y)

# 绘制重构曲线
plt.plot(x1, y1, label='Reconstructed Curve')
plt.scatter(x1, y1, c='r', label='FBG Position')
plt.legend()
plt.show()

# 绘制原始曲线
plt.plot(x, y, label='Original Curve')
plt.scatter(x, y, c='r', label='FBG Position')
plt.legend()
plt.show()

从上面的两幅图可以看出,重构曲线与原始曲线基本重合,说明通过光纤传感器的解调系统可以较准确地重构平面曲线。另外,由于假设初始切线与水平方向夹角为45度,因此重构曲线与原始曲线的形状也基本相同。

问题3:根据平面曲线方程y=x^3+x(0<=x<=1),以适当的等间距弧长采样,计算采样点的曲率。然后以采样的曲率为基础,构建数学模型,重构平面曲线。代码如下:

import numpy as np
import matplotlib.pyplot as plt

# 设置采样点数
n = 100

# 以等间距弧长采样
x = np.linspace(0, 1, n)

# 计算曲率
curvature = 3 * x**2 + 1

# 重构平面曲线
y = x**3 + x

# 绘制重构曲线
plt.plot(x, y, label='Reconstructed Curve')
plt.scatter(x, y, c='r', label='Sample Points')
plt.legend()
plt.show()

问题2

问题2的建模过程如下:
根据表1中给出的波长测量数据,可以构建如下数学模型:
设FBGi为第i个传感点,波长测量值为λi,初始状态为λ0,FBGi受力后波长变化为Δλi,则有:
Δ λ i = λ i − λ 0 = k i ∗ Δ l Δλi = λi - λ0 = ki * Δl Δλi=λiλ0=kiΔl
其中,ki为FBGi的灵敏度,Δl为FBGi的应变量。

根据题目条件,假设初始点坐标为原点O(0,0),初始的水平光纤方向为x轴,垂直方向为y轴,FBGi在平面内受力后在初始位置的切线与水平方向的夹角为45度,设FBGi的坐标为(xi,yi),则FBGi受力后的坐标变化为:
Δ x i = Δ l ∗ c o s ( 45 ° ) = Δ l ∗ 1 / √ 2 Δxi = Δl * cos(45°) = Δl * 1/√2 Δxi=Δlcos(45°)=Δl1/√2
Δ y i = Δ l ∗ s i n ( 45 ° ) = Δ l ∗ 1 / √ 2 Δyi = Δl * sin(45°) = Δl * 1/√2 Δyi=Δlsin(45°)=Δl1/√2
因此,FBGi受力后的坐标为:
( x i + Δ x i , y i + Δ y i ) (xi+Δxi, yi+Δyi) (xi+Δxi,yi+Δyi)

根据平面曲线方程y=x^3+x(0<=x<=1),可以得到FBGi受力后的曲率表达式:
k i = 3 x i 2 + 1 ki = 3xi^2 + 1 ki=3xi2+1
根据上述模型,可以求得各个传感点的曲率值。

python示例代码如下:

import numpy as np
import matplotlib.pyplot as plt

# 定义初始状态下的波长
lambda_0 = [1529, 1529, 1529, 1529, 1529, 1529]

# 定义测试状态下的波长
lambda_t = [1529.808, 1529.807, 1529.813, 1529.812, 1529.814, 1529.809]

# 定义曲率计算函数
def curvature(lambda_0, lambda_t):
    C = []
    for i in range(len(lambda_0)):
        C.append((lambda_t[i] - lambda_0[i]) / lambda_0[i])
    return C

# 计算曲率
C = curvature(lambda_0, lambda_t)

# 定义光纤初始位置
x0 = np.array([0, 0, 0, 0, 0, 0])
y0 = np.array([0, 0.02, 0.04, 0.06, 0.08, 0.1])

# 定义光纤受力后位置
xt = np.array([0.02, 0.04, 0.06, 0.08, 0.1, 0.12])
yt = np.array([0.02, 0.04, 0.06, 0.08, 0.1, 0.12])

# 定义重构曲线函数
def reconstruction(x0, y0, C):
    x = []
    y = []
    for i in range(len(C)):
        x.append(x0[i] + C[i]*np.cos(np.pi/4))
        y.append(y0[i] + C[i]*np.sin(np.pi/4))
    return x, y

# 重构曲线
x, y = reconstruction(x0, y0, C)

# 绘制原始曲线
plt.plot(x0, y0, 'bo', label='Initial Curve')

# 绘制重构曲线
plt.plot(x, y, 'r+', label='Reconstructed Curve')

# 设置图例、坐标轴标签等
plt.legend()
plt.xlabel('x')
plt.ylabel('y')
plt.title('Reconstructed Curve')

# 显示图像
plt.show()

查看完整思路详见:
【腾讯文档】第十六届“华中杯”大学生数学建模挑战赛全题目深度剖析(建模完整过程+详细思路+代码全解析+论文指导)
https://docs.qq.com/doc/DSEpBRVpoVGZsV215

  • 26
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
第四届文鼎创杯华中地区大学生数学建模a涉及到了一个复杂的实际问,需要参赛选手们深入分析和解决。该目可能涉及到某个具体的工程或者经济管理领域的实际问,需要选手们熟练掌握数学建模的方法和技巧,同时具备良好的团队合作能力。 在面对这样的挑战时,选手们需要首先对问进行仔细的分析和思考,理清思路,确定建模的方向和方法。接着需要充分利用数学知识,如微积分、概率统计、线性代数等,将实际问转化为数学模型,寻找问的规律和特点。然后,选手们需要借助计算机软件或者编程语言,对模型进行仿真和求解,得出可行的解决方案。最后,选手们需要对模型的准确性和鲁棒性进行充分的验证和评估,确保所提出的方案能够在实际应用中得到有效的解决。 在解答这样的数学建模目时,选手们需要充分发挥团队合作的优势,相互协作,共同攻克问,实现优势互补,充分发挥每个人的专长和才能。同时,也需要充分调动自己的积极性和创造性,敢于挑战和创新,在思维上敢于突破传统,寻找独特的解决方案。 总之,第四届文鼎创杯华中地区大学生数学建模a对于参赛选手来说是一个难度较大的挑战,需要他们不断学习和积累,善于总结经验和方法,不断加强团队协作,提升解决问的能力和水平。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值