在傅立叶插值的上下文中返回函数的“传统”符号

2023-12-29

在数值分析中,我们学生有义务在 R 中实现代码,给定函数 f(x) 找到其傅立叶插值 tN(x) 并计算插值误差

$||f(x)-t_{N}(x)||=\int_{0}^{2\pi}$ $|f(x)-t_{N}(x)|^2$ 

或各种不同的$N$ 我首先尝试根据以下公式计算 d 系数:

$d = \frac 1N  M  y$

其中 M 表示 DFT 矩阵,y 表示一系列等距函数值,其中

$y_j = f(x_j)$ and 
$x_j = e^{\frac{2*pi*i}N*j}$ 
for $j = 1,..,N-1$. 

我的目标是得出一个可以用以下方式描述的总和:

$t_{N}(x) = \Sigma_{k=0}^{N-1} d_k * e^{i*k*x}$

以后更容易将其集成为随后的附加符号。

f <- function(x) 3/(6+4*cos(x)) #first function to compare with
g <- function(x) sin(32*x) #second one
xj <- function(x,n) 2*pi*x/n

M <- function(n){
   w = exp(-2*pi*1i/n)
   m = outer(0:(n-1),0:(n-1))
   return(w^m)
}

y <- function(n){
   f(xj(0:(n-1),n))
} 
transformFunction <- function(n, f){
   d = 1/n * t(M(n)) %*% f(xj(0:(n-1),n))
   script <- paste(d[1])
   for(i in 2:n)
   script <- paste0(script,paste0("+",d[i],"*exp(1i*x*",i,")"))
   #trans <- sum(d[1:n] * exp(1i*x*(0:(n-1))))
   return(script)
 } 

变换函数的主要目的最初是返回一个函数 - 或者更确切地说:一个数学表达式 - 然后可以使用它来声明我的傅里叶插值函数。问题是,根据我相当有限的知识,我无法集成仍然嵌套有求和的函数(这就是我评论代码中相应行的原因)。 出于绝对的绝望,我随后尝试以文本形式粘贴每个加数,只是将它们再次解析为表达式。 因此,剩下的主要问题是:如何以允许我将数学表达式用作函数并稍后集成它们的方式返回数学表达式? 对于任何误解或困惑,以及我看似业余的编码,我深表歉意。 提前致谢!


R 中的函数可以返回任何类,因此也可以返回类的对象function。因此,您可以使trans的函数x并返回。

自从integrate函数需要一个向量化函数,我们使用Vectorize输出之前。

transformFunction <- function(n, f){
    d = 1/n * t(M(n)) %*% f(xj(0:(n-1),n))

    ## Output function
    trans <- function(x) sum(d[1:n] * exp(1i*x*(0:(n-1))))
    ## Vectorize output for the integrate function
    Vectorize(trans)
} 

要集成,现在只需使用以下输出创建一个新变量transformFunction:

myint <- transformFunction(n = 10,f = f)

Test: (integrate只能处理实值函数)

integrate(function(x) Re(myint(x)),0,2)$value + 
    1i*integrate(function(x) Im(myint(x)),0,2)$value
# [1] 1.091337-0.271636i
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在傅立叶插值的上下文中返回函数的“传统”符号 的相关文章

  • 如何限制 viridis 色标的范围?

    我有两组数据 我想使用带有 viridis 色标的热图来呈现它们 对于第一个数据集 我的值范围从 0 到 1 2 我可以轻松看到我想要看到的差异 然而 我的第二个数据集有一些异常值 导致范围从 0 到 2 现在很难看出 0 和 1 之间有趣
  • 使用 tidyverse 在 tibble 中“取消嵌套” data.frame 列

    我正在处理从 www 调用返回的一些数据jsonlite and as tibble以某种方式转换成data frame column This result数据有一个Id整数列和ActionCodedata frame 列有两个内部列 这
  • 如何获得 STAN 中最大似然估计的标准误差?

    我在 Stan 中使用最大似然优化 但不幸的是optimizing 函数不报告标准错误 gt MLb4c lt optimizing get stanmodel fitb4c data win data init inits STAN OP
  • par(mfrow=c(1,2)) 不显示并排密度图[重复]

    这个问题在这里已经有答案了 par mfrow c 1 2 plot 1 12 log y plot 1 2 xaxs i 然而 当我尝试做并排密度图时 图会单独输出 load the stud recs dataset library U
  • 将循环转换为并行计算的函数

    我正在使用 R 编程语言 我遇到这个问题 我试图找出两个 shapefile 之间的成对交集 即第一个 shapefile 中的每个多边形与第二个 shapefile 中的所有多边形相交的百分比 我想我找到了解决这个问题的基本方法 Load
  • 将命名参数列表传递给函数?

    我想编写一个小函数来从适当的分布生成样本 例如 makeSample lt function n dist params values lt makeSample 100 unif list min 0 max 10 values lt m
  • ggplot2可以在一个图例中分别控制点大小和线大小(线宽)吗?

    一个使用的例子ggplot2绘制数据点组和连接每组均值的线 并使用相同的映射aes for shape并为linetype p lt ggplot mtcars aes gear mpg shape factor cyl linetype
  • 是否可以通过扫描从控制台读取而不回显字符?

    这是一个示例函数 passwordEntry lt function cat Enter your password pwd lt scan n 1 what character quiet TRUE invisible pwd 并测试该功
  • numpy.histogram 的 hist 维度,密度 = True

    假设我有这个数组 A array 0 0019879 0 00172861 0 00527226 0 00639585 0 00242005 0 00717373 0 00371651 0 00164218 0 00034572 0 008
  • 使用 broom 和 tidyverse 总结 r 平方游戏

    我发布了一个问题here https stackoverflow com questions 48627287 getting adjusted r squared value for each line in a geom smooth
  • 如何从 R 运行带有特定模块的 perl 脚本?

    我可以从终端运行 perl 脚本 myperlscript pl 没有任何问题 但是 如果我尝试从 RStudio 中运行相同的 perl 脚本 则会出现以下错误 command lt myperlscript pl outputfile
  • 在 R 中创建一个运行计数变量?

    我有一个足球比赛结果的数据集 我希望通过创建一组类似于世界足球 Elo 公式的运行评级来学习 R 我遇到了麻烦 在 Excel 中看似简单的事情在 R 中并不完全直观 例如 4270 个观察中的前 15 个具有必要的变量 date t 1
  • 如何从 Fortran 调用 R 函数?

    根据http gallery rcpp org articles r function from c http gallery rcpp org articles r function from c Rcpp 允许用户从 C 调用 R 函数
  • R foreach问题(某些进程返回NULL)

    我遇到了问题foreach我正在 R 中使用的程序的一部分 该程序用于运行不同参数的模拟 然后将结果返回到单个列表 然后用于生成报告 当并非所有分配的模拟运行都在报告上实际可见时 就会出现问题 从各方面来看 似乎只有分配的运行的一个子集实际
  • 如何删除箱线图上的刻度线

    我试图从箱线图中删除 x 轴刻度线 但保留与刻度线关联的标签 这在基础 R 中可能吗 colors lt c lightskyblue3 gray78 gold1 wheat1 boxplot avgscore module data mi
  • 通过间接引用列来修改数据框中的某些值

    我正在整理一些数据 我们将失败的数据分类到垃圾箱中 并按批次计算每个分类箱的有限产量 我有一个描述排序箱的元表 这些行按升序测试顺序排列 一些排序标签带有非语法名称 sort tbl lt tibble tribble weight lab
  • 绘制点之间的所有线

    我有以下 R 代码 x lt c 0 01848598 0 08052353 0 06741172 0 11652034 y lt c 0 4177541 0 4042247 0 3964025 0 4074685 d lt data fr
  • R独特的列或行与NA无可比拟

    有谁知道如果incomparables的论证unique or duplicated 曾经被实施过incomparables FALSE 也许我不明白它应该如何工作 无论如何 我正在寻找一个巧妙的解决方案 以仅保留与另一列相同的唯一列 或行
  • Purrr::map_df() 删除 NULL 行

    使用时purrr map df 我偶尔会传递一个数据框列表 其中一些项目是NULL 当我做 map df 返回行数少于原始列表的数据框 我想发生的事情是这样的map df calls dplyr bind rows 它忽略了NULL价值观
  • 以引用透明的方式从函数的省略号参数中提取符号

    事情又发生了 我正要按下发布答案按钮的问题被删除了 我正在寻找一种方法来从函数的省略号参数中提取绑定到符号的对象的值以及符号 也就是说 我试图以引用透明的方式从省略号中提取符号 我尝试过使用替代品和lazy dots 但没有成功 funct

随机推荐

  • Enterprise Library 5.0 - 将自定义标记添加到 TextFormatter

    我创建了一个自定义异常 其中包含与我们的应用程序相关的数据 我想确保在引发异常时记录这些数据并将其记录到事件日志中 我尝试创建一个正在调用的自定义 TextFormatter 但不确定如何访问当前异常 以便我可以将自定义信息添加到日志条目中
  • Google Vision ocr:垂直和水平线文本识别

    我们正在使用 google Vision ocr 来收集收据中的文本 在某些情况下 收据上有一些垂直书写的文本 例如增值税信息等 问题是 谷歌视觉仅有效地读取主方向 例如水平方向 的文本 并丢弃在同一收据中以垂直方向而不是水平方向写入的所有
  • 向下滚动并双击最后一个展开/折叠箭头时,TreeTableView 项目消失

    在与一个TreeTableView我意识到 当您向下滚动表格并双击最后一个展开 折叠箭头时 所有项目都会消失 但是 当您再次滚动时 所有项目都会重新出现 当然 当你有足够的物品时就会发生这种情况 因此垂直ScrollBar活跃 以前有人遇到
  • 为什么结构类型的编译时生成技术会阻止单独编译?

    我正在读 好吧 略读 杜博切特和奥德斯基的在 JVM 上编译结构类型 http infoscience epfl ch record 138931 files 2009 structural pdf并对以下说法感到困惑 Generative
  • Scala 隐式转换陷阱

    EDIT好的 Drexin 提出了一个很好的观点 使用隐式转换器时类型安全性的损失 令人惊讶的结果 一个不太常见的转换怎么样 不会与 PreDef 隐式发生冲突 例如 我正在 Scala 中使用 JodaTime 很棒的项目 在定义隐式的同
  • 如果某些数据包含空格,如何读取逗号分隔的数据文件

    我正在尝试读取使用逗号作为分隔符的数据文件 如下所示 IPE 80 764 80 14 8 49 IPE 100 1030 171 15 92 但是如果我阅读使用 READ 1 var1 var2 var3 var4 它将 IPE 和 80
  • 如何为 ASP.NET Core Web API 应用程序的程序和启动 cs 文件编写单元测试

    有没有办法编写单元测试ProgramASP NET Core Web API 的 cs 文件以及类似的startup类 只是为了显示整个应用程序的更多代码覆盖率 目前显示覆盖率为 0 您可以在单独的调用中提取配置并将它们公开到 func 中
  • 当我使用requirements.txt时,pip没有从virtualenv中安装到site-packages目录

    我对使用 virtualenv 运行 Python 还比较陌生 所以这可能是一个简单的解决方案 但我一生都无法弄清楚发生了什么 我运行的是 Windows 7 professional x64 安装了 Python 2 7 5 我已经安装了
  • MatLab 分类数据中的缺失数据处理

    我正在尝试将我的数据集放入 MATLAB ranked weights relieff X Ylogical 10 categoricalx on 函数对我的预测特征的重要性进行排名 这dataset
  • 使用 Powershell 配置 IIS - 启用表单身份验证

    我的 IIS 看起来像这样 Sites gt Default Web Site gt MyWebApp 那么问题是 如何在 MyWebApp 上启用表单身份验证 我设法更改或编辑匿名访问 基本和 Windows 身份验证 然而 Forms
  • pandas:具有多索引的布尔索引

    这里有很多具有类似标题的问题 但我找不到解决这个问题的问题 我有来自许多不同来源的数据帧 我想逐个过滤 当布尔系列与过滤后的数据帧大小相同时 使用布尔索引效果很好 但当该系列的大小与更高级别的索引过滤后的数据帧 简而言之 假设我有这个数据框
  • 如何迭代查询结果

    我正在用 pgsql 脚本语言创建一个函数 此时我想做的是迭代查询的结果 并为每一行执行特定的操作 我当前的尝试如下 其中temprow被声明为temprow user data users rowtype 有问题的代码如下 FOR tem
  • 显示与 main.cpp 不同的类

    我是qt新手 我有一个有多种表格的申请 我试图从 main cpp 中选择特定的表单 但它只是闪烁了表单 但我正在获取表单的调试值 并且表单是不可见的 我的main cpp代码 include dialog h include design
  • Pandas:将操作应用于多索引中的重复列

    我有 MultiColumns 第二级重复包含Job Openings and Hires 我想为每个顶级列减去一个 但我所做的一切都会让我陷入索引错误或切片错误 我怎样才能计算它 样本数据 gt gt gt df head Out 25
  • python中有序字典的有序字典

    我需要一个存储字典的字典数据结构 如下所示 custom 1 a np zeros 10 b np zeros 100 2 c np zeros 20 d np zeros 200 但问题是我在代码中多次迭代这个数据结构 每次迭代它时 我都
  • 无法获取用于gunicorn 的访问日志

    我在 nginx 后面运行 Gunicorn 我想将gunicorn 中的错误记录到gunicorn error log 并将访问日志记录到gunicorn access log 我的错误日志有效 但访问日志无效 我做错了什么 这是我的gu
  • Keras 准确率停留在 50%

    Code import numpy as np from keras preprocessing image import ImageDataGenerator from keras models import Sequential Mod
  • 如何调用类的析构函数?

    我有一个简单的 C 代码 但我不知道如何使用析构函数 class date public int day date int m day m date cout lt lt I wish you have entered the year n
  • setMaximumFractionDigits 的问题

    setMaximumFractionDigits 不适用于以下代码 NSString input 80 90 NSNumberFormatter numberFormatter NSNumberFormatter alloc init nu
  • 在傅立叶插值的上下文中返回函数的“传统”符号

    在数值分析中 我们学生有义务在 R 中实现代码 给定函数 f x 找到其傅立叶插值 tN x 并计算插值误差 f x t N x int 0 2 pi f x t N x 2 或各种不同的 N 我首先尝试根据以下公式计算 d 系数 d fr