- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机原理与接口技术研究性报告
微机原理与接口技术研究性报告小组成员:李松云 立 目重述建立一个二维的数据库, 调用数据库数据,利用回归法,三次样条法绘制二维曲线,建立数据库,比如 :转速10001200140018003000扭矩3080100180210查找数值分析方法,或查网,将这组数据的方程求出来,利用计算机将曲线画出来。要求:数据库文件,编辑程序,并演示所绘制的曲线原始数据:SPEEDTORQUEFB_VALFUELCOSPPRpmNmkg/hg/kW.hkW120089.43.36298.8911.241600934.7301.781545.89294.71937.01286.724.462800103.98.72286.1730.463200103.310.02289.5434.62360010211.3293.9638912.19291.3941.854400104.114.58303.8947.974800104.416.83320.8652.465200103.718.74331.9156320.22347.3258521.84363.8960.01算法描述线性回归回归分析的基本问题就是,通过这组样本来估计回归函数;并利用此估计进行预测与控制,即对的某个值,给出的预测区间,以及对的一个指定范围,确定的一个区间,使得限定在此区间取值时,以一定的概率保证落入指定范围.对于的每一个值,假定.在对某些问题的进一步分析中,我们还假定对的每一个值,,这里的方差假定是不依赖于的常数.记,则对的上述假设等价于假设 ,其中都是不依赖于的未知参数.当我们得到的估计,就得到了的估计,称为一元经验线性回归方程,有时也简称为一元回归方程,它所代表的直线图形称为回归直线.可利用最小二乘法来估计通常记,,,于是.三次样条三次样条的基本思想是,将被插函数的插值节点由小到大排序,以每对相邻的两个节点为端点获得若干个小区间,然后在每个小区间上都用的三次差值多项式作为近似函数。如果是的三次样条插值函数,则必须满足以下四个条件:差值条件:连续性条件:一阶导数连续条件:二阶导数连续条件:因为s(x)在每个小区间上是一个次小于三次的多项式,故有四个未知系数;而s(x)有n分段,从而共有4n个未知系数。但插值条件与样条条件仅给出4n-2个条件,无法定出4n个未知系数,还差2个条件,这2个条件我们可用边界条件给出。一般采用的边界条件有三种,我们采取自然边界条件:=0=0从而稍加整理得联合基本方程组得一个n+1阶三对角方程组,化成矩阵形式为:仍然是严格对角占优其中,,,,,求出m0……mn,再代入S(x)的每一段表达式,就求得三次样条函数的表达式。Python实现本次实验我们小组使用python实现曲线拟合和绘图的功能。通过查阅资料我们了解到连接SQL数据库需要一个叫pypyodbc的第三方包。在计算三次样条插值的过程中也需要各种线性方程组的运算。所以需要numpy和scipy。最后的绘图阶段,需要使用matplotlib。通过这几个包,就可以完成Matlab的绝大多数功能。而且和Matlab不同的是,这些完全是开源、免费的。而且生成的图像支持SVG(矢量图),图像质量更高。在scipy库中,已经有了可以进行线性回归的函数scipy.stats.linregress和三次样条插值函数erpolate. interp1d。不过我们小组又自己编写了这两个函数,并在最后给出了对比。下面是python源代码,并在关键语句中补充了注释。 源代码:# -*- coding: utf-8 -*-import numpy as np # 数值计算基础包import scipy.linalg as lin # 解线性方程组import matplotlib.pyplot as plt # 绘图import pypyodbc # 连接数据库# 打开计算机中的Access 数据库conn = pypyodbc.win_connect_mdb(E:\\weiji.mdb) # 为当前数据库获取一个Handler cur = conn.cursor()# 连接数据库# 将Speed列的数据存入x数组中,下同x = [float(i[0]) for i in cur.execute(SELECT Speed FROM Sheet1).fetchall()]t = [float(i[0]) for i in cur.execute(SELECT TORQUE FROM Sheet1).fetchall()]fb =
文档评论(0)