首页 > 其他分享 >习题7.7

习题7.7

时间:2024-11-12 13:41:29浏览次数:1  
标签:leastsq plt fit least values 7.7 习题 squares

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, 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})")

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)

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)

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("\ncurve_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("学号后四位:3008")

结果如下图所示

标签:leastsq,plt,fit,least,values,7.7,习题,squares
From: https://www.cnblogs.com/fang---/p/18541682

相关文章

  • 习题7.1
    importnumpyasnpimportscipy.interpolateasspiimportscipy.integrateasspi_integratedefg(x):return((3*x**2+4*x+6)*np.sin(x))/(x**2+8*x+6)#生成x值x_values=np.linspace(0,10,1000)#计算对应的y值y_values=g(x_values)#创建......
  • 数组算法练习题
    第一题:寻找锦鲤公司年会有一个寻找锦鲤的游戏,每一个员工随意写一个字,如果在“锦鲤”词库中有这个字,那么就奖励500元锦鲤红包,否则就没有,每人只能玩一次。现有锦鲤字库如下,它们按照Unicode编码值从小到大排序:char[]koiFishWords={'一','今','地','定','年','开','我','果','......
  • SQL练习题之统计连续登录七天的用户(开窗实现)
    4.(困难)统计连续登录七天(含七天)以上的用户(开窗和不开窗都要求实现)。SQL文件:user_sign.sql实现思路:#对日期排序,并用denserank开窗排序#对排序编号或日期的天去重,排除一天登录两次的情况#让日期与排序序号做差,如若连续,则差会相等#分组计数相同的差值#差值相等的大于等于......
  • 7.7
    importnumpyasnpfromscipy.optimizeimportcurve_fit,leastsq,least_squaresimportmatplotlib.pyplotaspltdefg(x,a,b):return10*a/(10*b)+(a-10*b)*np.exp(-a*np.sin(x))x=np.arange(1,21)a=1.1b=0.01y=g(x,a,b)defg_fit......
  • 顺序表小小练习题
    文章目录前言1、移除元素题目思路代码2、删除有序数组中的重复项题目思路代码3、合并两个有序数组题目思路代码总结前言上篇博客学习了线性表之顺序表,模拟实现了顺序表的一些功能。今天小编为大家奉上有关顺序表的一些题目,慢慢食之。1、移除元素习题链接:移除......
  • SCAU 高级程序设计语言 教材习题
    SCAU高级程序设计语言教材习题第三章18041分期还款(加强版)Description从银行贷款金额为\(d\),准备每月还款额为\(p\),月利率为\(r\)。请编写程序输入这三个数值,计算并输出多少个月能够还清贷款,输出时保留\(1\)位小数。如果无法还清,请输出“God”计算公式如下:\[m=......
  • centos7.7安装php7.3的lnmp环境和composer详细步骤
    1.更新源yumupdate2.安装nginxyuminstallnginx3.启动nginxservicenginxstart4.访问http://你的ip如果想配置域名,见最下面。5.安装mysql:安装mysql源yumlocalinstallhttp://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm安装:yuminst......
  • Linux基础练习题
    1、截取登录成功界面2、进入用户主目录后切换root用户suroot//输入管理员密码切换到root用户3、在该目录下新建名为teacher和students的文件夹mkdirteacherstudents//使用mkdir创建文件夹ls-a/home/roots//ls-a用于查看是否创建成功4、在teache......
  • Intern大模型训练营(二):leetcode习题+Vscode连接InternStudio debug
    1.Leetcode383:思路:使用两个数组存储两个字符串中出现的字符,然后一一比较数量。classSolution:defcanConstruct(self,ransomNote:str,magazine:str)->bool:cnta=[0]*26cntb=[0]*26forcinransomNote:cnta[or......
  • 二分查找习题篇(上)
    二分查找习题篇(上)1.二分查找题目描述:给定⼀个n个元素==有序的(升序)==整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。示例1:​输入:nums=[-1,0,3,5,9,12],target=9​输出:4解释:9出现在nums......