精华内容
下载资源
问答
  • excel二次拟合

    2016-04-25 10:27:49
    二次拟合
  • 二次曲面拟合

    2018-01-17 09:45:49
    完整的二次曲面拟合程序
  • 二次多项式拟合程序

    2013-01-14 10:17:04
    二次多项式拟合程序二次多项式拟合程序二次多项式拟合程序
  • 器学习次回归和二次回归 reshape(行,列)可以根据指定的数值将数据转换为特定的行数列数###reshape(-1,1)之后,数据集变成了列 #采用线性回归方程预测 lr=LinearRegression() lr.fit (X,y) from sklearn....

    器学习一次回归和二次回归

    reshape(行,列)可以根据指定的数值将数据转换为特定的行数和列数###reshape(-1,1)之后,数据集变成了一列

    #采用线性回归方程预测
    lr=LinearRegression()
    lr.fit (X,y)
    from sklearn.linear_model import LinearRegression
    lr = LinearRegression()
    # 训练模型(为了方便没有拆封训练集和测试集)
    X = x.reshape(-1,1)
    print(X.shape)
    lr.fit(X,y)
    # 训练过程就是寻找最佳权重和偏置的过程
    print('权重',lr.coef_,'偏置',lr.intercept_)
    y_predict = lr.predict(X)
    plt.scatter(x,y)
    # 生成线性图,观察预测值与真实值的误差
    plt.plot(x,y_predict,color='r')
    plt.show()
    print(lr.score(X,y))

    一次线性方程不合适,转变为二次线性方程

    # y = w * x + b ===>  y = w1 * x**2 + w2 * x + b
    print((X**2).shape)
    # hstack 在水平方向追加, vstack垂直方向叠加
    X2 = np.hstack([X**2,X])   # 将x^2 作为跟X一样的参数,使多计算一个权重
    print(X2.shape)
    
    ## 
    
    ```python
    import numpy as np
    import matplotlib.pyplot as plt
    # 在指定[-3,3]随机生成size个随机数(代表的特征值)
    x = np.random.uniform(-3,3,size=100)
    print(x,x.shape)
    # 模拟目标值(y) 与x并不是简单的线性关系
    y = 0.5 * x**2 + x + 2 + np.random.normal(0,1,size=100)
    
    # 采用线性回归的方程来预测
    from sklearn.linear_model import LinearRegression
    lr = LinearRegression()
    # 训练模型(为了方便没有拆封训练集和测试集)
    X = x.reshape(-1,1)
    print(X.shape)
    lr.fit(X,y)
    # 训练过程就是寻找最佳权重和偏置的过程
    print('权重',lr.coef_,'偏置',lr.intercept_)
    y_predict = lr.predict(X)
    plt.scatter(x,y)
    # 生成线性图,观察预测值与真实值的误差
    plt.plot(x,y_predict,color='r')
    plt.show()
    print(lr.score(X,y))
    
    
    # y = w * x + b ===>  y = w1 * x**2 + w2 * x + b
    print((X**2).shape)
    # hstack 在水平方向追加, vstack垂直方向叠加
    X2 = np.hstack([X**2,X])   # 将x^2 作为跟X一样的参数,使多计算一个权重
    print(X2.shape)
    # 线性回归模型进行训练
    lr = LinearRegression()
    lr.fit(X2,y)
    # 训练过程就是寻找最佳权重和偏置的过程
    print('权重',lr.coef_,'偏置',lr.intercept_)
    y_predict = lr.predict(X2)
    # 真实的数据集采用散点图显示
    plt.scatter(x,y)
    # 预测数据集,采用线形图显示,必须按照x轴从小到大进行绘制
    # plt.plot(x,y_predict,color='r')
    plt.plot(np.sort(x),y_predict[np.argsort(x)],color='r')
    plt.show()
    print(lr.score(X2,y))
    
    
    展开全文
  • 二次曲面高程拟合

    2013-08-15 11:48:04
    用c语言编写的高程拟合程序,通过对已知点坐标求二次曲面参数,用参数平差法进行拟合。得到二次曲面参数,以及插值点的高程。内附代码。
  • 摄影测量中DEM移动二次拟合,用于确定未知点的高程值
  • %下面程序是灰色模型GM(1,1)程序二次拟合和等维新陈代谢改进预测程序,matlab6.5 ,使用本程序请注明,程序存储为gm1.m  %x = [5999,5903,5848,5700,7884];gm1(x); 测试数据  %二次拟合预测GM(1,1)模型  ...
  • 二次多项式拟合 源码

    2014-09-02 11:01:31
    二次多项式拟合源代码,很实用,拟合效果还不错。
  • 最小二乘法的二次数据拟合
  • 通过二次曲面拟合的方式建立模型,实现大地高,正常高,高程异常值之间的相互转换,实现拟合模型成功建立。
  • 介绍基于双能量γ射线透射法测量煤灰分原理的二次曲线拟合算法,解决传统同一矿源煤灰分测量直线拟合算法过程烦琐有效测量范围小等问题,简要介绍最小二乘法的基本原理以及传统直线拟合算法的数学模型,并用MATLAB...
  • 二次曲面拟合求三维点集的主曲率、高斯曲率、平均曲率。(python版本)

    一、理论知识

    1、主曲率、平均曲率与高斯曲率

      曲率是曲线弯曲程度的一个度量。平均曲率作为微分几何中一个“外在的”弯曲测量标准,对一个曲面嵌入周围空间(比如二维曲面嵌入三维欧式空间)的曲率进行了区部描述。高斯曲率作为一个描述曲面的凹凸性质的量,当这个量变化程度较大的时候表面曲面内部变化也比较大,这就表明曲面的光滑程度越低。点云中任意一点都存在某曲面 z = r

    展开全文
  • 在多变量函数中,梯度是个向量,(向量具有方向,有该点指向上升最快的方向); 梯度的方向:函数中某切点上升最快的方向 梯度下降法的基本思想 可以将函数类比座山,梯度下降法相当于移步到达山谷。我们都知道...

    梯度

    在单变量函数中,梯度其实就是函数的微分形式,代表着在某点处,函数的切线的斜率;
    在多变量函数中,梯度是一个向量,(向量具有方向,有该点指向上升最快的方向);
    梯度的方向:函数中某切点上升最快的方向

    梯度下降法的基本思想

    可以将函数类比一座山,梯度下降法相当于移步到达山谷。我们都知道沿着最陡峭的山坡,到达山谷的速度最快。在数学中就是特定点梯度,沿着梯度的反方向,就能让函数下降的最快方向。反复的下降(移步),就能到达局部最小值(全局最小值)。

    损失函数(Loss Function)

    损失函数有多种,本次演例使用MSE损失函数。
    在这里插入图片描述
    在这里插入图片描述

    计算二次函数极值

    # 函数: x**2 + 3*x + 4的极值点
    # 导数为:2*x + 3,在x=-1.5出有极小值
    x_pre = -5  # 初始值
    n_now = 1  # 梯度下降的初始值
    lr = 0.01  # 学习率
    count = 0  # 迭代次数
    pression = 0.0001  # 精度
    while abs(x_pre - x_now) >= pression:
    	x_pre = x_now
    	x_now = x_pre - lr*(2 * x_pre + 3)
    	count += 1
    print(count)   
    print(x_now)   
    
    309
    -1.4951381965479744
    

    拟合一次曲线

    对离散数据点,拟合一次曲线

    m = 100           # 数据点数量
    lr = 0.01         # 学习率
    epochs = 1000     # 迭代次数
    theta = np.random.randn(2, 1)                # 随机生成权重
    x = np.sort(np.random.rand(100, 1), axis=0)  # 随机生成横坐标(服从正太分布), 相当于做归一化
    x_c = np.c_[np.ones((100, 1)), x]            # 在数据前面,添加数据
    y = 4 + 3 * x + np.random.randn(100, 1)      # 生成纵坐标, 
    for _ in range(epochs):
        gradient = (1/m) * np.dot(x_c.T, (np.dot(x_c, theta) - y))
        theta = theta - lr * gradient
    
    print(theta)
    plt.scatter(x, y)
    plt.plot(x, theta[1] * x + theta[0])
    plt.show()
    
    [[3.99855097]
     [2.98841104]]
    

    在这里插入图片描述

    拟合二次曲线

    lr = 0.01     # 学习率
    m = 100       # 数据数量
    epochs = 100  # 迭代次数
    np.random.seed(10)
    theta = np.random.randn(3, 1)                      # 随机初始化权重,符合正太分布
    x = np.sort(np.random.randn(m, 1), axis=0)         # 生成随机横坐标,服从正太分布,相当与对横坐标做归一化处理
    x_c = np.c_[np.ones_like(x), x, x**2]              # 在数据前和后,添加数据
    y = 4 * x ** 2 + 3 * x + 10 + np.random.randn(m, 1)  # 生成纵坐标
    # 梯度下降
    for _ in range(epochs):
        gradient = (1 / m) * np.dot(x_c.T, np.dot(x_c, theta) - y)
        theta = theta - lr * gradient
    
    plt.scatter(x, y)
    plt.plot(x, theta[2] * x ** 2 + theta[1] * x + theta[0])
    plt.show()
    
    [[6.99941591]
     [2.26086401]
     [5.01650791]]
    

    在这里插入图片描述

    展开全文
  • matlab一次拟合程序

    千次阅读 2020-03-22 15:01:11
    %求一次拟合的程序 close all %输入数据单位处理 data_all=load('enc1.csv');% load data from file. Cd0=data_all(:,1); %取第列 ENC0=data_all(:,2); %取第列 Cd=Cd0*10^12;%单位pF ENC=ENC0;%单位化为mV %...
    %作者:ss_CSDN
    %20200322
    
    %求一次拟合的程序
    
    close all
    %输入数据单位处理
    data_all=load('enc1.csv');% load data from file.
    Cd0=data_all(:,1); %取第一列
    ENC0=data_all(:,2); %取第二列
    
    Cd=Cd0*10^12;%单位pF
    ENC=ENC0;%单位化为mV
    
    %拟合
    A=polyfit(Cd,ENC,1)   %y=1x+b p=[a b]线性拟合
    ENC_new=polyval(A,Cd);%拟合函数
    
    
    %画图
    figure;
    
    plot(Cd,ENC,'ro','LineWidth',3)%原曲线
    hold on
    plot(Cd,ENC_new,'k-','LineWidth',1.5)%拟合曲线
    grid on  %加网格
    xlabel('探测器电容/pF');
    ylabel('等效电荷噪声/e-');
    legend('原曲线','线性拟合曲线');
    %title('ENC-Cd曲线');
    axis([0 1.1*max(Cd) 0 1.1*max(ENC)]);
    text_handle = text(0.3*max(Cd),0.25*max(ENC), sprintf('ENC=%2.0fe-+%2.3fe-/pF×Cd',A(2),A(1)),'FontSize',15);%在图上显示线性度的值,显示的字体
    
    %求enc=60e-的Cd值
    syms x
    x = solve('A(2)+A(1)*x=60');
    x1=eval(x)

     

    展开全文
  • 该工具箱提供了个相当全面的工具集,用于在变量误差上下文中估计二次曲线曲面,有约束无约束。 除了经典的拟合方法,例如最小二乘法(有没有曲线或曲面法线)、Taubin 方法、Fitzgibbon 等人的直接椭圆拟合...
  • 二次曲线拟合

    千次阅读 2014-12-18 00:32:09
    二次多项式函数拟合
  • tensorflow一元二次函数拟合

    千次阅读 2019-01-01 09:59:45
    先看下要做的内容,创建一元二次函数y=x平方-0.5,其中为了更符合散点图模拟需要,在方程加噪点,以标准方差0.05行驶,如图所示 折线图 散点图 下面我们要做的,是要计算机自动拟合出该散点图的函数,画出图样,...
  • 二次曲线拟合在煤灰分计算的应用
  • spline 拟合二次函数

    2018-12-06 10:41:53
    使用spline(三次样条法)进行多项式逼近二次函数。code in matlab
  • 个工程中的应用,需要对组数据做上面四种形式的nihe
  • 二次曲面拟合DEM内插

    2011-11-17 18:31:59
    运用二次曲面法拟合根据周围临近8点内插已知平面坐标的高程坐标 DEM 适合地球空间地理信息专业的课程设计,如测绘遥感空间……有点鸡肋
  • 主要用了二次拟合的内插方法对DEM数据进行内插。
  • 利用matlab拟合三维离散点对应的二次曲面。 其中,二次曲面公式为z = x^2 + y^2 + xy + x + y
  • 二次拟合MATLAB m文件代码
  • python中利用最小二乘拟合二次抛物线函数

    万次阅读 多人点赞 2017-10-30 23:07:10
    1.最小二乘也可以拟合二次函数我们都知道用最小二乘拟合线性函数没有问题,那么能不能拟合二次函数甚至更高次的函数呢?答案当然是可以的。下面我们就来试试用最小二乘来拟合抛物线形状的的图像。对于二次函数来说,...
  • 先看下要做的内容,创建一元二次函数y=x平方-0.5,其中为了更符合散点图模拟需要,在方程加噪点,以标准方差0.05行驶,如图所示 折线图 散点图 下面我们要做的,是要计算机自动拟合出该散点图的函数,画出...
  • 二元二次拟合 matlab函数

    千次阅读 2018-10-14 18:55:08
    二元二次拟合自变量有2个,因变量个,可以使用的有nlinfitregress,线性时用regress,非线性时用nlinfit。由于是二元二次模型,2个函数都可以用。 以regress为例, 假设因变量存在y向量中,自变量存在x1、x2向量...
  • 常用的高次非线性拟合matlab源代码,内含二次和非线性拟合的教程,还有部分神经网络的源代码

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 88,165
精华内容 35,266
关键字:

一次拟合和二次拟合