开源科学计算软件Scilab及其教学应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
开源科学计算软件Scilab及其教学应用
作者:王凤蕊王文宏
来源:《中小学信息技术教育》2006年第11期
新的《高中数学课程标准》已将“数学建模”课设置为高中数学的一个专题课程。同时,高中物理、化学等课程的教与学活动也经常需要对各种问题进行数学建模和计算。因此,科学计算软件的使用能力应成为广大教师和学生的基本技能之一。
开源科学计算软件Scilab不仅能解决各种各样的计算问题,而且能将计算过程和结果可视化,同时还能模拟一些事物的变化过程。比如,在解析几何的学习中,可以借助Scilab动态可视化生成三维空间,加深学生的理解。
与商业科学计算软件Matlab相比,在功能上Scilab基本可以替代Matlab,且Scilab最诱人之处在于,它是一款开放源码的软件,使用正版软件完全免费。本文首先对Scilab的功能、特点、下载、安装与编程方法进行了简要介绍,最后结合两个实例探讨了其在中学教学中的应用。
一、Scilab简介
Scilab是法国国家信息与自动化研究院(INRIA) 开发的“开放源码”科学计算自由软件,它主要有数值计算、仿真与模拟、计算结果可视化等功能。Scilab数据类型丰富,可以方便实现各种矩阵运算,并允许用户在线建立各种自定义函数。此外,Scilab还具有图形显示功能,可实现各种常规形式的计算结果可视化。
Scilab是一种解释性语言,能运行于Windows、Linux以及Unix等操作系统环境下。作为开放源码的软件,Scilab的源代码、用户手册及二进制的可执行文件都是免费的。用户不仅可以在Scilab的许可证条件下自由使用该软件,还可以根据需要修改源代码,使之更加符合自身需要。此外,Scilab还包括一些应用于不同科学计算领域的工具箱,如科学计算、数学建模、信号处理、网络分析、决策优化、线性与非线性控制等。
二、Scilab的安装及运行
Scilab的源代码和执行码程序可以从Scilab英文网站/或中文站点/下载,Scilab的安装程序、说明文档、应用案例以及一些最新消息都能从上述网站得到。目前可下载的中文Scilab最新版本为4.0。
Scilab的安装程序分为二进制和源程序两种版本,用户可以根据需要下载安装,直接运行安装文件Scilab-4.0.exe即可。安装完毕后,在计算机桌面上双击Scilab快捷键或者从开始菜单的程序子菜单中选择Scilab命令,启动的Scilab主窗口如图1所示。该窗口是Scilab用户进行人机交互的主要界面,也是命令与数据的输入与输出窗口。
图1 Scilab主界面
主界面窗口上方由菜单栏(7个下拉菜单)和常用工具栏组成,图中最下一行的提示符“-->”是Scilab命令的输入部位。对于下拉菜单中的若干项目,用户同样可通过键入命令完成操作。例如在提示符后输入“Exit”命令后,系统将自动退出Scilab。
三、Scilab的编程方法
对于比较简单一次性计算问题,用户在Scilab主界面中直接输入命令行,单击回车即可运行。命令运行方式比较简单、快捷。
当求解问题规模较大时,则应使用内置的Scilab脚本编辑器Scipad进行编程,也可用其他任何一个文本编辑器,如Windows附件中的写字板。编辑的纯文本程序文件称为Scilab“脚本文件”,其扩展名为“*.sci”。
在Scilab主界面点击Editor菜单,弹出如图2所示的Scipad文本编辑器,直接在光标处输入命令行即可。
图2 Scipad编辑器主界面
编程完毕后,在File下拉菜单中选择Save as命令保存脚本文件,然后在Excute下拉菜单中选择Load into Scilab即可运行该文件,运行结果将在Scilab Graphic图形显示窗口中显示。
四、Scilab应用举例
下面我们通过两个教学实例来体验一下Scilab的强大功能。
1.代数教学实例
若x的定义区间为[0,2π],利用Scilab分别以不同的线形绘制y=sinx,y=sin2x,y=sin3x 曲线。要求:y=sinx用实线,y=sin2x用细虚线,y=sin3x用粗虚线。
设计步骤如下:
(1)在Scilab主界面点击Editor菜单,弹出Scipad文本编辑器,在编辑器中输入如下命令,如图3所示。
x=[0:0.1:2*%pi];
xset("line style",1) ;
plot2d(x,[sin(x)],nax=[2,10,2,10],rect=[0,-2,2*%pi,2]) ;
xset("line style",4) ;
plot2d(x,[sin(2*x)],nax=[2,10,2,10],rect=[0,-2,2*%pi,2]);
xset("thickness",2) ;
xset("line style",2);
plot2d(x,[sin(3*x)],nax=[2,10,2,10],rect=[0,-2,2*%pi,2]) ;
title=['正弦曲线 L1 sin(x) L2 sin(2x) L3 sin(3x)'];
xtitle(title,' ',' ');
图3Scipad编辑器
(2)在Scipad编辑器File下拉菜单中选择Save as命令,将文件命名为sinplot.sci进行保存。
(3)在Scipad编辑器的Excute下拉菜单中选择Load into Scilab命令运行sinplot.sci文件,在Scilab Graphic图形显示窗口中将会显示运行结果,如图4所示。
图4 sinplot运行结果
2.立体几何教学实例
绘制不同视角的三维螺旋曲线,让学生认识不同视角的螺旋曲线形状。
设计步骤如下:
(1)在图2所示的Scipad文本编辑器中输入如下命令,并以luoxuan.sci文件名保存。
t=50*%pi:-0.1:0;
x=t.*sin(t);y=t.*cos(t);z=t.*abs(t)/(20*%pi);
param3d(x,y,z,10,60);
title=['三维螺旋曲线曲线参数t=[0,50pi] 坐标(x,y,z)=(t.sin(t),t.cos(t),t.|t|/50.%pi)'];
xtitle(title,' ',' ');
(2)在Scipad编辑器的Excute下拉菜单中选择Load into Scilab命令,运行luoxuan.sci文件,程序运行结果如图5所示。
图5 视点为(10,60)的运行结果
(3)在上述命令中,param3d(x,y,z,10,60)用于绘制由坐标向量x、y、z定义的空间参数曲线,参数(10,60)表示视点的球坐标,可通过改变视点从不同角度观察三维图像。若将命令param3d(x,y,z,10,60)变为param3d(x,y,z,0,0),则程序运行效果如图6所示。