婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 詳解Python牛頓插值法

詳解Python牛頓插值法

熱門標簽:公司電話機器人 激戰2地圖標注 哈爾濱ai外呼系統定制 海南400電話如何申請 唐山智能外呼系統一般多少錢 白銀外呼系統 廣告地圖標注app 陜西金融外呼系統 騰訊外呼線路

一、牛頓多項式

拉格朗日多項式的公式不具備遞推性,每個多項式需要單獨構造。但很多時候我們需要從若干個逼近多項式選擇一個。這個時候我們就需要一個具有遞推關系的方法來構造——牛頓多項式

這里的的a0,a1…等可以通過逐一帶入點的值來求得。但是當項數多起來時,會發現式子變得很大,這個時候我們便要引入差商的概念(利用差分思想)具體見式子能更好理解


這里在編程實現中我們可以推出相應的差商推導方程

d(k,0)=y(k)
d(k,j)=(d(k,j-1)-d(k-1,j-1)) / (x(k)-x(k-j))

二、例題

【問題描述】考慮[0,3]內的函數y=f(x)=cos(x)。利用多個(最多為6個)節點構造牛頓插值多項式。
【輸入形式】在屏幕上依次輸入在區間[0,3]內的一個值x*,構造插值多項式后求其P(x*)值,和多個節點的x坐標。
【輸出形式】輸出牛頓插值多項式系數向量,差商矩陣,P(x*)值(保留6位有效數字),和與真實值的絕對誤差(使用科學計數法,保留小數點后6位有數字)。
【樣例1輸入】
0.8
0 0.5 1
【樣例1輸出】
-0.429726
-0.0299721
1
1 0 0
0.877583 -0.244835 0
0.540302 -0.674561 -0.429726
0.700998
4.291237e-03
【樣例1說明】
輸入:x為0.8,3個節點為(k, cos(k)),其中k = 0, 0.5, 1。
輸出:
牛頓插值多項式系數向量,表示P2(x)=-0.429726x^2 - 0.0299721x + 1;
3行3列的差商矩陣;
當x
為0.8時,P2(0.8)值為0.700998
與真實值的絕對誤差為:4.291237*10^(-3)
【評分標準】根據輸入得到的輸出準確

三、ACcode:

C++(后面還有python代碼)

/*
 * @Author: csc
 * @Date: 2021-04-30 08:52:45
 * @LastEditTime: 2021-04-30 11:57:46
 * @LastEditors: Please set LastEditors
 * @Description: In User Settings Edit
 * @FilePath: \code_formal\course\cal\newton_quo.cpp
 */
#include bits/stdc++.h>
#define pr printf
#define sc scanf
#define for0(i, n) for (i = 0; i  n; i++)
#define for1n(i, n) for (i = 1; i = n; i++)
#define forab(i, a, b) for (i = a; i = b; i++)
#define forba(i, a, b) for (i = b; i >= a; i--)
#define pb push_back
#define eb emplace_back
#define fi first
#define se second
#define int long long
#define pii pairint, int>
#define vi vectorint>
#define vii vectorvectorint>>
#define vt3 vectortupleint, int, int>>
#define mem(ara, n) memset(ara, n, sizeof(ara))
#define memb(ara) memset(ara, false, sizeof(ara))
#define all(x) (x).begin(), (x).end()
#define sq(x) ((x) * (x))
#define sz(x) x.size()
const int N = 2e5 + 100;
const int mod = 1e9 + 7;
namespace often
{
    inline void input(int res)
    {
        char c = getchar();
        res = 0;
        int f = 1;
        while (!isdigit(c))
        {
            f ^= c == '-';
            c = getchar();
        }
        while (isdigit(c))
        {
            res = (res  3) + (res  1) + (c ^ 48);
            c = getchar();
        }
        res = f ? res : -res;
    }
    inline int qpow(int a, int b)
    {
        int ans = 1, base = a;
        while (b)
        {
            if (b  1)
                ans = (ans * base % mod + mod) % mod;
            base = (base * base % mod + mod) % mod;
            b >>= 1;
        }
        return ans;
    }
    int fact(int n)
    {
        int res = 1;
        for (int i = 1; i = n; i++)
            res = res * 1ll * i % mod;
        return res;
    }
    int C(int n, int k)
    {
        return fact(n) * 1ll * qpow(fact(k), mod - 2) % mod * 1ll * qpow(fact(n - k), mod - 2) % mod;
    }
    int exgcd(int a, int b, int x, int y)
    {
        if (b == 0)
        {
            x = 1, y = 0;
            return a;
        }
        int res = exgcd(b, a % b, x, y);
        int t = y;
        y = x - (a / b) * y;
        x = t;
        return res;
    }
    int invmod(int a, int mod)
    {
        int x, y;
        exgcd(a, mod, x, y);
        x %= mod;
        if (x  0)
            x += mod;
        return x;
    }
}
using namespace often;
using namespace std;

int n;

signed main()
{
    auto polymul = [](vectordouble> v, double er) {
        v.emplace_back(0);
        vectordouble> _ = v;
        int m = sz(v);
        for (int i = 1; i  m; i++)
            v[i] += er * _[i - 1];
    };
    auto polyval = [](vectordouble> const c, double const _x) -> double {
        double res = 0.0;
        int m = sz(c);
        for (int ii = 0; ii  m; ii++)
            res += c[ii] * pow(_x, (double)(m - ii - 1));
        return res;
    };

    int __ = 1;
    //input(_);
    while (__--)
    {
        double _x, temp;
        cin >> _x;
        vectordouble> x, y;
        while (cin >> temp)
            x.emplace_back(temp), y.emplace_back(cos(temp));
        n = x.size();
        vectorvectordouble>> a(n, vectordouble>(n));
        int i, j;
        for0(i, n) a[i][0] = y[i];
        forab(j, 1, n - 1) forab(i, j, n - 1) a[i][j] = (a[i][j - 1] - a[i - 1][j - 1]) / (x[i] - x[i - j]);
        vectordouble> v;
        v.emplace_back(a[n - 1][n - 1]);
        forba(i, 0, n - 2)
        {
            polymul(v, -x[i]);
            int l = sz(v);
            v[l - 1] += a[i][i];
        }

        for0(i, n)
            pr("%g\n", v[i]);
        for0(i, n)
        {
            for0(j, n)
                pr("%g ", a[i][j]);
            puts("");
        }
        double _y =  polyval(v, _x);
        pr("%g\n", _y);
        pr("%.6e",fabs(_y-cos(_x)));
    }

    return 0;
}

python代碼

'''
Author: csc
Date: 2021-04-29 23:00:57
LastEditTime: 2021-04-30 09:58:07
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath: \code_py\newton_.py
'''
import numpy as np


def difference_quotient(x, y):
    n = len(x)
    a = np.zeros([n, n], dtype=float)
    for i in range(n):
        a[i][0] = y[i]
    for j in range(1, n):
        for i in range(j, n):
            a[i][j] = (a[i][j-1]-a[i-1][j-1])/(x[i]-x[i-j])
    return a


def newton(x, y, _x):
    a = difference_quotient(x, y)
    n = len(x)
    s = a[n-1][n-1]
    j = n-2
    while j >= 0:
        s = np.polyadd(np.polymul(s, np.poly1d(
            [x[j]], True)), np.poly1d([a[j][j]]))
        j -= 1
    for i in range(n):
        print('%g' % s[n-1-i])
    for i in range(n):
        for j in range(n):
            print('%g' % a[i][j], end=' ')
        print()
    _y = np.polyval(s, _x)
    print('%g' % _y)
    # re_err
    real_y = np.cos(_x)
    err = abs(_y-real_y)
    print('%.6e' % err)


def main():
    _x = float(input())
    x = list(map(float, input().split()))
    y = np.cos(x)
    newton(x, y, _x)


if __name__ == '__main__':
    main()

到此這篇關于詳解Python牛頓插值法的文章就介紹到這了,更多相關Python牛頓插值法內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python排序算法的簡單實現方法
  • Python實現K-means聚類算法并可視化生成動圖步驟詳解
  • 用Python給圖像算法做個簡單應用界面
  • python利用K-Means算法實現對數據的聚類案例詳解
  • Python機器學習之Kmeans基礎算法
  • Python自然語言處理之切分算法詳解
  • python入門之算法學習
  • python實現線性回歸算法
  • 盤點Python加密解密模塊hashlib的7種加密算法(推薦)
  • Python實現七大查找算法的示例代碼

標簽:常德 黔西 鷹潭 四川 益陽 惠州 上海 黑龍江

巨人網絡通訊聲明:本文標題《詳解Python牛頓插值法》,本文關鍵詞  詳解,Python,牛頓,插值,法,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《詳解Python牛頓插值法》相關的同類信息!
  • 本頁收集關于詳解Python牛頓插值法的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    精品一区二区三区在线视频| 欧美一级一区二区| 久久久久9999亚洲精品| 99精品视频中文字幕| 亚洲免费高清视频在线| 欧美顶级少妇做爰| 狠狠久久亚洲欧美| 国产精品久久久久三级| 欧美人牲a欧美精品| 不卡视频在线看| 日韩不卡一区二区三区| 中文字幕人成不卡一区| 日韩欧美亚洲国产另类| 色偷偷88欧美精品久久久| 亚洲国产欧美日韩另类综合 | 免费一级欧美片在线观看| 国产欧美视频一区二区三区| 欧美日韩国产在线播放网站| 成人av高清在线| 黑人精品欧美一区二区蜜桃| 亚洲在线视频一区| 亚洲国产wwwccc36天堂| 一区二区三区四区av| 亚洲免费观看在线观看| 国产精品视频你懂的| 国产精品的网站| 亚洲同性gay激情无套| 亚洲欧美日韩国产综合| 亚洲一区二区三区美女| 亚洲一区二区欧美激情| 日本亚洲欧美天堂免费| 六月丁香婷婷久久| 国产福利电影一区二区三区| 成人污视频在线观看| www.成人在线| 欧洲精品在线观看| 欧美性大战久久久| 欧美日韩国产一区| 日韩一区二区三区视频在线| 91精品国产美女浴室洗澡无遮挡| 56国语精品自产拍在线观看| 波多野结衣欧美| 不卡av电影在线播放| 色综合天天综合网天天看片| 欧美性受xxxx黑人xyx| 6080日韩午夜伦伦午夜伦| 一区二区在线观看视频| 亚洲不卡一区二区三区| 老司机午夜精品| 白白色亚洲国产精品| 欧美视频在线播放| 久久综合狠狠综合久久综合88 | 一区二区欧美视频| 日韩电影免费在线看| 国产福利91精品| 91蜜桃传媒精品久久久一区二区| 欧美性视频一区二区三区| 精品国产伦一区二区三区观看方式| 中文字幕亚洲电影| 精东粉嫩av免费一区二区三区| 不卡一二三区首页| 精品久久久久av影院| 一色桃子久久精品亚洲| 青青草国产精品97视觉盛宴| 床上的激情91.| 日韩一区和二区| 日韩美女久久久| 国产一区二区视频在线播放| 欧美在线一二三| 中文字幕精品综合| 久久精品av麻豆的观看方式| 国产一区亚洲一区| 欧美另类z0zxhd电影| 国产精品国产三级国产aⅴ无密码| 日本不卡在线视频| 色天天综合色天天久久| 久久精品夜色噜噜亚洲aⅴ| 亚洲午夜久久久久| 成人国产精品视频| 久久夜色精品国产欧美乱极品| 亚洲成a人片在线观看中文| 99精品视频在线观看免费| 日韩欧美一区二区免费| 午夜免费欧美电影| 91国产精品成人| 国产精品久久久久久久午夜片| 国产综合成人久久大片91| 6080午夜不卡| 亚洲午夜免费电影| 在线一区二区三区| 亚洲理论在线观看| 91亚洲男人天堂| 国产精品色呦呦| 成人av在线资源| 国产精品的网站| jizzjizzjizz欧美| 亚洲婷婷在线视频| www.亚洲人| 亚洲日本成人在线观看| 99综合影院在线| 亚洲欧美怡红院| 国产91丝袜在线18| 中文字幕一区不卡| 欧美无砖专区一中文字| 五月天亚洲精品| 欧美肥妇毛茸茸| 经典一区二区三区| 国产精品国产精品国产专区不蜜 | 日韩丝袜美女视频| 麻豆成人91精品二区三区| 欧美精品一区二区三区蜜桃| 国产自产v一区二区三区c| 26uuu精品一区二区| 国产成人av在线影院| 久久九九久精品国产免费直播| 成人黄色777网| 亚洲在线观看免费| 91精品国产综合久久久蜜臀图片| 怡红院av一区二区三区| 3751色影院一区二区三区| 免费观看日韩av| 日韩欧美国产精品| 菠萝蜜视频在线观看一区| 国产亚洲精久久久久久| 丁香婷婷综合色啪| 国产精品女主播av| 欧美久久久久久蜜桃| 奇米一区二区三区| 欧美精品一区二区三区久久久| 国产一区二区影院| 亚洲一区二区高清| 777色狠狠一区二区三区| 蜜臀精品久久久久久蜜臀| 日韩小视频在线观看专区| 亚洲欧美一区二区视频| 精品国精品自拍自在线| 成人在线综合网| 亚洲免费av网站| 91精品国产色综合久久ai换脸| 亚洲永久免费视频| 国产日韩欧美制服另类| 91一区二区在线| 亚洲国产视频直播| 日韩精品一区二区三区蜜臀| 国内精品免费在线观看| 国产精品第五页| 欧美日韩中字一区| 国内精品在线播放| **欧美大码日韩| 欧美国产精品一区二区| 欧美日韩高清一区二区不卡| 精品一区二区在线播放| 亚洲男人的天堂在线aⅴ视频| 欧美丝袜第三区| 国产乱理伦片在线观看夜一区| 日韩国产在线一| 国产精品拍天天在线| 在线不卡欧美精品一区二区三区| 国产精品18久久久久久久久| 国产视频一区在线播放| 3atv在线一区二区三区| 国产激情视频一区二区在线观看| 欧美精选一区二区| 久久久99久久精品欧美| 免费在线观看不卡| 在线免费观看不卡av| 亚洲电影一区二区| 欧美精品一区二区三区在线播放 | 精品国产伦理网| 国模无码大尺度一区二区三区| 日韩av午夜在线观看| 国产亲近乱来精品视频| 欧美写真视频网站| 福利电影一区二区| 国产在线观看免费一区| 亚洲超丰满肉感bbw| 综合婷婷亚洲小说| 久久精品亚洲乱码伦伦中文| 97se亚洲国产综合自在线观| 成人激情免费视频| 狠狠狠色丁香婷婷综合激情 | 日韩三级精品电影久久久| 色香蕉久久蜜桃| 成人高清免费在线播放| 国产又黄又大久久| 国产二区国产一区在线观看| 日韩av在线免费观看不卡| 亚洲精品国产第一综合99久久| 国产欧美日韩另类视频免费观看| 欧美日韩国产精品成人| 91麻豆精品国产自产在线观看一区 | 中文一区二区完整视频在线观看| 欧美精品亚洲一区二区在线播放| 91精品国产麻豆国产自产在线 | 欧美理论片在线| 色94色欧美sute亚洲13| 99精品一区二区三区| 成人动漫在线一区| 经典一区二区三区| 狠狠色综合日日|