没有合适的资源?快使用搜索试试~ 我知道了~
scilab 使用指南
4星 · 超过85%的资源 需积分: 44 15 下载量 176 浏览量
2009-03-27
00:09:59
上传
评论
收藏 2.07MB PDF 举报
温馨提示
法国科学家开发的开源的科学计算软件, 支持大部分MATLAB语法, 目前由清华大学做国内的推广。
资源详情
资源评论
资源推荐
1. 科学计算软件与 SCILAB
SCILAB 是以法国国立信息与自动化研究院( INRIA )和法国桥梁学院( ENPC )的科学家
为主共同开发的 “ 开放源码 ” 式科学计算软件。 SCILAB 一词源于英文 “ Scientific Laboratory ”
(科学实验室)词头的合并。 SCILAB 已经得到各国研究工作者,大学教授以及教育界和 工
业界人士的普遍关注,并被免费地引进到他们的研究、教学以及产品研发中,目前正以每 月
10,000 份的速度向全世界发布。
科学计算软件(如加、减、乘、除、微机分、逻辑推理等)是计算机应用的主要内容之一,
并已经与实验研究、 理论计算并列为三大科学方法。 而以完成科学计算为目的的应用软件 可
以称为科学计算软件。事实上,除了科学问题方面的计算,科学计算软件同样适用于各种 工
程技术,金融、经济等方面的应用。目前这类软件多数是以数值计算形式为主,基于符号 计
算(如公式推倒)的应用软件也变得日益普及。
2. SCILAB 在世界的发展状况
科学计算软件曾在工程界的研究和发展活动中掀起了一场革命。 如今, 这些软件已经被广 泛
应用到工业工程实验室中,成为各科研领域众多学者、教师和学生的必备工具。法国国立 信
息与自动化研究院( INRIA )无疑是这场革命的先驱者。从 1994 年开始,它推出的开放源
码软件 SCILAB 积极地推动了这场革命。 SCILAB 综合了多方面的研究成果,是众多学者
心血的结晶,然而 SCILAB 的诞生更应该归功于它的六位创始者 ----SCILAB 小组成员:
INRIA 的 Francois Delebecque, Claude Gome z, Maurice Goursat, Ramine Nikoukhah 与 Serge
Steer 以及法国国立桥梁学院( ENPC )的 Jean-Phillippe Chancelier.
可以说 SCILAB 软件及其工具箱已经取得了很大的成功:每月都有来自全球的近万人次登
录 SCILAB 网站,并下载该软件。如此国际化的成功一方面因为该软件本身的语法和基本
功能完全可以和行业参照软件 MATLAB 相媲美,另一方面因为它是完全免费的。此外, 这
份成功也应归功于其源代码开放的特征; 使用者可以完全控制其开发计划, 并通过嵌入最 新
最先进的技术,还可以优化 SCILAB 软件。
当然,每一个成功之后应该是有一个进步, SCILAB 完全能够而且应该看得更高,走得更
远。我们的目标是:在未来几年中使 SCILAB 成为一个优秀的数字科学计算工具;并在教
育、研究以及工业领域内得到认可,成为一个具有国际水平的参照工具;借助于免费的优 势
促进其发展,加强 SCILAB 使用者和参与群体的安全性;确保工业需要和行业先进技术的
优先联系。为朝此目标发展, INRIA 决定在 2002 年加大力度,并与学术界和工业界的合 作
者共同建立 “ SCILAB 共同体
”
( Consortium SCILAB
) 。 如此宏大的计划
如果仅仅局限于法 国
或是欧洲范围内是远远不够的,只有将其放在国际环境下才能取得成功。 因此, SCILAB 小
组的成员正努力逐步扩大 SCILAB 在国外的影响。
3. SCILAB 在中国的推广
中国科学院自动化所和法国国立信息与自动化研究院( INRIA )联合创办的中法信息、自 动
化与应用数学实验室吸引了中法许多大学和科研单位的科学家, 这些科学家紧密合作, 从 事
了许多基础性、公益性的前沿科学研究。
最近, 双方科学家又在推动发展和普及科学计算自由软件 SCILAB 。 他们组织了基于 SCIL AB
平台的应用软件比赛,又出版 SCILAB 相关的书籍,以便让更多的同仁们了解和掌握
SCILAB 。中法科学家还在策划进一步完善这一具有巨大应用前景(尤其是对中国科技与 教
育界)的开放源代码自由软件,体现了中法科学家共有的社会责任。
十余年来, INRIA 和法国国立桥梁学院( ENPC )的科学工作者坚持 SCILAB 的开放源代 码
与自由软件原则, 最近又与中法联合实验室的同仁们共同努力准备将其在中国推广普及, 这
一行为理所当然地受到了中法两国科学家地支持。许多中国高校地学生还积极参与了基于
SCILAB 软件平台的应用软件比赛。中国科技部 “ 863 ” 计划和法国驻华使馆,也对此给予了
积极的支持。由胡包钢老师编写的《科学计算自由软件 —— SCILAB 教程》的出版,是推 动
该工作在中国进一步开展的重要一步。
值得一提的是 “ SCILAB 中国经历 ” 的开始:法国国际农业研究发展中心( CIRAD )研究员
Philippe de Reffye 功不可没,在中国的三年中,他在中国科学院与 INRIA 共同创建的中法
实验室( LIAMA )工作,在那里他用 SCILAB 软件成功的开展了植物建模方面的研究。 对
于此项应用 SCILAB 的创始者们是完全没有预想到的。同时,他还与中国若干数学、计算
机及农业研究所之间建立了紧密的合作关系。 就像种子一经播下, 便迅速成长一样, SCIL AB
很快就在中国交到了许多朋友。 2001
、
2002 年连续 两届的 SCILAB 研讨会分别在 LIAMA 和
上海复旦大学成功召开。 “ 2002 年 SCILAB 竞赛 ” 在众多中国大学的参与和支持下顺利举
行,并借在北京举行的中欧信息论坛之际举行了正式的颁奖仪式。 “ 2003 年 SCILAB 竞赛 ”
也已经圆满落幕,并于西安召开了 2003 年中 - 法科学计算自由软件 SCILAB 研讨会。
经过 2003,2003 两届 SCILAB 竞赛,更多的中国大学生们了解和接受了 SCILAB ,竞赛作 品
的水平逐年提高。现在, SCILAB 竞赛每年举办一届,影响力越来越大,让我们盼望着更 多
高水平作品和更多 SCILAB 使用者的出现。也希望随着 SCILAB 在中国的传播,自由科学
软件能够逐渐为广大教育科研人员所接受和使用。
介绍界面,帮助, demo 等使用方法
命令提示符: -->
scilab 的命令提示符是 --> , 在该提示符下可以输入命令。 在运行 demo 时会有暂停, 此时 显
示的提示符 >> 只是等待用户按 Enter 键,不能输入命令。 在菜单 Control-> stop 可以暂时 停
止 demo 的执行,之后命令提示符变为 -1->
,
此时可以输入命令。 使用 resume 命令或者 选
择菜单 Control->resume 可以恢复 demo 的执行。 使用 abort 命令或选择菜单 Control->abor t
可以放弃 demo 的执行,命令提示符重新变为 -->.
数值运算
基本运算
在指令界面的 '-->' 之后,即可输入运算字串。例子:
--> 1+1 // 按下 [Enter]
Ans =
2.
--> log(10) // 按下 [Enter]
Ans =
2.3025851
变量与常量
在 scilab 中变量的宣告是很自由的, 几乎大部分的字串皆可以成为变量。 例如 x=3;a2=14;... ...
但是变量开头不可以是数字。同时也不可以将 Scilab 内定常数更改它的数值。
Scilab 的内定常数多半以 '%' 开头,例如圆周率 π ,它以 '%pi' 来表示。自然常数 e
:
%e 。虚数 i
:
%i 。如对这些常数重新宣告会出现错误讯息。
变量的类型
scilab 的数据类型分为三大类,标量式、矩阵式和特殊数据类型。
标量式和矩阵式都包含如下几种基本类型: 数值类型、布尔类型、多项式类型和字符串类
型。特殊数据类型包括表 (list) 和函数。
数值类型
如 matlab 一样, scilab 的变量可以不经定义直接赋值。不同的是,引用系统预定的变量需 加
上 % ,如得到常量 pi 的值,需使用 %pi ,
类似的如虚数单位 %i ,布尔值 %t,%f 等等。
布尔类型
可通过关系关系运算符产生布尔类型的变量。要得到布尔类型的字面常量,可以用
%t,%f,%T,%F 。
多项式类型
生成多项式用 poly 函数。
[p] = poly(a,"x",["flag"])
a 是矩阵或向量 ( 包括标量)
x 是符号变量
flag 是可选参数
若 a 是矩阵,则不需 flag 参数。返回矩阵 x*E- a 的特征多项式, E 为与 a 同维的单位矩阵
若 a 是向量 ( 含标量情形 ) ,返回结果与 flag 有关。若 flag 为 roots( 默认值 ) ,则返回自变量 是
x ,以向量 a 的个元素为根的多项式。例如,
-->p = poly(0,"x","roots")
然后可利用返回结果运算得到新的多项式:
-->q = 1+2*p +p^2
也可直接指定系数生成多项式
--> p =poly([1 2 1] ,"x","coeff")
字符串类型
用单引号或双引号表示字符串。在 scilab 中,字符串被当作一种基本类型而不是字符数组 来
看待。因此,在用字符串构成矩阵的时候没有对字符串长度的限制。例如,
-->s =['this' 'is' ; 'a' 'string']
'this' 与 'a' 长度不需要相同。
矩阵生成
直接输入
可以使用同 Matlab 一样的语法来输入矩阵,如
A = [1 0; 0 1]
行分隔符用分号 ; 或者换行符,列分隔符用逗号,或空格,首尾用 [,] 括起来。数据必须是同
一基本类型,不能把数值和字符串混用。但布尔类型可作为数值类型 (0 和 1) 而与数值类型
混用 , 数值类型可作为多项式与多项式混用。
使用 start:increment:end 双目运算符生成向量
例如
--> x=0:0.1:10;
使用函数
可用 linspace 得到均匀分布的向量。
[v] = linspace(x1,x2,[,n])
v : 从 x1 到 x2 均匀分布的 n 个数, n 可省,缺省值为 100 。
eye 生成单位矩阵
x = eye(m,n) 生成 mxn 维的对角线为 1, 其它元素为 0 的矩阵
x = eye(A) 生成与矩阵 A 同维的单位矩阵,若 A 是标量,结果为 1
x = eye() 生成维数不定的单位矩阵,当它与其它维数确定的矩阵相加时自动转为相应维数
的矩阵
基本运算符
加减乘除: + - * /
自然数的次方: ex 在 scilab 上,要写成: exp(x)
绝对值: abs() ,例如: abs(-3) Ans= 3.
矩阵转数值:在算符前加上 "." ,为什么要这么做?因为 Scilab 在运算时,基本上都是把那
些数值当做矩阵来看待的。当你打了一大串的数值串要做运算时,却出现了错误讯息。就 有
可能要考虑此状况了,这时就要将乘或除与 exp(),sin(),cos() 等等的运算式前加上点号。例
如: .* ,
./
, .exp() 等等,例如: 3*t.*exp(sin(t))
( 注意:指令尾端的 ';' 号,加上则运算结果将不会输出至萤幕上,不加则效果反之 。 )
另外还有次方算符: ^ ( 例如 2 的 3 次方 23 : 2^3)
开根号: sqrt()
( 例如
表示成 sqrt(2) ,也可以直接用 2^(1/2) 或 2^(0.5) 表示。 )
括号: () 在运算时只能使用 '()' ,其他的括号类型有别的用途,不能在此使用。
运算符: log 系列
log() :这是以自然数 e=2.7182818 为底的对数。这种对数在数学上是以 ln 来表示之。
log2() :以 2 为底的对数。
log10() :以 10 为底的对数,也是我们最熟悉的一种对数之一。
其它少见的 log 指令:
log1p(x) :等同于 log(1+x)
logspace() :以对数方式从 a,b 取 n 等分。例如: logspace(0,2,300)
:
0 到 2 之间取 300 等份
。
三角函数
三种:
sin(),cos(),tan(). 至于 cot,sec,csc 这三个函数 Scilab
并没有设计, 不过使用:
1/sin() , 1/ cos()
, 1/tan() 这样的格式即可解决。
三个反函数: asin(),acos(),atan().
双曲线函数
这是一个跟三角函数相似但内容完全不同的函数。此类函数与 e 有关。
三个: sinh(),cosh(),tanh()
三个反函数: asinh(),acosh(),atanh()
剩余181页未读,继续阅读
平凡的程序人生
- 粉丝: 14
- 资源: 43
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- JAVA语言考试系统的设计与实现源代码.zip
- 基于ssm的高职院校教学中心可视化教学分析系统源码(java毕业设计完整源码).zip
- 西门子1200自动洗车博途仿真 自动洗车博图PLC程序洗车机控制HMI组态 、包含内容:①三种液体博途PLC与HMI仿真工程?(博途V14或以上) 一份;②三种液体配套有IO点表+PLC接线图+主电路
- java在线考试管理系统源代码.zip
- 基于ssm的个人所得税服务系统源码(java毕业设计完整源码).zip
- pl230 22019 2019
- 国民经济行业分类明细对照版2017版 GB/T 4754-2017 2024年最新版本
- java作业管理系统设计源代码.zip
- 基于ssm的杭商院班级人事管理系统源码(java毕业设计完整源码).zip
- 计算机网络-知识点总结(一篇就够)
- 基于龙伯格观测器的永磁同步电机负载转矩估计 1.采用降阶负载转矩观测器简化观测器结构,便于参数设计; 2.将观测到的负载转矩用作前馈补偿,可提高系统抗负载扰动能力; 仿真模型纯手工搭建,不是从网络上复
- 黑苹果系统 macOS Ventura 13.0.1 22A400 Installer for OpenCore 0.8.6 and FirPE
- 基于Java的汽车销售系统源码(java毕业设计完整源码).zip
- 基于字符分割改进的HEVC屏幕视频帧间复制算法
- node脚本自动化合并git分支
- 基于出行链的电动汽车空间负荷预测,MATLAB,有注释,方便初学者理解上手,此程序用来计算节点处电动汽车充电负荷,不是商业区,住宅区等注意区分 有参考文献
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1