算筹1.0.7使用说明

上传人:艾力 文档编号:36570461 上传时间:2018-03-30 格式:PDF 页数:17 大小:185.38KB
返回 下载 相关 举报
算筹1.0.7使用说明_第1页
第1页 / 共17页
算筹1.0.7使用说明_第2页
第2页 / 共17页
算筹1.0.7使用说明_第3页
第3页 / 共17页
算筹1.0.7使用说明_第4页
第4页 / 共17页
算筹1.0.7使用说明_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《算筹1.0.7使用说明》由会员分享,可在线阅读,更多相关《算筹1.0.7使用说明(17页珍藏版)》请在金锄头文库上搜索。

1、算筹系统简介算筹系统简介中文中文 English 该系统主要用于任意大整数,分数计算,高精度浮点数计算,复数计算,矩阵运算,以及简单的 代数演算。同时,实现了一个程序设计语言,方便用户自己实现更复杂的计算。系统还支持简单 的二维绘图, 单变量数值积分,简单的概率统计功能。 目前版本为 1.0.7。 计算 算筹语言初步 绘图 常用库函数 计算机代数 帮助 配置变量 算筹程序设计语言 常见问题 计算计算简单计算 精度控制 分数计算 机器浮点数计算 十六进制八进制二进制 复数计算 运行控制 加载程序文件 简单计算简单计算直接输入:回车就可以得到3。+,-,*,/,分别是加减乘除以及乘方。mod 表示

2、模运算。 得到。一般地,整数运算,结果是分数或整数。当然如果开方, 将有可能得到代数表达式。 将得到六分之五。 则到2。开三次方,用cuberoot。开多次方,用root。开多次方,但只返回一个根(特别是复 数),用root1。 则得到2。 输入 看看结果。如果想要得到小数表示,可以输入小数。如: 还可以用evalf 过程来求小数值。如输入 则得到分数。再输入 就可以得到小数表示。这里 % 表示上一结果。类似地, % 表示倒数第二个结果,一直可追溯上 去。 evalf 还可以有第二个参数,即计算的位数。 计算结果有50 位有效数字。但这时临时的设置。执行完后,仍然用系统的设定。修改系统的设定,

3、 参阅精度控制。对于浮点数,也可以用 normalizeFloat(num, digits)来减少位数。如: 当给定的数字中有小数时,最后的结果是小数。比较: 数学常数有E, PI, I 分别表示自然对数 e, 及虚数i。 输入 看看结果。 支持的函数为常用函数。如: sqrt(二次方), cuberoot(三次方), root(开方), root1(开方,只返回一个根),abs, exp(以 E为底的指数), ln, log, log2,阶乘, sin, cos, tan, arcsin, arccos, arctan, atan2, sinh, cosh, tanh, arcsinh, a

4、rccosh, arctanh。 root1 与root 类似,不同的是当root返回多个根时,它只返回一个 根。 阶乘直接用!表示。 atan2(image, real)与arctan 类似,只不过用二个参数,值域是(-, , 可以准确定位结果的象限。 将得到结果:51090942171709440000。 精度控制精度控制运算中,小数的有效数字缺省地设为30位。可以用以下配置命令来设置: 前一语句将有效数字设为20 位。后一句显示当前的配置情况。第三句则读取当前的有效数字位数, 并放到$digits 变量中。 值得一提的是,这是的数位是指有效数字,不是小数点后的数字,即用的 是浮点数的概念

5、。 分数计算分数计算在程序中可以直接输入分数。例子如:-1(1/2), 0(2/3)。后一例子中,0 可以省略。但严格来说,省 略了0 以后,(2/3)是作为一个除法表达式输入的。但结果仍然是2/3了。 可以用toFraction 来将浮点数转化为分数。一共有三个版本。toFractionExact, toFractionReduce, toFractionFit。而toFraction 与toFractionReduce 是一样的。 toFractionExact 简单地将浮点数转换为分数,比如toFractionExact(0.333333)将会得到 333333/1000000。 toF

6、ractionReduce 将做简单的化简,toFractionReduce(0.333333)将得到 1/3。toFraction 与 toFractionReduce 是同一个函数。 而toFractionFit(num, begin, end)则遍历分母为begin 到end的分数,找一个最接近的。一个较好的 例子是toFractionFit(3.1415926), 将会得到3(16/113)。未指定begin, end 时,其值为100, 1000,即 分母为三位数。 机器浮点数计算机器浮点数计算正常情况下,算筹用自己的浮点运算库,可以支持多精度的浮点运算。但也支持机器的浮点数运 算。

7、具体可以调用evalh 过程。 evalh 用双精度浮点数来做运算,精度可以达到十五个有效数字。算筹在输出结果时,取前十位有 效数字。 evalh 中的 h 是Hardware 的意思。同样,前面所用的evalf 中的f 是floating number 的意思。 十六进制八进制二进制十六进制八进制二进制输入十六进制数,以0x 开头。八进制数以0o开头。二进制数以0b 开头。数字间可以用下划线分 隔。 toHexString 将整数转化为十六进制表示。toOctString, toBinaryString 则将整数用八进制,二进制表 示。这里,整数最好为正整数。如果为负,则对于小整数,给出的将

8、是补码表示,而对于大整数, 则显示正数的表示,并在前面加上负号。 toBaseString(number, base)则将整数转换为指定基数的 表示, base可以是从2 到36。大于 10的位数用A-Z 表示。 相应地,还可以从字符串转换为数字。fromHexString(string)将把参数当做 16进制数来读取。 fromOctString, fromBinaryString, fromDecString 分别转换八进制,二进制,十进制数。 fromBaseString(number, base)则转换三十六进制以内的数。 复数计算复数计算复数计算可以用complex,polar 来明

9、确地说明是复数。也可以直接写复数常数。但如果有符号变 量,则最好还是用complex,polar 来明确说明是复数。 常用的复数函数都已实现,但是目前许多多值函数,仍然只是返回主值。 运行控制运行控制在菜单的文件栏中,有二个可选项。一个是自动提交,一个是只做语法检查。自动提交一般是一 行一提交,当然如果语句不完整,则等下一行。取消自动提交后,系统将提供一个运行按键。你 可以随意输入,直到运行按键按下后,才一并执行。 只做语法检查,意思是只检查,不运行。 加载程序文件加载程序文件在程序主菜单中,可以直接加载事先写好的程序角本文件。当前版本中,文件应是 utf-8 编码的。 国标GB18030 编

10、码的文件也可以使用,在加载前,要设置“文件不是utf8“选项。从通用性的角 度考虑,建议使用utf-8 编码格式。 角本文件的后缀是.scs (SuanChou Script)。也可以是普通的.txt 文本文件。 算筹语言初步算筹语言初步算筹系统实现了一个程序设计语言。该语言是弱类型的,支持过程(procedure)及数学函数。目前 是解释执行的。更详细的说明见算筹语言介绍 标识符与赋值语句 数据类型与表达式 基本语句 过程与函数 标识符与赋值语句标识符与赋值语句标识符是存储变量值的。它可以是以字母,$, _(下划线)打头的字母数字串。为了方便,你也可 以使用中文或其它语言。如: 显示100。

11、这里:=是赋值运算,表示将 100存到$id 中。 一个标识符可以指向任何类型的数据。 标识符分为二大类,一类以$, _ 开头,是普通标识符,另一类是不以$,_开头的,称为代数标识 符,如a, b, cde 等等。 已经有值的标识符可以用undef 来取消其值,恢复未定义状态。 这里,x先被赋值 10,而后又被取消。只显示x。 等号=被用来表示方程,以后会用到。判断二个值是否相等,则用=。 算筹还支持一种特殊的赋值语句,即列表赋值: 前一句相当于三个赋值语句,分别给$a,$b,$c赋值。后一句则交换$a,$b 的值。这里,|是一个 分隔符。 数据类型与表达式数据类型与表达式支持的数据类型有:整

12、数(任意长度),小数(精度可以设置,但只能全局设置),分数,布尔 型。还有字符串及字符。此外,还支持列表,矩阵,哈希结构,集合。 整数可以如下定义:小数可以如下定义: 后者也称为科学表示法。 除了前面提到的加减乘除及指数操作外,还借用了 C 语言的+,-操作。以+为例,分为 前置与 后置二种。前置+i 意味着i := i+1,而后置i+却意味 i := i+1,但返回加一之前的原值。 $a 的值为 11,$b的值也是 11,而$i的值则是12。-(减减)与此类似。 $a += 3 表示 $a := $a + 3。余下的四个语句表达类似的意思。 值得注意的是,乘法一定要用*,不能说 ab 或者

13、a b ,而应说a * b。ab表示标识符,而a b 表示先求a,再求 b。但在图形界面的显示中,a * b显示为ab。系统内部还是表示为a*b。 布尔型主要有true, false。布尔型的操作有:与,或,否。分别用|, expr2 when cond2; expr default )。 或中文方式: 分支(expr1 当 cond1; expr2 当 cond2; expr 缺省)。 其中branch 分支, when 当, default 缺省 是关键字。而when 可以有多个。 基本语句基本语句一个单独的表达式就是一条语句。运行时自动输出运算的结果。 有时候,上下语句需要分开,这时可以

14、加一个|来分隔,语句执行后仍然输出结果。 另一种方法是在语句的后面加一个;这样,语句执行后就不输出结果。 过程与函数过程与函数过程中可以有多个语句,可以有一返回语句。函数中只能有一个表达式。而且过程的参数必须以$ 开头,而函数的参数必须是代表标识符,不能以$开头。简单的例子如下: 注意,这里函数定义时,关键字function 以及函数名可以省略,函数的地址可以存在一个变量中。更多关于算筹语言的介绍,在算筹语言详述中。 绘图绘图二维绘图 极坐标绘图 绘图窗口可以在工具菜单中调用。当然,也可以通过程序来直接控制。 在命令状态下,可能会有如下提示信息: Assignment should use(:

15、=). config assignWarning := 0 to disable warning 不用担心,忽略即可! 二维绘图二维绘图简单的二维绘图只须给出函数。但也提供了参数,可以控制函数的定义域,也可以控制绘图的 X- Y 轴的大小。函数为 draw2D,也可以用中文名:绘图。 画出正弦函数从-4 到 4的图像。 画出正弦函数,余弦函数从-4 到 4的图像。 计算时,x从-4 到4,但显示时,X 轴从-5 到5。这里,XRange可以写成X域,YRange 可以写成 Y 域。 函数可以先定义,后绘出。比如: 也可以绘制参数方程。比如,圆及圆的渐近线就可以绘出如下: 这里,一定要用集合。不

16、能使用列表。 还可以先行计算点集,再直接绘出图形。但点集一定要是列表的列表,或者 N x 2 的矩阵。 最后二句,见下一节。 极坐标绘图极坐标绘图极坐标可以用drawPolar2D 函数来进行。也可以用draw2D()函数,但要设置 Polar: true 。中文函 数名为:极坐标绘图。 这里,用到了参数Radius,也可以用参数:半径。Radius 也可以用在 draw2D 中。如果角度是 theta 或者 时,可以不用明确指出。否则,最好要指出变量来。 一般来讲,二维绘图最好不要与极坐标混合。当然如果你很熟练了,就另当别论。 下面,给出一个纯中文的例子, 其中乙是角度变量。注意标点符号是 ASCII 的。 常用库函数常用库函数数字计算 符号计算 矩阵计算 数值积分 概率统计 文件操作 交互操作 数字计算数字计算对于浮点数,可以用ceil, floor 来取其整数,分别表示其上,其下的整数。如果参数为整数,则返

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号