LISP-STAT

Lisp-Stat翻译 —— 第九章 统计绘图窗体

痞子三分冷 提交于 2019-12-07 18:41:10
第九章 统计绘图窗体 除了前几章略述的绘图窗体原型提供的基本绘图工具之外,Lisp-Stat里的统计绘图还需要用来管理数据和将那些数据转换成屏幕上的图形的工具集。这些工具由绘图原型graph-proto提供。更多的专业绘图工具,比如直方图和散点图矩阵,它们都是基于继承自graph-proto的原型。本章的第一节描述了绘图原型,第二节略述了更加专用的原型,下一章将展示那些描述如何从这些原型来开发新的绘图工具类型的例子。 9.1 绘图原型 graph-proto原型实现了一个散点图,该散点图用来表示在m维空间中的点和线的二维视图。该视图是这样构造的,首先对数据进行中心化和尺度化,然后使用线性变换,比如旋转变换,最后产生该变换的图形里的维度的两个维度的一个散点图。该原型的:resize和:redraw方法可以保证:当窗体出现或改变大小时,图形可以得到合适的重画。鼠标点击和移动方法支持以下语法:即在第2.5节描述的在选择模式和刷模式里使用的绘图方式。该原型也提供了一个基本的菜单用来与图形交互。 为了给出该原型提供的机制的详细的说明,本节使用一个图形来检测5.6.2节引入的stack loss数据。 9.1.1 构造一个新的图形 graph-proto原型继承自graph-window-proto原型,graph-proto的:isnew方法需要一个参数

Lisp-Stat 翻译 —— 第七章 窗口、菜单和对话框

好久不见. 提交于 2019-12-07 07:51:40
第七章 窗口、菜单和对话框 本书剩余几章将描述Lisp-Stat的绘图系统,该系统的主要目的是支持使用、自定义及开发动态统计绘图。作为该努力的一部分,系统将提供获取用户接口工具的方法,比如惨淡和对话框。该系统被设计成一个高级的工具集,即实现在微机或者工作站的窗体系统之上,比如Macintosh Toolbox或者X11系统。 本章将介绍一些基础的视窗系统概念,重点突出Lisp-Stat绘图系统的实际。此外,本章还描述了基本的Lisp-Stat窗体、菜单和对话框。接下来的两章将描述Lisp-Stat 的绘图窗体。 7.1 视窗系统接口 很多流行的微机和工作站都使用一个绘图接口来使他们和他们的程序易于使用。这些接口将屏幕分割为一些独立的窗口,这个独立的窗口可以叠置,也可以像在桌面上移动一张纸一样移动它;菜单用来发布一些用来运行的命令;对话框用来向用户询问信息。 绘图接口有很多共性,作为由Xeror公司开发,由Macintosh普及的系统的后代,我们就不觉得大惊小怪了。但是,与传统的表示菜单、由哪个窗体接收键盘敲入的字符等等操作相比,仍有些不同。这些传统叫做用户接口说明。例如,在Macintosh系统的菜单上通常放置一个菜单框。在SunView系统里,在由三个按键的鼠标上,菜单在窗体的不同部分按下右键的时候会弹出。还有一个例子,在Macintosh系统上,为了选择一个文本集

Lisp-Stat 翻译 —— 第八章 绘图窗体

萝らか妹 提交于 2019-12-07 07:51:23
第八章 绘图窗体 Lisp-Stat提供的统计绘图其基础是由两个级别组成的。较低的级别将由本章描述,它提供了在窗体里绘制线与图形的工具,还有对用户动作产生的时间做出响应。第二级别,会在下一章描述,它增加了处理数据的能力。第二章里绘制的所有图形都是从下一章里描述的高级的原型里继承来的。如果你对定制一些标准图形感兴趣,你可以简略地浏览本章并移步下章内容。然而,尽管你不需要直接使用本章所述的细节,你也会发现理解支持高级绘图对象的基本的绘图模型是很有用的。 8.1 绘图模式 在窗体里,通过改变图片元素也就是像素的颜色在窗体里绘制的对象叫图像。绘图模型提供了一个高级的,考虑绘图过程的统一框架。隐藏在Lisp-Stat绘图系统之下的绘图模型从本质上讲是Macintosh系统的QuickDraw模型的一个简化版本,再与SunView系统和X11系统的一些特征的组合。 8.1.1 坐标、绘图模式和颜色 绘图窗体里的绘制操作发生在一个概念性的绘图画布里。该画布的维度可以是可变的也可以是固定的。如果维度可变,那么画布与窗体内容是相同的。如果维度是固定的,那么窗体仅展示了画布的子矩形视图。在这种情况下,可以通过使用滚动条将窗体固定到画布里。 图8.1 栅格显示器上的坐标系统 在栅格显示器上,显示其上的最小单元叫像素,假设像素是正方形,因此它们的宽度自然成为测量屏幕长度的基本单元

Lisp-Stat 翻译 —— 第三章 Lisp编程

拈花ヽ惹草 提交于 2019-12-06 21:24:20
第三章 Lisp编程 上一章我们使用了一些内建的Lisp函数和Lisp-Stat函数来运行一些有趣的运算。我们构建的表达式中的一些还是相当复杂的。当你发觉自己多次键入相同的表达式的时候(当然你使用的数据可能略微有些不同),你自然就想为这个表达式引入一些速记符,也就是说你想要定义自己的函数了。函数定义是Lisp编程的基础操作。第2.7节已经对这个主题给出了一个简单的介绍,现在是深入探索的时候了。在对如何定义一个Lisp函数进行一个简略的复习之后,我们将检验一些需要的技术以开发功能更强大的函数:状态求值、递归和迭代、局部变量、函数式数据、映射和赋值。 除了介绍定义函数的工具,本章也展示了一些Lisp编程常用编程技术和原则。尤其地,对于本章的大多数情况我都会使用函数式风格直至本章结束,目的是避免使用赋值方式改变变量的值(注:这里提到的原则也是函数式的目的之一,即函数可以使用外部变量,但在函数的整个执行过程中不对变量进行写操作,不破坏外部变量,这样的函数要非破坏性函数,反之叫破坏性函数,在《Practical Common Lisp》和《On Lisp》里你将接触大量的非破坏性函数和他们的破坏性版本,都有其各自的书写约定)。本章的开发严重依赖Abelson和Sussman的《 Scheme:计算机程序结构与解释》的 前两章。为了允许我们集中精力到编程过程本身

Lisp-Stat 翻译 —— 第四章 其它Lisp特性

给你一囗甜甜゛ 提交于 2019-12-06 21:23:59
第四章 其它Lisp特性 上一章介绍了Lisp编程的基础,在那章里重点展示了对编写Lisp函数有用的编程技术。为了最高效地使用这些技术,知道Lisp和Lisp-Stat提供的函数和数据类型将是很有用的。本章旨在给出这些函数和数据类型的概貌。初次阅读,你可以略读,当你需要的时候再将其作为参考手册来使用。 4.1 输入/输出 Common Lisp编程语言包含一个可扩展的工具集,可以用来读写文件、格式化输出和自定义读取输入的方式。这些特征的完整讨论将占用几章内容,因此我只展示那些我发现的对统计编程有用的方面。更多的可扩展话题可以到一些Common Lisp书籍中找到。 4.1.1 Lisp读取器 Lisp读取器 负责转化类型化的字符,它 通过用户或者从文件中读取的内容将数据输出到Lisp数据项。当读取一个数字时,读取器负责识别是整数或者浮点数,然后将它转换为合适的内部表示。在Common Lisp里,对浮点数据类型有一些选择,可以通过short-float、single-short、double-float和long-float等符号来指定。读取浮点数用到的数据类型,比如说读取 2.0,由全局变量*read-default-float-format*控制,它的值是上边提到的四个数据类型中的一个。强制指定要解释的数字为双精度类型也是可能的,比如输入成2.d0。

Lisp-Stat 翻译 —— 第二章 Lisp-Stat教程

早过忘川 提交于 2019-12-06 21:23:40
第二章 一份Lisp-Stat教程 本章打算将使用Lisp-Stat作为统计计算器和绘图器做一个介绍。在介绍完基本的数值和绘图操作之后,介绍如何构建随机的和系统的数据集合,如何修改数据集,如何使用一些内建的动态绘图工具,如何构建线性回归模型。最后两节给出了简略的介绍,关于如何写你自己的函数和使用功能数据进行高级建模的工具。 2.1 Lisp解释器 你与Lisp-Stat系统的交互是由你和lisp解释器之间的对话组成的。想象一下,你坐在计算机前打开了你的系统,或者更好点儿,你获取了某个版本的Lisp-Stat,并且启动了它。当准备好要开始对话时,Lisp-Stat在一个空白行的前边给出了一个提示符,就像这样: > 如果你键入一个表达式,解释器就会打印这个表达式的计算结果来响应你。例如,如果你给解释器一个数字,然后按回车键,那么解释器就会响应你——简单地 打印 这个数字,然后 在下一行 退出并给你一个新的提示符。 > 1 1 > 对数字的操作可以通过组合数字和一个符号并把它们复合成一个表达式来执行,就像这样(+ 1 2): > (+ 1 2) 3 > 就像你猜想的一样,这个表达式就是将数字1和2加在一起。这种操作符放在操作数前边的表示方法叫前置表示法。这种表示方法起初可能让你很迷惑,因为它背离了标准的数学实践,但是却会带来一些很有意义的优势。一个优势是可以容纳进行任意数量的参数操作

Lisp-Stat 翻译 —— 第一章 简介

自闭症网瘾萝莉.ら 提交于 2019-12-06 06:29:17
第一章 简介 1.1 统计计算环境 以前,统计计算主要集中于数值 计算 。那时的计算机运行速度慢,为了获得合理的性能,人们不得不在一个相对较低水平上细心地编写程序。结果,为了效率,大多数早期的统计系统都是简单的终端机而不是严格的数值算法。使用这些系统的人们需要提交他们的统计需求,然后在当天的晚些时候或者第二天才能拿到结果。 随着计算机变得越来越快,越来越廉价,将以前花费几小时或者几天才能完成的计算工作在几分钟或几秒钟内完成已经成为可能。这种发展对统计软件提出了新的挑战。由于现在的计算机硬件能够在短期内完成不同的计算与分析任务,一个支持性的统计软件环境要使以下步骤变得简单易行——将不同的计算结果展示到计算机上,将一台计算机的计算结果传递到另一台计算机上,检测计算结果,跟踪计算过程。进一步说,随着一些计算流程的重复使用(有可能有细微的变化),将此计算流程作为一个单元来描述和请求调用,建立一个简单的抽象已经成为可能。简而言之,为了补充现代计算机硬件的能力,统计环境必须是一个带有交互能力的统计语言。 另一个重要的发展发生在对计算速度的并行性上。越来越多的统计计算是在配置了高分辨率的个人电脑和工作站上完成的。这类高分辨率显示硬件开拓了很多新的机遇。统计研究的一个最令人激动的领域就是动态计算机绘图领域和它在统计学上的应用。多年以来,绘图方法已经成为统计学上的一个重要工具。但是

Lisp-Stat windows环境搭建

微笑、不失礼 提交于 2019-12-05 21:06:18
概述 lisp-stat是使用lisp语言进行统计计算和绘图的环境。由于面向对象在统计计算中的优势,lisp-stat选择CLOS进行编程。关于lisp-stat的详细介绍可参照文档 lisp-stat an object-oriented environment . 获取lisp-stat lisp-stat官方主页 lisp-stat的ftp地址 DOS下进入lisp-stat的ftp目录 (用户名:anonymous 密码:your email) : E:> ftp ftp.stat.umn.edu ftp> cd pub/xlispstat/current/mswin/ 尤其关键的一步是要将ftp传输模式改为binary,否则安装时出现乱码: ftp> binary 使用get命令获取 "WXLSZIP.EXE" "WXLS32ZP.EXE" "README"三个文件,以WXLS32ZP.EXE为例: ftp> get 远程文件 "WXLS32ZP.EXE" 本地文件 "E:\\lisp-stat\\WXLS32ZP.EXE" 以 -d参数执行WXLS32ZP.EXE文件( 文件全部安装在当前目录下) : E:\LISP-STAT> WXLS32ZP.EXE -d 运行WXLS32.EXE,如下图,表示环境安装成功: 测试 运行个hello list-stat