宁波建设局网站做水果代理去哪个网站

news/2025/9/22 17:45:11/文章来源:
宁波建设局网站,做水果代理去哪个网站,外网门户网站建设方案,做电影网站还能赚钱吗设计思想 傅里叶变换#xff0c;表示能将满足一定条件的某个函数表示成三角函数#xff08;正弦和/或余弦函数#xff09;或者它们的积分的线性组合。在不同的研究领域#xff0c;傅里叶变换具有多种不同的变体形式#xff0c;如连续傅里叶变换和离散傅里叶变换。 快速傅…设计思想 傅里叶变换表示能将满足一定条件的某个函数表示成三角函数正弦和/或余弦函数或者它们的积分的线性组合。在不同的研究领域傅里叶变换具有多种不同的变体形式如连续傅里叶变换和离散傅里叶变换。 快速傅里叶变换 (Fast Fourier Transform)即利用计算机计算离散傅里叶变换DFT的高效、快速计算方法的统称简称FFT于1965年由J.W.库利和T.W.图基提出。 对多项式 f ( x ) ∑ i 0 n a i x i , g ( x ) ∑ i 0 n b i x i f(x)∑_{i0}^na_i x_i ,g(x)∑_{i0}^nb_i x_i f(x)∑i0n​ai​xi​,g(x)∑i0n​bi​xi​定义其乘积fg为 ( f g ) ( x ) ( ∑ i 0 n a i x i ) ( ∑ i 0 n b i x i ) (fg)(x)(∑_{i0}^na_i x_i )(∑_{i0}^nb_i x_i) (fg)(x)(∑i0n​ai​xi​)(∑i0n​bi​xi​) 显然我们可以以 O ( n 2 ) O(n^2) O(n2)的复杂度计算这个乘积的每一项的系数。 但FFT可以以 O ( n l o g n ) O(nlogn) O(nlogn)的时间复杂度来计算这个乘积。 快速傅立叶算法核心的思想是分治即把一个复杂的问题分解为一个小的类似问题进行求解。 假定待变换离散时间序列信号长度为 n 2 m n2^m n2m将X(n)按照奇偶分组 X ( k ) ∑ r 0 N / 2 − 1 x ( 2 r ) W N 2 r k ∑ r 0 N / 2 − 1 x ( 2 r 1 ) W N 2 r 1 k X(k)\sum_{r0}^{N/2-1}x(2r) W_N^2rk∑_{r0}^{N/2-1}x(2r1) W_N^{2r1}k X(k)∑r0N/2−1​x(2r)WN2​rk∑r0N/2−1​x(2r1)WN2r1​k 上式可变换为 X ( k ) ∑ r 0 N / 2 − 1 x ( 2 r ) W N / 2 r k W N k ∑ r 0 N / 2 − 1 x ( 2 r 1 ) W N / 2 r k X(k)∑_{r0}^{N/2-1}x(2r) W_{N/2}^{rk} W_N^k ∑_{r0}^{N/2-1}x(2r1) W_{N/2}^{rk} X(k)∑r0N/2−1​x(2r)WN/2rk​WNk​∑r0N/2−1​x(2r1)WN/2rk​ 令 A ( k ) ∑ r 0 N / 2 − 1 x ( 2 r ) W N / 2 r k A(k)∑_{r0}^{N/2-1}x(2r) W_{N/2}^{rk} A(k)∑r0N/2−1​x(2r)WN/2rk​ B ( k ) ∑ r 0 N / 2 − 1 x ( 2 r 1 ) W N / 2 r k B(k)∑_{r0}^{N/2-1}x(2r1) W_{N/2}^{rk} B(k)∑r0N/2−1​x(2r1)WN/2rk​ 其中 k 取 0 , 1 , … … N / 2 − 1 k取0,1,……N/2-1 k取0,1,……N/2−1,从而 X ( k ) A ( k ) W N k B ( k ) X(k)A(k)W_N^k B(k) X(k)A(k)WNk​B(k) 由于 A ( k ) , B ( k ) A(k),B(k) A(k),B(k)都是 N / 2 N/2 N/2点的DFTX(k)为N点的DFT这一分治思想还可以进一步做下去。这一方法通常是使用递归实现的并行优化的难度较高。 为并行化快速傅里叶变换需要使用非迭代版本即先预处理每个位置上元素变换后的位置每个位置分治后的最终位置为其二进制翻转后得到的位置然后先将所有元素移到变换后的位置之后直接循环合并。 调整完循环顺序之后第一层循环变量i表示每一层变换的跨度第二层循环变量j表示每一层变换的第一个起点第三层循环遍历k则表示实际变换的位置k和ki。在这里从第二层开始是没有循环依赖的即对于不同的j算法不会对同一块地址进行访问因为访问的下标kj(mod i)。 为公平起见用于对比的串行版本快速傅里叶变换是直接在并行版本上删去编译推导#pragma omp for得到的。这是因为递归版本的快速傅里叶变换通常有较大的函数递归开销。 主函数运行时传入三个参数第一个参数为.exe文件第二个参数为并行部分使用的线程数量第三个参数为傅里叶变换的幂次因为傅里叶变换算法本身要求长度为2的幂次。 调整线程数与幂次考虑并行化的加速比。 运行结果 幂次20 线程数23456串行时间(s)0.5350.5450.4750.5370.503并行时间(s)0.3250.2960.2650.2330.241加速比1.6461.8411.7922.3052.087 结果分析 观察结果发现对于并行程序虽然线程数增加但加速比始终保持在2-3之间猜想可能是以下原因OpenMP的parallel region结束时线程之间需要同步有隐式路障。最好的OpenMP使用场景是线程之间没有很多需要锁保护的共享访问parallel region应该尽可能大以抵消OpenMP多线程带来的额外同步开销。 程序源码 #include iostream #includevector #includecmath #includecomplex.h #include omp.h using namespace std; typedef long long ll; typedef double lf; #define M_PI 3.14159265358979323846 struct Rader : vectorint {Rader(int n) : vectorint(1 int(ceil(log2(n)))){for (int i at(0) 0; i size(); i)if (at(i) at(i 1) 1, i 1)at(i) size() 1;} }; struct FFT : Rader {vectorcomplexlf w;FFT(int n) : Rader(n), w(size(), polar(1.0, 2 * M_PI / size())){w[0] 1;for (int i 1; i size(); i)w[i] * w[i - 1];}vectorcomplexlf pfft1(const vectorcomplexlf a) const{vectorcomplexlf x(size()); #pragma omp parallel forfor (int i 0; i a.size(); i)x[at(i)] a[i];for (int i 1; i size(); i 1) #pragma omp parallel forfor (int j 0; j i; j)for (int k j; k size(); k i 1){complexlf t w[size() / (i 1) * j] * x[k i];x[k i] x[k] - t, x[k] t;}return x;}vectorcomplexlf pfft2(const vectorcomplexlf a) const{vectorcomplexlf x(size()); #pragma omp parallel #pragma omp forfor (int i 0; i a.size(); i)x[at(i)] a[i];for (int i 1; i size(); i 1) #pragma omp forfor (int j 0; j i; j)for (int k j; k size(); k i 1){complexlf t w[size() / (i 1) * j] * x[k i];x[k i] x[k] - t, x[k] t;}return x;}vectorcomplexlf fft(const vectorcomplexlf a) const{vectorcomplexlf x(size());for (int i 0; i a.size(); i)x[at(i)] a[i];for (int i 1; i size(); i 1)for (int j 0; j i; j)for (int k j; k size(); k i 1){complexlf t w[size() / (i 1) * j] * x[k i];x[k i] x[k] - t, x[k] t;}return x;}vectorll ask(const vectorll a, const vectorll b) const{vectorcomplexlf xa(a.begin(), a.end()), xb(b.begin(), b.end());xa fft(xa), xb fft(xb);for (int i 0; i size(); i)xa[i] * xb[i];vectorll ans(size());xa fft(xa), ans[0] xa[0].real() / size() 0.5;for (int i 1; i size(); i)ans[i] xa[size() - i].real() / size() 0.5;return ans;} }; int main(int argc, char **argv) {//if (argc 3)//return cerr Error: No Enough parameters ( argv[0] num-of-threads power-of-transform-length).\n, 0;//omp_set_num_threads(atoi(argv[1]));//FFT fft(1 atoi(argv[2]));FFT fft(1 20);for(int i2;i11;i){omp_set_num_threads(i);cout#iendl;vectorcomplexlf a(fft.begin(), fft.end());double t0 omp_get_wtime();vectorcomplexlf b fft.fft(a);double t1 omp_get_wtime();cout Serial Time: t1 - t0 s\n;vectorcomplexlf c fft.pfft1(a);double t2 omp_get_wtime();cout Parallel Time1: t2 - t1 s\n;vectorcomplexlf d fft.pfft2(a);double t3 omp_get_wtime();cout Parallel Time2: t3 - t2 s\n;if (b ! c||c!d)cerr Error: Parallel result are not equivalent to Serial result.\n;} } 参考资料 快速傅里叶变换FFT超详解 手把手教快速傅立叶变换FFT算法 OpenMP实现并行快速傅里叶变换

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/909857.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自动全屏网站模板wordpress Apache升级

概述 之前在《【Godot4.2】Tree控件自定义树形数据ETD及其解析》一文中,实现了对带缩进的层级结构文本的解析,并将其用于Tree控件的列表项构造。 不过当时并没有实现专门的类,今天花了一点时间实现了一下。现在可以更方便的构造和解析ETD数…

利鑫做彩票网站网站规划与设计h5

一. 安全编程 rust逆向,直接动调 定位关键函数sub_7FD043E88C70 下断点跟进 观察控制台 guess number plz input 1-10 number 这时我们随便输入一个数,往下跟进 .text:00007F14B3684E9B .text:00007F14B3684E9B loc_7F14B3684E9B: .text:00007F14B…

网站免费下载安装大全手机版国外做名片网站

Android中提供的HttpURLConnection和HttpClient接口可以用来开发HTTP程序。以下是本人在学习中的总结与归纳。1. HttpURLConnection接口 首先需要明确的是,Http通信中的POST和GET请求方式的不同。GET可以获得静态页面,也可以把参数放在URL字符串后面&…

广州魔站建站企业网站实施方案

嵌入式的坑烧钱嵌入式的学习十分烧钱,这就让人有点望而却步。我是做DSP起步的,更是能体会到嵌入式绝对是一个拿钱搭梯子的学习行业。在我的学习过程中身边有不少的人投向了CS行业,也就是纯软件开发,比如网页、手机应用、数据库等。…

公司网站本地如何弄中卫市建设网站

计算机考研学院简介计算机与通信学院前身为原湖南大学计算机科学系。1978年组建计算机教研室并开办计算机本科专业,1981年5月正式成立计算科学系,2001年10月正式成立计算机与通信学院。学院现有计算机应用技术博士授权点;计算机科学与技术、信…

01_进程与线程

大部分操作系统的任务调度是采用时间片轮转的抢占式调度方式,也就是说一个任务执行一小段时间后强制暂停去执行下一个任务,每个任务轮流执行。任务执行的一小段时间叫做时间片,任务正在执行时的状态叫运行状态,任务…

第六届医学人工智能国际学术会议(ISAIMS 2025)

第六届医学人工智能国际学术会议(ISAIMS 2025) 2025 6th International Symposium on Artificial Intelligence for Medical Sciences ( ISAIMS 2025) 第六届医学人工智能国际学术会议(ISAIMS 2025)将于2025年10月24…

完整教程:Java多线程初阶

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

网站查询服务器成都网站建设公

战神4 幕后花絮 概念艺术找出Java幕后发生的事情,以及新功能如何实现 在上一篇文章中,我们介绍了即将发布的Java 9版本的新功能和尚待解决的功能,并简要提到了将新功能添加到下一个版本之前要经历的过程。 由于此过程几乎影响了所有Java开发人…

redis 6.0 多线程

Redis 6.0 的多线程,并非指命令处理逻辑的多线程(命令执行仍然是单线程的),而是特指网络 I/O 的多线程,其核心目标是优化大量网络 I/O 带来的性能瓶颈,提升吞吐量,尤其是在高并发场景下。Redis 6.0 之前 - 单线…

docker 常用命令与端口映射

搜索镜像:从 Docker Hub 查找镜像docker search <镜像名称> # 例如:docker search nginx拉取镜像:从仓库下载镜像到本地docker pull <镜像名称:标签> # 例如:docker pull nginx:latest # 如果不写标签…

衡阳市住房建设局网站软装设计ppt

好的思维导图软件能帮助用户更好的发挥创作能力&#xff0c;XMind是一款流行的思维导图软件&#xff0c;可以帮助用户创建各种类型的思维导图和概念图。 多样化的导图类型&#xff1a;XMind提供了多种类型的导图&#xff0c;如鱼骨图、树形图、机构图等&#xff0c;可以满足不同…

网站建设优惠券企业形象设计论文

在你储存项目的文件夹里面应该是这样的 里面.vcxproj后缀名的就是原来创建的项目&#xff0c;直接打开这个头文件源文件就会一起出来了&#xff01; 真的管用&#xff0c;亲测有效。

家居网站建设如何更新不了wordpress

第一部分:选择题 1、Python L6 (15分) 运行下面的程序,哪个值不可能出现?( ) import random print(random.randint(0, 3) * 2) 0236正确答案:C 2、Python L6 (15分) 运行下面的程序,输入哪

做糕点哪个网站影视网站建设方案

os.environ 是 Python 中 os 模块提供的一个字典&#xff0c;它表示当前系统的环境变量。环境变量是在操作系统级别设置的键值对&#xff0c;用于配置系统行为和提供信息给正在运行的进程。 os.environ 的基本用法包括获取和设置环境变量的值。下面是一些基本的使用示例&#…

网站押金收回怎么做分录做网站将文字放在图片上

任务&#xff08;task&#xff09; 任务是最抽象的,是一个一般性的术语,指由软件完成的一个活动。一个任务既可以是一个进程,也可以是一个线程。简而言之,它指的是一系列共同达到某一目的的操作。例如,读取数据并将数据放入内存中。这个任务可以作为一个进程来实现,也可以作为一…

广州自助网站设计平台app免费下载入口

6.5 代理proxy java.lang.reflect.proxy&#xff0c;用于创建动态代理类和实例&#xff0c; java.lang.reflect.InvocationHandler&#xff0c;使用动态代理创建实例时&#xff0c;需提供实现接口的类的实例。提供invoke方法&#xff0c;接收三个参数&#xff1a;代理对象、…

在线做效果图有哪些网站足球比赛直播间在线观看

目录 一、安装Anaconda3二、安装open3d三、测试代码四、结果展示五、测试数据 Windows系统下python版本Open3D-0.18.0 的快速安装与使用由CSDN点云侠原创&#xff0c;爬虫自重。如果你不是在点云侠的博客中看到该文章&#xff0c;那么此处便是不要脸的爬虫。 一、安装Anaconda…

linux重启mysql服务,几种常见的方法

在 Linux 系统中重启 MySQL 服务的方法因操作系统的初始化系统不同而略有差异,以下是几种常见的方法: 方法一:使用 systemctl 命令(适用于 systemd 系统,如 CentOS 7+/Ubuntu 16.04+) 这是现代 Linux 发行版最常…

详细介绍:Day20 K8S学习

详细介绍:Day20 K8S学习2025-09-22 17:32 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; fo…