scilab怎么用啊?

scilab怎么用啊?,第1张

http://fsa.ia.ac.cn/mediawiki/index.php?title=Scilab%E4%B8%AD%E6%96%87%E6%95%99%E7%A8%8B&curid=6433&diff=6592&oldid=0

这里有它• 电子版的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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12106035.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存