最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

1 泰勒級(jí)數(shù)介紹

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

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

定理

以下圖截取自百度百科。

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

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

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

2.1 將sin(x)展開成泰勒級(jí)數(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)計(jì)算誤差值

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

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

2.4 完整java代碼實(shí)現(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; // 泰勒級(jí)數(shù)的第一項(xiàng)
            double x = x0; // 迭代得到的新的x值
            for (int i = 1; i <= 2*n+1; i++) {
                term *= -x0*x0/(i*(i+1)); // 計(jì)算泰勒級(jí)數(shù)的下一項(xiàng)
                x += term; // 累加泰勒級(jí)數(shù)的各項(xiàng)
            }
            error = Math.abs(x - x0); // 計(jì)算誤差值
            x0 = x; // 更新x0的值
            n++; // 迭代次數(shù)加1
        }
        System.out.println("sin(x) = 0 的一個(gè)解為 x = " + x0);
    }
}

運(yùn)行結(jié)果:

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

3 總結(jié)

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

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

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

相關(guān)文章

  • spring的jdbctemplate的crud的基類dao

    spring的jdbctemplate的crud的基類dao

    本文主要介紹了使用spring的jdbctemplate進(jìn)行增刪改查的基類Dao的簡單寫法,需要的朋友可以參考下
    2014-02-02
  • 小白教程! Linux服務(wù)器上JDK安裝配置方法

    小白教程! Linux服務(wù)器上JDK安裝配置方法

    這篇文章主要為大家詳細(xì)介紹了Linux服務(wù)器上JDK安裝配置方法,小白教程!具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • java郵件發(fā)送簡單實(shí)現(xiàn)代碼

    java郵件發(fā)送簡單實(shí)現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了java郵件發(fā)送簡單實(shí)現(xiàn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • 淺談Spring Cloud Eureka 自我保護(hù)機(jī)制

    淺談Spring Cloud Eureka 自我保護(hù)機(jī)制

    這篇文章主要介紹了淺談Spring Cloud Eureka 自我保護(hù)機(jī)制,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-06-06
  • 總結(jié)Java常用加解密方法AES?SHA1?md5

    總結(jié)Java常用加解密方法AES?SHA1?md5

    這篇文章主要為大家介紹了Java常用加密方法AES?SHA1?md5總結(jié)及示例demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • springboot發(fā)送郵件功能的實(shí)現(xiàn)代碼

    springboot發(fā)送郵件功能的實(shí)現(xiàn)代碼

    發(fā)郵件是一個(gè)很常見的功能,在java中實(shí)現(xiàn)需要依靠JavaMailSender這個(gè)接口,今天通過本文給大家分享springboot發(fā)送郵件功能的實(shí)現(xiàn)代碼,感興趣的朋友跟隨小編一起看看吧
    2021-07-07
  • Java中Spring WebSocket詳解

    Java中Spring WebSocket詳解

    本篇文章主要通過代碼給大家詳細(xì)分析了Java中Spring WebSocket的用法,需要的讀者們參考學(xué)習(xí)下吧。
    2017-12-12
  • Feign如何使用protobuf的類作為參數(shù)調(diào)用

    Feign如何使用protobuf的類作為參數(shù)調(diào)用

    這篇文章主要介紹了Feign如何使用protobuf的類作為參數(shù)調(diào)用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java實(shí)現(xiàn)JDK動(dòng)態(tài)代理的原理詳解

    Java實(shí)現(xiàn)JDK動(dòng)態(tài)代理的原理詳解

    這篇文章主要介紹了Java實(shí)現(xiàn)JDK動(dòng)態(tài)代理的原理詳解,Java常用的動(dòng)態(tài)代理模式有JDK動(dòng)態(tài)代理,也有cglib動(dòng)態(tài)代理,本文重點(diǎn)講解JDK的動(dòng)態(tài)代理,需要的小伙伴可以參考一下的相關(guān)資料
    2022-07-07
  • Java使用lambda自定義Arrays.sort排序規(guī)則說明

    Java使用lambda自定義Arrays.sort排序規(guī)則說明

    這篇文章主要介紹了Java使用lambda自定義Arrays.sort排序規(guī)則說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05

最新評(píng)論

兴城市| 宁海县| 开原市| 平泉县| 大埔县| 米林县| 拉孜县| 广汉市| 项城市| 罗山县| 新晃| 东乡族自治县| 广安市| 恩施市| 察哈| 浮梁县| 洪江市| 兴隆县| 西盟| 通渭县| 林口县| 泸水县| 桃江县| 新竹市| 措美县| 上虞市| 特克斯县| 丹棱县| 长白| 通河县| 武隆县| 施甸县| 太仓市| 昌宁县| 桐梓县| 金平| 交城县| 方正县| 奉贤区| 金华市| 泰兴市|