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

Apache Commons Math3探索之快速傅立葉變換代碼示例

 更新時(shí)間:2017年10月19日 15:30:33   作者:狐帝  
這篇文章主要介紹了Apache Commons Math3探索之快速傅立葉變換代碼示例,具有一定參考價(jià)值,需要的朋友可以了解下。

上一篇文章中我們了解了Apache Commons Math3探索之多項(xiàng)式曲線擬合實(shí)現(xiàn)代碼,今天我們就來(lái)看看如何通過(guò)apache commons math3實(shí)現(xiàn)快速傅里葉變換,下面是具體內(nèi)容。

傅立葉變換:org.apache.commons.math3.transform.FastFourierTransformer類。

用法示例代碼:

double inputData = new double[arrayLength]; 
// ... 給inputData賦值 
FastFourierTransformer fft = new FastFourierTransformer(DftNormalization.STANDARD); 
Complex[] result = fft.transform(inputData, TransformType.FORWARD); 

使用還是非常簡(jiǎn)單的。首先要?jiǎng)?chuàng)建待計(jì)算數(shù)據(jù)的數(shù)組,可以是double類型,亦可是org.apache.commons.math3.complex.Complex類型,然后創(chuàng)建org.apache.commons.math3.transform.FastFourierTransformer對(duì)象實(shí)例,最后調(diào)用其transform方法即可得到存放于復(fù)數(shù)數(shù)組中的傅立葉變換結(jié)果。
完整的示例代碼如下:

import org.apache.commons.math3.transform.DftNormalization; 
import org.apache.commons.math3.transform.FastFourierTransformer; 
import org.apache.commons.math3.transform.TransformType; 
interface TestCase 
{ 
  public Object run(List<Object> params) throws Exception; 
  public List<Object> getParams(); 
} 
class CalcFFT implements TestCase 
{ 
  public CalcFFT() 
  { 
   System.out.print("本算例用于計(jì)算快速傅立葉變換。正在初始化 計(jì)算數(shù)據(jù)(" + arrayLength + "點(diǎn))... ..."); 
   inputData = new double[arrayLength]; 
   for (int index = 0; index < inputData.length; index++) 
   { 
     inputData[index] = (Math.random() - 0.5) * 100.0; 
   } 
   System.out.println("初始化完成"); 
  } 
  @Override 
  public List<Object> getParams() 
  { 
   return null; 
  } 
  @Override 
  public Object run(List<Object> params) throws Exception 
  { 
   FastFourierTransformer fft = new FastFourierTransformer(DftNormalization.STANDARD); 
   Complex[] result = fft.transform(inputData, TransformType.FORWARD); 
   return result; 
  } 
  private double[] inputData = null; 
  private final int arrayLength = 4 * 1024*1024; 
} 
public class TimeCostCalculator 
{ 
  public TimeCostCalculator() 
  { 
  } 
  /** 
  * 計(jì)算指定對(duì)象的運(yùn)行時(shí)間開(kāi)銷。 
  * 
  * @param testCase 指定被測(cè)對(duì)象。 
  * @return 返回sub.run的時(shí)間開(kāi)銷,單位為s。 
  * @throws Exception 
  */ 
  public double calcTimeCost(TestCase testCase) throws Exception 
  { 
   List<Object> params = testCase.getParams(); 
   long startTime = System.nanoTime(); 
   testCase.run(params); 
   long stopTime = System.nanoTime(); 
   System.out.println("start: " + startTime + " / stop: " + stopTime); 
   double timeCost = (stopTime - startTime) * 1.0e-9; 
   //   double timeCost = BigDecimal.valueOf(stopTime - startTime, 9).doubleValue(); 
   return timeCost; 
  } 
  public static void main(String[] args) throws Exception 
  { 
   TimeCostCalculator tcc = new TimeCostCalculator(); 
   double timeCost; 
   System.out.println("--------------------------------------------------------------------------"); 
   timeCost = tcc.calcTimeCost(new CalcFFT()); 
   System.out.println("time cost is: " + timeCost + "s"); 
   System.out.println("--------------------------------------------------------------------------"); 
  } 
} 

在i5四核處理器+16GB內(nèi)存的臺(tái)式機(jī)上,計(jì)算4百萬(wàn)點(diǎn)FFT,耗時(shí)0.7s。還是挺快的。

總結(jié)

以上就是本文關(guān)于Apache Commons Math3探索之快速傅立葉變換代碼示例的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:Apache Commons Math3學(xué)習(xí)之?dāng)?shù)值積分實(shí)例代碼、apache zookeeper使用方法實(shí)例詳解等,有什么問(wèn)題可以隨時(shí)留言,小編會(huì)及時(shí)回復(fù)大家的。最后推薦幾本有關(guān)Java編程方面不錯(cuò)的書籍,免費(fèi)下載,供廣大編程愛(ài)好及工作者參考,提高!

Java Web開(kāi)發(fā)就該這樣學(xué) (王洋著) pdf掃描版

http://m.fzitv.net/books/561375.html

Spring+MyBatis企業(yè)應(yīng)用實(shí)戰(zhàn) 完整pdf掃描版

http://m.fzitv.net/books/560647.html

希望大家喜歡,更多精彩內(nèi)容,就在http://m.fzitv.net/

相關(guān)文章

  • Spring Boot整合MyBatis-Plus實(shí)現(xiàn)CRUD操作的示例代碼

    Spring Boot整合MyBatis-Plus實(shí)現(xiàn)CRUD操作的示例代碼

    本文主要介紹了Spring Boot整合MyBatis-Plus實(shí)現(xiàn)CRUD操作,可以快速實(shí)現(xiàn)數(shù)據(jù)庫(kù)的增刪改查操作,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-04-04
  • Java實(shí)現(xiàn)使用Websocket發(fā)送消息詳細(xì)代碼舉例

    Java實(shí)現(xiàn)使用Websocket發(fā)送消息詳細(xì)代碼舉例

    這篇文章主要給大家介紹了關(guān)于Java實(shí)現(xiàn)使用Websocket發(fā)送消息的相關(guān)資料,WebSocket是一種協(xié)議,用于在Web應(yīng)用程序和服務(wù)器之間建立實(shí)時(shí)、雙向的通信連接,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-05-05
  • java實(shí)現(xiàn)支付寶退款功能

    java實(shí)現(xiàn)支付寶退款功能

    這篇文章主要為大家詳細(xì) 介紹了java實(shí)現(xiàn)支付寶退款功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • Java中的適配器原理解析

    Java中的適配器原理解析

    這篇文章主要介紹了Java中的適配器原理解析,當(dāng)實(shí)現(xiàn)接口時(shí),為了使所用的類中只實(shí)現(xiàn)需要的方法,使代碼更加簡(jiǎn)潔,可以定義一個(gè)抽象類實(shí)現(xiàn)接口,將所需要的方法定義為 抽象方法,然后讓類繼承此抽象方法即可,需要的朋友可以參考下
    2023-11-11
  • Sentinel網(wǎng)關(guān)限流與SpringCloud Gateway整合過(guò)程

    Sentinel網(wǎng)關(guān)限流與SpringCloud Gateway整合過(guò)程

    本文介紹了如何通過(guò)SpringCloudGateway集成阿里的Sentinel進(jìn)行網(wǎng)關(guān)限流,Sentinel作為流量防衛(wèi)兵,提供了豐富的應(yīng)用場(chǎng)景和完備的實(shí)時(shí)監(jiān)控功能,通過(guò)配置路由維度和自定義API維度的限流規(guī)則,實(shí)現(xiàn)了對(duì)微服務(wù)的保護(hù)
    2024-11-11
  • 解讀@ResponseBody與@RequestBody注解的用法

    解讀@ResponseBody與@RequestBody注解的用法

    這篇文章主要介紹了Spring MVC中的@ResponseBody和@RequestBody注解的用法,@ResponseBody注解用于將Controller方法的返回對(duì)象轉(zhuǎn)換為指定格式(如JSON)并通過(guò)Response響應(yīng)給客戶端,@RequestBody注解用于讀取HTTP請(qǐng)求的內(nèi)容
    2024-11-11
  • java二叉樹(shù)面試題詳解

    java二叉樹(shù)面試題詳解

    下面小編就為大家?guī)?lái)一篇java二叉樹(shù)的幾道面試題詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2021-07-07
  • Spring中的模塊與應(yīng)用場(chǎng)景詳解

    Spring中的模塊與應(yīng)用場(chǎng)景詳解

    這篇文章主要介紹了Spring中的模塊與應(yīng)用場(chǎng)景詳解,Spring 框架可以為 Java 應(yīng)用程序開(kāi)發(fā)提供全面的基礎(chǔ)設(shè)施支持,它是現(xiàn)在非常流行的 Java 開(kāi)源框架,對(duì)于一個(gè) Java 開(kāi)發(fā)人員來(lái)說(shuō),熟練掌握 Spring 是必不可少的,需要的朋友可以參考下
    2023-09-09
  • 使用Stargate訪問(wèn)K8ssandra的過(guò)程之Springboot整合Cassandra

    使用Stargate訪問(wèn)K8ssandra的過(guò)程之Springboot整合Cassandra

    這篇文章主要介紹了使用Stargate訪問(wèn)K8ssandra的過(guò)程之Springboot整合Cassandra,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-10-10
  • Java數(shù)組創(chuàng)建的3種方法6種寫法代碼示例

    Java數(shù)組創(chuàng)建的3種方法6種寫法代碼示例

    這篇文章主要給大家介紹了關(guān)于Java數(shù)組創(chuàng)建的3種方法6種寫法,在Java中我們可以使用關(guān)鍵字new來(lái)創(chuàng)建一個(gè)數(shù)組,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01

最新評(píng)論

洛浦县| 安阳县| 峨眉山市| 上高县| 玉林市| 金溪县| 溧阳市| 万山特区| 鲁山县| 革吉县| 鱼台县| 堆龙德庆县| 库伦旗| 内乡县| 渝北区| 农安县| 巨野县| 滕州市| 阳春市| 秦皇岛市| 青河县| 天气| 平原县| 黎川县| 泊头市| 安塞县| 册亨县| 边坝县| 全椒县| 孙吴县| 通辽市| 隆德县| 伊宁市| 柳州市| 昌邑市| 玛纳斯县| 厦门市| 大兴区| 昌都县| 莒南县| 蒲城县|