亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

sin(x)如何求解的java代碼實現(xiàn)方法

 更新時間:2023年04月26日 16:55:02   作者:八斗五車  
這篇文章主要為大家介紹了sin(x)如何求解的java代碼實現(xiàn)方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

1 泰勒級數(shù)介紹

近期工作中需要使用matlab建模,期間做案例的時候有個方程:sin(x)=0,要求不使用現(xiàn)有api進行求解,然后有點懵,不知道如何下手,最后翻了很多資料終于有點頭緒。有了java的解題思路,再把思路轉(zhuǎn)變?yōu)閟tateflow就簡單了。

在數(shù)學(xué)中,泰勒級數(shù)用無限項連加式——級數(shù)來表示一個函數(shù),這些相加的項由函數(shù)在某一點的導(dǎo)數(shù)求得。泰勒級數(shù)是以于1715年發(fā)表了泰勒公式的英國數(shù)學(xué)家布魯克·泰勒的名字來命名的。通過函數(shù)在自變量零點的導(dǎo)數(shù)求得的泰勒級數(shù)又叫做麥克勞林級數(shù),以蘇格蘭數(shù)學(xué)家科林·麥克勞林的名字命名。 泰勒級數(shù)在近似計算中有重要作用。

定理

以下圖截取自百度百科。

泰勒級數(shù)的重要性體現(xiàn)在以下三個方面:

  • 冪級數(shù)的求導(dǎo)和積分可以逐項進行,因此求和函數(shù)相對比較容易。
  •  一個解析函數(shù)可被延伸為一個定義在復(fù)平面上的一個開區(qū)域上的泰勒級數(shù)通過解析延拓得到的函數(shù),并使得復(fù)分析這種手法可行。 
  • 泰勒級數(shù)可以用來近似計算函數(shù)的值。

2 sin(x)泰勒級數(shù)變換求解

2.1 將sin(x)展開成泰勒級數(shù)的形式

sin(x) = x - x^3/3! + x^5/5! - x^7/7! + ...

2.2 定義變量

double x0 = 1.0; // 初始值
double error = 1.0; // 誤差值
double tolerance = 1e-6; // 精度值
int n = 1; // 迭代次數(shù)

2.3  循環(huán)計算誤差值

使用迭代公式不斷逼近解,直到誤差值小于精度值為止

while (error > tolerance) {
    double term = x0; // 泰勒級數(shù)的第一項
    double x = x0; // 迭代得到的新的x值
    for (int i = 1; i <= 2*n+1; i++) {
        term *= -x0*x0/(i*(i+1)); // 計算泰勒級數(shù)的下一項
        x += term; // 累加泰勒級數(shù)的各項
    }
    error = Math.abs(x - x0); // 計算誤差值
    x0 = x; // 更新x0的值
    n++; // 迭代次數(shù)加1
}

2.4 完整java代碼實現(xiàn)

public class Main {
    public static void main(String[] args) {
        double x0 = 1.0; // 初始值
        double error = 1.0; // 誤差值
        double tolerance = 1e-6; // 精度值
        int n = 1; // 迭代次數(shù)
        while (error > tolerance) {
            double term = x0; // 泰勒級數(shù)的第一項
            double x = x0; // 迭代得到的新的x值
            for (int i = 1; i <= 2*n+1; i++) {
                term *= -x0*x0/(i*(i+1)); // 計算泰勒級數(shù)的下一項
                x += term; // 累加泰勒級數(shù)的各項
            }
            error = Math.abs(x - x0); // 計算誤差值
            x0 = x; // 更新x0的值
            n++; // 迭代次數(shù)加1
        }
        System.out.println("sin(x) = 0 的一個解為 x = " + x0);
    }
}

運行結(jié)果:

sin(x) = 0 的一個解為 x = 3.141592653589793

3 總結(jié)

說實話,做了這么多年的開發(fā),沒有去注重這些實現(xiàn),都是直接使用api。真正哪天需要從基礎(chǔ)開始實現(xiàn)的時候,真的一頭霧水。

這幾天學(xué)了matlab,才知道自己知識多么薄弱,往后需要大補啊。

以上就是sin(x)如何求解的java代碼實現(xiàn)方法的詳細(xì)內(nèi)容,更多關(guān)于java sin(x)求解的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C# TreeNode案例詳解

    C# TreeNode案例詳解

    這篇文章主要介紹了C# TreeNode案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • SpringBoot+Spring?Data?JPA整合H2數(shù)據(jù)庫的示例代碼

    SpringBoot+Spring?Data?JPA整合H2數(shù)據(jù)庫的示例代碼

    H2數(shù)據(jù)庫是一個開源的關(guān)系型數(shù)據(jù)庫,本文重點給大家介紹SpringBoot+Spring?Data?JPA整合H2數(shù)據(jù)庫的示例代碼,感興趣的朋友跟隨小編一起看看吧
    2022-02-02
  • Zuul 實現(xiàn)網(wǎng)關(guān)轉(zhuǎn)發(fā)的五種方式小結(jié)

    Zuul 實現(xiàn)網(wǎng)關(guān)轉(zhuǎn)發(fā)的五種方式小結(jié)

    這篇文章主要介紹了Zuul 實現(xiàn)網(wǎng)關(guān)轉(zhuǎn)發(fā)的五種方式小結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Map獲取鍵值,Map的幾種遍歷方法總結(jié)(推薦)

    Map獲取鍵值,Map的幾種遍歷方法總結(jié)(推薦)

    下面小編就為大家?guī)硪黄狹ap獲取鍵值,Map的幾種遍歷方法總結(jié)(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • SpringBoot整合Echarts實現(xiàn)數(shù)據(jù)大屏

    SpringBoot整合Echarts實現(xiàn)數(shù)據(jù)大屏

    這篇文章給大家介紹了三步實現(xiàn)SpringBoot全局日志記錄,整合Echarts實現(xiàn)數(shù)據(jù)大屏,文中通過代碼示例給大家介紹的非常詳細(xì),具有一定的參考價值,需要的朋友可以參考下
    2024-03-03
  • Java Annotation詳解及實例代碼

    Java Annotation詳解及實例代碼

    這篇文章主要介紹了Java Annotation詳解及實例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • 如何使用pipeline和jacoco獲取自動化測試代碼覆蓋率

    如何使用pipeline和jacoco獲取自動化測試代碼覆蓋率

    這篇文章主要介紹了如何使用pipeline和jacoco獲取自動化測試代碼覆蓋率,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • 基于java時區(qū)轉(zhuǎn)換夏令時的問題及解決方法

    基于java時區(qū)轉(zhuǎn)換夏令時的問題及解決方法

    下面小編就為大家分享一篇基于java時區(qū)轉(zhuǎn)換夏令時的問題及解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-11-11
  • SpringBoot整合MongoDB流程詳解

    SpringBoot整合MongoDB流程詳解

    這篇文章主要介紹了SpringBoot整合MongoDB流程詳解,MongoDB是一種面向文檔的數(shù)據(jù)庫管理系統(tǒng),它是一個介于關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫之間的產(chǎn)品,MongoDB支持一種類似JSON的BSON數(shù)據(jù)格式,既可以存儲簡單的數(shù)據(jù)格式,也可以存儲復(fù)雜的數(shù)據(jù)類型,需要的朋友可以參考下
    2024-01-01
  • Spring的CorsFilter會失效的原因及解決方法

    Spring的CorsFilter會失效的原因及解決方法

    眾所周知CorsFilter是Spring提供的跨域過濾器,我們可能會做以下的配置,基本上就是允許任何跨域請求,我利用Spring的CorsFilter做跨域操作但是出現(xiàn)報錯,接下來小編就給大家介紹一Spring的CorsFilter會失效的原因及解決方法,需要的朋友可以參考下
    2023-09-09

最新評論