C# 在C语言中生成并使用泰勒多项式#

C# 在C语言中生成并使用泰勒多项式#,c#,math,graphing,taylor-series,C#,Math,Graphing,Taylor Series,我已经用C#编写了一个简单的图形实现,我可以通过将每个像素与它所代表的图形上的位置进行比较,并将该位置插入到函数中来绘制图形,我必须查看它是否在曲线上。那很好 我遇到的问题是使用生成的泰勒多项式。例如,我能够创建以c为中心的超越函数f的第n个泰勒多项式 从0到n的总和,计数器变量为k=((f(c)的第k个导数))*(x-c)^k)/k 我不知道如何在stackoverflow上做数学标记,也不知道我是否有能力在web上做这件事,但我希望这是可以理解的。左边可以写为sigma _k=0^n或类似的

我已经用C#编写了一个简单的图形实现,我可以通过将每个像素与它所代表的图形上的位置进行比较,并将该位置插入到函数中来绘制图形,我必须查看它是否在曲线上。那很好

我遇到的问题是使用生成的泰勒多项式。例如,我能够创建以c为中心的超越函数f的第n个泰勒多项式

从0到n的总和,计数器变量为k=((f(c)的第k个导数))*(x-c)^k)/k

我不知道如何在stackoverflow上做数学标记,也不知道我是否有能力在web上做这件事,但我希望这是可以理解的。左边可以写为sigma _k=0^n或类似的东西,其中u代表sigma下面的部分,^代表上面的部分

所以我最终生成了一个以0为中心的cos(x)的6次泰勒多项式(maclaurin,我知道),它看起来像

“1-x^2/2!+x^4/4!-x^6/6!”

这可以通过C#中的简单字符串操作来完成。我可以循环并将下一个术语添加到字符串中

我真的无法理解,我如何能够将字符串作为一个函数来比较图的位置,看看这个图的位置是否真的在这个图上,从而绘制它。那么本质上:我如何在C#中使用字符串作为实际的数学函数,或者有更好的方法来实现这一点


真的很抱歉,如果它让人困惑…我真的尽力以人们可以帮助的方式解释它。

您需要一个字符串->函数的解析器。请参阅一个示例,它可能完成了您提到的所有需要的操作。

从一般角度来看,任何时候您想要将字符串转换为可以工作的内容,都必须实现一个解析器,该解析器将解释该字符串并执行它指定的操作。对于数学公式,表达式树可用于维护操作顺序和分组。可能有一些数学表达式库可以做到这一点,或者您也可以自己使用。这不是一项微不足道的任务,但肯定是可能的


有了表达式树之后,要确定给定x的值f(x)是否可绘制,只需对其求值即可。对于f(x)图,可以先测试x,看看它是否落在图形区域的可见域中。如果是,则计算f(x),如果点(x,f(x))可绘制,则绘制该点。

是!太好了。我相信我可以利用这个课程。谢谢你,我还没有听说过表达式树。我使用这个过程来按原样绘制点。因为这是一种快速原型,因为我认为快速绘制连续的泰勒多项式会很酷,所以我不想尝试超越创建自己的表达式解析器的任务。这将有助于我未来的一些项目,虽然,谢谢!