这里有它• 电子版的scilab教程 自己去学习一下 印象深刻 些
Scilab *** 作入门
介绍界面,帮助,demo等使用方法
命令提示符: -->
scilab的命令提示符是-->, 在该提示符下可以输入命令。 在运行demo时会有暂停,此时显示的提示符>>只是等待用户按Enter键,不能输入命令。 在菜单Control->stop可以暂时停止demo的执行,之后命令提示符变为-1->, 此时可以输入命令。 使用resume命令或者选择菜单Control->resume 可以恢复demo的执行。 使用abort命令或选择菜单Control->abort可以放弃demo的执行,命令提示符重新变为-->.
数值运算
基本运算
在指令界面的 '-->'之后,即可输入运算字串。例子:
-->1+1 //按下[Enter]
Ans =
2.
-->log(10) //按下[Enter]
Ans =
2.3025851
变量与常量
在scilab中变量的宣告是很自由的,几乎大部分的字串皆可以成为变量。例如x=3a2=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 00 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()
向量和矩阵运算
矩阵函数
统计分析函数
多项式运算
复数运算
Scilab语言
介绍Scilab编程语言
.....B
变量定义
......
if条件判断
......
for循环
......
while循环
......
函数定义
......
函数调用
......
计算结果可视化
计算结果可视化
二维平面绘图
三维立体绘图
工具箱开发
本文档来源于 http://www.scilab.org/product/toolbox_guide/html/toolbox.html 页面中的英文文档,编写自己的工具箱,除了参考此文档,也可以参考一些成熟的工具箱的代码和代码组织方式。
工具箱结构
工具箱的根目录名为工具箱的名字(比如mytoolbox),它包含8个子目录:
macros: Scilab宏 (例如用Scilab代码写的,以.sci为文件名扩展名的函数),buldmacros宏和loadmacros宏脚本。
src: 源代码(所有的 .c 和 .f 文件),一个 buildsrc脚本
sci_gateway: 接口程序,和一个buildsci_gateway
help: 英语和法语帮助,其子目录明分别为eng和fr,里面包含.xml帮助文件,buildhelp和loadhelp脚本。
etc: .html, .pdf, .txt, .jpeg, ...
unit tests: .tst files (测试你的工具箱的脚本)
demos: 各种展示你的工具箱的例子。
includes: .h 文件。
和四个文件:
readme.txt: 工具箱描述和安装说明。
builder.sce: 主builder
loader.sce: 主loader
license.txt: 协议
还有什么问题看一下这个网站
http://www.scilab.org.cn/?q=book/export/html/12
著名的Springer出版社于1999年6月出版了一本关于SCILAB的书:《Engineering and Scientific Computing With Scilab》,介绍了SCILAB的编程语言、函数、各种工具箱及其在控制、优化、图形、信号处理中的应用实例。清华大学出版社,胡包钢老师编写的《科学计算自由软件——SCILAB教程》。可以上亚马逊或者京东搜下scilab
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)