微积分

打印

微积分




CindyScript是一种纯粹的数字语言。不执行符号计算。尽管如此,仍然可以进行一些通常只能在符号系统中进行的操作。例如,可以用数字计算函数的导数或构造给定函数的切线。本节说明了这两个函数的使用。


导数和切线




计算导数:d(<函数>,<var>)




描述:此运算符创建一个函数,该函数是另一个函数的导数,该函数作为第一个参数传递。的变量<功能>应计算的导数必须是标准运行变量#导数的自由变量作为第二个参数给出。



例子:以下代码演示了运算符的使用:


f(x):=(x-3)*(x-2)*(x-1)*x*.4;g(x):=d(f(#),x);h(x):=d(g(#),x);图(f(x),大小->2);图(g(x),颜色->(0.8,0,0));绘图(h(x),颜色->(0,0,0));


该程序生成的输出如下图所示。蓝线是原始函数f(x),红线是一阶导数克(x),黑线是二阶导数h(x).



二阶导数计算为一阶导数的导数。然而,必须谨慎一点。导数算子完全基于数值原理。如果f(x)是应该导出的函数,则相应的导数可以定义为d(f(#),x).在这里x个表示应评估导数的位置。然后通过以下公式计算导数的值

(f(x+eps)-f(x-eps))/2eps


对于足够小的数字每股收益这为此时的实际导数提供了合理的近似值。然而,连续多次应用此运算符会显著增加错误。大约五次迭代后,结果不再可用。因此,不能指望用五阶导数进行合理的计算。



修改人:默认情况下,常数每股收益在上述公式中被设置为0.0001。该值在高导数的可靠性和精度之间形成了合理的折衷。可以使用修饰符更改此值eps-><数字>.





切线:正切(<函数>,<var>)




描述:这个运算符与计算函数导数的运算符非常相似。然而,该运算符不是计算导数的值,而是计算函数在一点处切线的齐次坐标。该点作为第二个参数输入。



例子:以下示例代码计算抛物线的许多切线:


f(x):=(x^2)/4;重复(250,开始->-30,停止->30,x,t=切线(f(#),x);绘制(t,alpha->.3););绘图(f(x),大小->3,颜色->(0,0,0));


下图显示了程序创建的结果图像。



切线函数的结果是齐次坐标的三个向量。此外,还设置了该向量的直线属性(请参见几何运算符)这样坐标就会自动绘制为一条线。





高级计算






猜测实数的值:猜测(<数字>)




描述:猜测运算符可能是CindyScript中最复杂、最强大的运算符之一。它可以用于从数字浮点值恢复符号含义。猜测操作符需要一个数字作为输入并返回一个字符串。该字符串应该是描述输入数字的符号表达式。猜测操作符尝试生成表单的字符串

a+b*sqrt(c),


哪里,b条、和c(c)是分子和分母不大于1000左右的有理数。如果输入的数字可以用描述的方式以合理的数字精度表示,那么猜测操作符将生成此表达式。如果不是,猜测操作符将返回原始输入数字。

因此,可以使用猜测运算符来发现数字是否有理(然后b条或二次方程的解。



示例:该操作符有时对查找几何结构的隐藏属性非常有用。我们用几个例子来说明这一点。第一张图片显示了一种结构,其中直线的斜率和两个圆的交点的坐标是“猜测的”:




如果输入坐标和半径是整数,则所得数字将是有理数或系数相对较小的二次方程的解。接下来的两个例子展示了猜测的两个重要应用。第一个比较规则五角星中的两个长度。长度比正好是黄金比例。第二个示例显示了简单结构中两个正方形区域之间的良好连接。



备注:猜测操作符背后的主力是所谓的PSLQ算法,这是一种真正巧妙的算法,能够发现(如果是实数x个,、和z(z)给定)整数相关性·x个+b条·+c(c)·z(z)=0.如果要检查实数x个是二次关系的解,我们必须寻找一个形式的整数关系+b条·x个+c(c)·x个²=0. 这就是猜测操作符的实现方式。然后根据计算出的积分系数重构解。




多项式的根:根(<列表>)






描述:函数根可以计算一元多项式的根。作为输入,它接受多项式的系数,从最低阶到最高阶。系数的结果也可能是复数。



示例:例如,如果要计算多项式的根1+x个2=0你可以直接打电话根([1,0,1])。结果表达式为[-0-i*1,-0+i*1],因为多项式有两个复数根+我-我.


下面的代码计算并绘制由系数给出的三次多项式的根。

a=0.4;b=-0.4;c=-3;d=-1;f(x):=a*x^3+b*x^2+c*x+d;图(f(x),大小->2);r=根([d,c,b,a]);对于所有(r,绘制((#,0))




此页面的参与者:冯·盖格恩,科尔滕坎普,里希特科勒.
页面上次修改时间:2015年2月9日星期一[13:56:22 UTC]冯·盖格恩.

本页面上的内容根据许可证.


菜单