首页 > 其他分享 >数学建模习题7.7

数学建模习题7.7

时间:2024-11-17 14:40:24浏览次数:1  
标签:leastsq plt fit curve 建模 least values 7.7 习题

`import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit, leastsq, least_squares

定义函数 g(x, a, b)

def g(x, a, b):
return (10 * a) / (10 * b + (a - 10 * b) * np.exp(a * np.sin(x)))

初始参数

a = 1.1
b = 0.01

生成数据

x_values = np.arange(1, 21)
y_values = g(x_values, a, b)

打印生成的数据点

for i, (xi, yi) in enumerate(zip(x_values, y_values), start=1):
print(f"({xi}, {yi:.6f})")

使用 curve_fit 进行拟合

popt_curve_fit, pcov_curve_fit = curve_fit(g, x_values, y_values, p0=[a, b])
y_fit_curve_fit = g(x_values, *popt_curve_fit)

使用 leastsq 进行拟合

def func_leastsq(params, x, y):
return y - g(x, *params)
popt_leastsq = leastsq(func_leastsq, [a, b], args=(x_values, y_values))[0]
y_fit_leastsq = g(x_values, *popt_leastsq)

使用 least_squares 进行拟合

popt_least_squares = least_squares(func_leastsq, [a, b], args=(x_values, y_values)).x
y_fit_least_squares = g(x_values, *popt_least_squares)

打印拟合参数

print("curve_fit parameters:", popt_curve_fit)
print("leastsq parameters:", popt_leastsq)
print("least squares parameters:", popt_least_squares)

绘制结果

plt.figure(figsize=(10, 6))
plt.scatter(x_values, y_values, label='Simulated data', color='red')
plt.plot(x_values, y_fit_curve_fit, label='curve_fit', linestyle='-')
plt.plot(x_values, y_fit_leastsq, label='leastsq', linestyle='--')
plt.plot(x_values, y_fit_least_squares, label='least squares', linestyle='-.')
plt.xlabel('x')
plt.ylabel('g(x)')
plt.legend()
plt.title('Fitting of g(x) using curve_fit, leastsq, and least squares')
plt.grid(True)
plt.show()

print("学号后四位:3005")`

标签:leastsq,plt,fit,curve,建模,least,values,7.7,习题
From: https://www.cnblogs.com/vvlin/p/18550539

相关文章

  • 数学建模习题7.4
    `importnumpyasnpimportmatplotlib.pyplotaspltfromscipy.interpolateimportgriddatadeff(x,y):x2=x2return(x2-2*x)*np.exp(-x2-y2-x*y)x_min,x_max=-3,3y_min,y_max=-4,4num_points=1000x_random=np.random.uniform(x_min,x_ma......
  • 数学建模习题7.3
    `importnumpyasnpimportmatplotlib.pyplotaspltfromscipy.interpolateimportinterp1d,CubicSpline已知的温度和对应的体积T_known=np.array([700,720,740,760,780])V_known=np.array([0.0977,0.1218,0.1406,0.1551,0.1664])需要求解的温度T_query=......
  • 数学建模习题7.1
    `importnumpyasnpimportscipy.interpolateasspiimportscipy.integrateasspi_integrate定义函数g(x)defg(x):return((3x**2+4x+6)*np.sin(x))/(x**2+8*x+6)在区间[0,10]上等间距取1000个点x=np.linspace(0,10,1000)计算这些点处的函数值......
  • 2024年数维杯数学建模竞赛 问题D:城市韧性和可持续发展能力的评估 问题一 思路和代码
    所有数学建模竞赛思路和代码都会发布到专栏内,只需订阅一次,不需要每次都订阅,专栏内包含35个经典模型案例和历年优秀论文。不代写论文,内容可能达不到预期,请勿盲目订阅!!!更多详细思路请订阅专栏:https://blog.csdn.net/m0_52343631/category_12482955.htmlhttps://blog.csdn.net/m0......
  • 2024年数维杯数学建模竞赛 B题:空间变量的协同估计方法研究 问题二 详细思路和代码
    问题2:利用附件1中的数据研究目标变量与协同变量之间的相关性。选择两个协同变量作为目标变量的估计协同变量。目录步骤概述:具体步骤和代码实现:1.加载数据2.探索性数据分析(EDA)3.计算相关性4.选择协同变量5.建......
  • 第七章课后习题
    习题7.1点击查看代码importnumpyasnpfromscipy.interpolateimportinterp1dfromscipy.integrateimportquadimportmatplotlib.pyplotaspltg=lambdax:(3*x**2+4*x+6)*np.sin(x)/(x**2+8*x+6)x0=np.linspace(0,10,1000)y0=g(x0......
  • 第八章课后习题
    习题8.4点击查看代码fromscipy.integrateimportodeintimportnumpyasnpimportmatplotlib.pyplotasplt#设置Matplotlib不使用LaTeXplt.rc('font',size=15)plt.rc('text',usetex=False)#定义微分方程系统dz=lambdaz,t:[-z[0]**3-z[1],z[0]-......
  • 精准建模与高效设计:LLC共振转换器的增益分析与优化
    LLC谐振转换器简介及其工作原理LLC转换器(LLCResonantConverter)是一种基于谐振电路的高效电力电子变换器。它常用于要求高效率、紧凑型设计和高功率密度的应用,如电源供应、适配器、电动车充电器等。LLC转换器的核心特点是通过使用谐振tank电路,使得电流和电压之间产生相......
  • 项目解决方案: 视频监控接入汇聚平台和三维建模系统融合来实现三维立体可视化指挥系统
    目录一、项目要求描述1、实时视频接入和控制要求2、视频播放要求3、可以提供API接口供其他软件应用程序调用二、方案设计1、方案设计图2、需求实现三、产品和功能描述1、概述2、视频监控接入和汇聚平台(1)概述(2)视频浏览及控制(3)数据信息管理(4)用户权限管理3、流媒体......
  • 数据结构/第二章 线性表/数据结构习题/线性表的习题/考研/期末复习
    一、选择题1.在线性表中,表尾元素(    )。A.有且仅有一个直接前驱        B.有且仅有一个直接后继C.没有直接前驱               D.有多个直接前驱2.在顺序表上按位查找一个元素的时间复杂度是(    )。A.O......