Scilab程序设计教程v002.docx

上传人:b****1 文档编号:203721 上传时间:2023-04-28 格式:DOCX 页数:32 大小:25.79KB
下载 相关 举报
Scilab程序设计教程v002.docx_第1页
第1页 / 共32页
Scilab程序设计教程v002.docx_第2页
第2页 / 共32页
Scilab程序设计教程v002.docx_第3页
第3页 / 共32页
Scilab程序设计教程v002.docx_第4页
第4页 / 共32页
Scilab程序设计教程v002.docx_第5页
第5页 / 共32页
Scilab程序设计教程v002.docx_第6页
第6页 / 共32页
Scilab程序设计教程v002.docx_第7页
第7页 / 共32页
Scilab程序设计教程v002.docx_第8页
第8页 / 共32页
Scilab程序设计教程v002.docx_第9页
第9页 / 共32页
Scilab程序设计教程v002.docx_第10页
第10页 / 共32页
Scilab程序设计教程v002.docx_第11页
第11页 / 共32页
Scilab程序设计教程v002.docx_第12页
第12页 / 共32页
Scilab程序设计教程v002.docx_第13页
第13页 / 共32页
Scilab程序设计教程v002.docx_第14页
第14页 / 共32页
Scilab程序设计教程v002.docx_第15页
第15页 / 共32页
Scilab程序设计教程v002.docx_第16页
第16页 / 共32页
Scilab程序设计教程v002.docx_第17页
第17页 / 共32页
Scilab程序设计教程v002.docx_第18页
第18页 / 共32页
Scilab程序设计教程v002.docx_第19页
第19页 / 共32页
Scilab程序设计教程v002.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Scilab程序设计教程v002.docx

《Scilab程序设计教程v002.docx》由会员分享,可在线阅读,更多相关《Scilab程序设计教程v002.docx(32页珍藏版)》请在冰点文库上搜索。

Scilab程序设计教程v002.docx

Scilab程序设计教程v002

Scilab程序设计教程

1.Scilab基础

1.1.Scilab概述

----Scilab(ScientificLaboratory)是以法国国立信息与自动化研究院(INRIA)的科学家为主共同开发的“开放源码”式科学计算软件,它主要有两个功能:

数值计算和计算结果可视化。

SCILAB数据类型丰富,可以很方便地实现各种矩阵运算。

SCILAB也能处理比数字矩阵复杂得多的对象,例如控制专业的多项式传递函数矩阵。

SCILAB允许用户在线建立自定义函数。

函数在SCILAB中被当作数据对象处理。

另外SCILAB具有功能丰富的图形显示能力,可以完成各种常规形式的计算结果的可视化功能。

----SCILAB为用户提供如下计算和开放式编程环境:

----1、多种容易操作的数据类型。

----2、一个作为广泛计算基础的合理有效的基本函数集。

----3、一个开放式编程环境,新的函数能很容易地被添加。

----Intersci是一个有用的发布工具,通过它能建立接口,添加新的函数及工具箱,例如增加新的FORTRAN代码和C代码到SCILAB中。

SCILAB还包括一些应用于不同科学计算领域的工具箱,例如应用于数学建模、信号处理、网络分析、决策优化、线形与非线性控制等多个方面的工具箱。

它的工具箱允许图形定义和模拟复杂的连续和离散的混杂系统。

SCILAB由3个独立的部分组成:

一个解释器、函数库(SCILAB程序)以及一个FORTRAN和C程序库。

另外SCILAB是一种解释性语言,能运行于Windows、Linux以及UNIX等操作系统环境下。

SCILAB与目前流行的MATLAB软件起源相同,都源自于CleveMoler于1980年开发的程序,其功能与MATLAB软件相似,并且表达式的语法、函数的调用和大多数控制指令都相似。

1.2.Scilab集成环境

File菜单:

->NewScilab打开新的Scilab程序

->Exec执行一个Sclab程序文件

->Open打开一个Sclab程序文件

->Load加载Scilab数据文件或者编译过的函数文件

->Save保存Scilab变量数据文件

->ChangDirectoy改变当前的Scilab工作区目录

->GetCurrentDirectoy得到当前的Scilab工作区目录

->PrintSetup打印设置

->Print打印

->Exit退出

Edit菜单:

->Selectall选择目前工作区所有文本

->Copy复制文本

->Paste粘贴

->EmptyClipboard清空剪贴板

Preferences菜单:

 

->Language选择语言

->Colors用户可以自己定义界面的显示颜色

->Toolbar显示和隐藏工具栏

->File'sAssociation设置文件关联

->ChooseFont设置字体

->ClearHistory按键盘的上下键可以选择最近输入的Scilab命令,本选项清除最近输入的命令提示。

   

->ClearCommandWindow清空屏幕显示

->Console打开Scilab命令行形式

Control菜单

->Resume回复

->Abort 取消运行

->Interrupt中止运行

->

->

->

Editor菜单

     打开Scilab程序编辑器

Applications菜单

->ScicosScilab图形化仿真模块

->EditGraph编辑图形

->M2SCI将Matlab语言的命令程序转换为Scilab的程序

->BrowserVariables察看当前工作区的各个变量的值,并且可以编辑

?

菜单

->ScilabHELP帮助

->Configure帮助的显示方式设置

->ScilabDemosScilab功能演示

->

->

->

->

->

->

->

->

->

.sav文件为Scilab变量数据文件

2.Scilab数据

Scilab具有丰富的数据类型,如整型、字符型、结构体等,以上的数据类型都以矩阵的形式存在,所以矩阵是Scilab最基本的数据对象。

本章重点介绍Scilab中各种数据的表示方法和基本运算。

2.1.Scilab数据的特点

  矩阵是Scilab最基本的数据对象,Scilab的大部分运算是在矩阵运算的意义下执行的。

Scilab下的变量不需要预先定义,其直接根据第一次使用时的数据类型自动确定类型。

2.2.变量和数据操作

2.2.1.变量命名

  Scilab中的变量命名,变量以字母开头,后接字母、数字、下划线。

Scilab中变量区分大小写。

Scilab中函数调用时必须使用小写,否则就会出错。

2.2.2.变量赋值

Scilab中变量可以直接赋值,也可以使用以知变量组成的表达式赋值。

  如:

    a=1

b=a+1

Scilab命令语句后面可以不使用结束符号,但如果使用";"则表示不在屏幕输出此项运算显示。

Scialb中的注释采用 "//"只支持单行注释

Clear命令用来清除工作区所有变量内容

2.2.3.特殊变量和常数

ans:

当函数没有指定的输出时,结果就放在变量 ans中

%pi:

圆周率

可以使用BrowserVariables菜单或者browsevar();命令来在变量浏览器中察看Scilab中预定义的各个常数。

打开变量浏览器,设置显示预定义变量。

2.2.4.内存变量管理

  Scilab的内存便利管理使用BrowserVariables完成。

可以完成变量的察看、编辑、删除。

Scilab工作区中的变量可以通过Save和 Load命令进行保存和读取

命令

       Save文件路径  

       Load文件路径  

2.3.Scilab矩阵

2.3.1.标量的生成

标量的生成很简单,只需要直接给出一个变量赋值:

-->a=1

a=

1.

2.3.2.向量的生成

     行向量:

之间采用空格

-->s=[1234]

s=

1.2.3.4.

     列向量:

之间采用;

-->s=[1;2;3;4]

s=

1.

2.

3.

4

使用“:

”生成向量

格式:

 向量名称 =初值:

步长:

终值自动生成均等分的向量,默认步长为1

-->s=1:

4

s=

1.2.3.4.

-->s=1:

0.4:

4

s=

column1to6

1.1.41.82.22.63.

column7to8

3.43.8

使用Linspace函数生成向量

-->s=linspace(1,100,10)

s=

column1to6

1.12.23.34.45.56.

column7to10

67.78.89.100.

使用Logspace函数生成向量

-->s=logspace(1,100,10)

s=

1.0D+50*

column1to3

1.000D-491.000D-381.000D-27

column4to6

1.000D-160.000011000000.

column7to9

1.000D+171.000D+281.000D+39

2.3.3.矩阵的生成

矩阵的收成一般采用直接输入。

-->s=[1,2,3;4,5,6;7,8,9]

s=

1.2.3.

4.5.6.

7.8.9.

常用矩阵的生成

   zeros:

生成全矩阵

-->zeros(3,2)

ans=

0.0.

0.0.

0.0.

-->zeros(3,2,3)

ans=

(:

:

1)

0.0.

0.0.

0.0.

(:

:

2)

0.0.

0.0.

0.0.

(:

:

3)

0.0.

0.0.

0.0.

ones:

生成全1矩阵

-->s=ones(3,2)

s=

1.1.

1.1.

1.1.

eye:

单位矩阵

-->s=eye(2,2)

s=

1.0.

0.1.

rand:

随机矩阵

-->s=rand(3,3)

s=

0.21132490.33032710.8497452

0.75604390.66538110.6857310

0.00022110.62839180.8782165

空矩阵

 -->s=[]

s=

[]

生成没有任何元素的空矩阵

2.4.Scilab运算

2.4.1.加法和减法

矩阵的加减运算需要参与运算的两个矩阵大小相同,然后直接可以进行运算。

C=A+B

C=A-B

2.4.2.乘法运算

C=A*B矩阵乘

 C=A.*B向量乘

2.4.3.除法运算

C=A\B矩阵左除

C=A/B矩阵右除

2.4.4.矩阵求逆

C=inv(A)

2.4.5.乘方运算

C=A^p矩阵乘方

C=A.^p向量乘方

2.4.6.矩阵转秩

C=A'

布尔矩阵

字符串矩阵

多项式矩阵

表(List)类型

2.5.字符串

Scilab中的字符串可以直接运算

-->s="aaa"+"bbb"

s=

aaabbb

2.5.1.字符串查找

   i=strindex(str1,str2)

-->i=strindex("abcdef","bc")

i=

2.

2.5.2.大小写转换

小写变大写

-->s=convstr("abc",'u')

s=

ABC

大写变小写

-->s=convstr("ABC",'l')

s=

abc

2.5.3.字符串替换

-->strsubst('abcdef','bc','00')

ans=

a00def

附录Scilab常用命令与函数分类索引表

scilab部分函数

1.通用指令

help在线帮助

apropos文档中关键词搜寻

ans缺省变量名以及最新表达式的运算结果

clear从内存中清除变量和函数

exit关闭SCILAB

quit退出SCILAB

save把内存变量存入磁盘

exec运行脚本文件

mode文件运行中的显示格式

getversion显示SCILAB版本

ieee浮点运算溢出显示模式选择

who列出工作内存中的变量名

edit文件编辑器

type变量类型

what列出SCILAB基本命令

format设置数据输出格式

chdir改变当前工作目录

getenv给出环境值

mkdir创建目录

pwd显示当前工作目录

evstr执行表达式

2.运算符和特殊算符

-减

*矩阵乘

.*数组乘

^矩阵乘方

.^数组乘方

反斜杠或左除

/斜杠或右除

./或.数组除

==等号

~=不等号<小于

>大于

=大于或等于

&,and逻辑与

|,or逻辑或

~,not逻辑非

:

冒号

()园括号

[]方括号

{}花括号

.小数点

逗号

;分号

//注释号

=赋值符号

'引号

'复数转置号

.'转置号

ans最新表达式的运算结果

%eps浮点误差容限,

%i虚数单位=√(-1)

%inf正无穷大

%pi圆周率,π=3.1415926535897....

3.编程语言结构

abort中止计算或循环

break终止最内循环

case同select一起使用

continue将控制转交给外层的for或while循环

else同if一起使用

elseif同if一起使用

end结束for,while,if语句

for按规定次数重复执行语句

if条件执行语句

otherwise可同switch一起使用

pause暂停模式

return返回

select多个条件分支

then同if一起使用

while不确定次数重复执行语句

eval特定值计算

feval函数特定值计算或多变量计算

function函数文件头

global定义全局变量

isglobal检测变量是否为全局变量

error显示错误信息

lasterror显示最近的错误信息

sprintf按格式把数字转换为串

warning显示警告信息

4.基本数学函数

acos反余弦

acosh反双曲余弦

acot反余切

acoth反双曲余切

acsc反余割

acsch反双曲余割

asin反正弦

asinh反双曲正弦

atan反正切

atanh反双曲正切

cos余弦

cosh双曲余弦

cotg余切

coth双曲余切

sin正弦

sinh双曲正弦

tan正切

tanh双曲正切

exp指数

log自然对数

log10常用对数

log2以2为底的对数

sqrt平方根

abs绝对值

conj复数共轭

imag复数虚部

real复数实部

ceil向上(正无穷大方向)取整

fix向零方向取整

floor向下(负无穷大方向)取整

round四舍五入取整

sign符号函数

gsort降次排序

erf误差函数

erfc补误差函数

gammagamma函数

interp插值函数

interpln线性插值函数

intsplin样条插值函数

smooth样条平滑函数

spline样条函数

quarewave方波函数

sign符号函数

double将整数转换为双精度浮点数

5.基本矩阵函数和操作

eye单位阵

zeros全零矩阵

ones全1矩阵

rand均匀分布随机阵

genmarkov生成随机Markov矩阵

linspace线性等分向量

logspace对数等分向量

logm矩阵对数运算

cumprod矩阵元素累计乘

cumsum矩阵元素累计和

toeplitzToeplitz矩阵

disp显示矩阵和文字内容

length确定向量的长度

size确定矩阵的维数

diag创建对角阵或抽取对角向量

find找出非零元素1的下标

matrix矩阵变维

rot90矩阵逆时针旋转90度

sub2ind据全下标换算出单下标

tril抽取下三角阵

triu抽取上三角阵

conj共轭矩阵

companion伴随矩阵

det行列式的值

norm矩阵或向量范数

nnz矩阵中非零元素个数

null清空向量或矩阵中的某个元素

orth正交基

rank矩阵秩

trace矩阵迹

cond矩阵条件数

rcond逆矩阵条件数

inv矩阵的逆

luLU分解或高斯消元法

pinv伪逆

qrQR分解

givensGivens变换

linsolve求解线性方程

lyapLyapunov方程

hessHessenberg矩阵

poly特征多项式

schurSchur分解

expm矩阵指数

expm1矩阵指数的Pade逼近

expm2用泰勒级数求矩阵指数

expm3通过特征值和特征向量求矩阵指数

funm计算一般矩阵函数

logm矩阵对数

sqrtm矩阵平方根

6.特性值与奇异值

spec矩阵特征值

gspec矩阵束特征值

bdiag块矩阵,广义特征向量

eigenmarkov正则化Markov特征向量

pbig特征空间投影

svd奇异值分解

sva奇异值分解近似

7.矩阵元素运算

cumprod元素累计积

cumsum元素累计和

hist统计频数直方图

max最大值

mean平均值

median中值

min最小值

prod元素积

sort由大到小排序

std标准差

sum元素和

trapz梯形数值积分

corr求相关系数或方差

8.稀疏矩阵运算

sparse稀疏矩阵(只存储非零元素)

adj2sp邻接矩阵转换为稀疏矩阵

full稀疏矩阵转换为全矩阵

mtlb_sparse将SCILAB稀疏矩阵转换为MATLAB稀疏矩阵格式

sp2adj稀疏矩阵转换为邻接矩阵

speye稀疏矩阵方式单位阵

sprand稀疏矩阵方式随机矩阵

spzeros稀疏矩阵方式全零阵

lufact稀疏矩阵LU分解

lusolve稀疏矩阵方程求解

spchol稀疏矩阵Cholesky分解

9.输入输出函数

diary生成屏幕文本记录

disp变量显示

file文件管理

input用户键盘输入

load读已存的变量

mclose关闭文件

mget读二进制文件

mgetl按行读ASCII码文件

mgetstr读字符串中单个字

mopen打开文件

mput写二进制文件

mfscanf读ASCII码文件

print将变量记录为文件

read读矩阵变量

save存变量为二进制文件

strartup启动文件

write按格式存文件

xgetfile对话方式获取文件路径

x_dialog建立Xwindow参数输入对话框

Tk_Getvar得到Tk文件变量

Tk_EvalFile执行Tk文件

10.函数与函数库操作

deff在线定义函数

edit函数编辑器

function打开函数定义

functionsSCILAB函数或对象

genlib在给定目录下建立所有文件的

函数库

get_function_path读函数库的文件存储目录路径

getd读函数库中的全部文件

getf在文件中定义一个函数

lib函数库定义

macroSCILAB函数或对象

macrovar输入变量个数

newfun输出变量个数

11.字符串操作

code2str将SCILAB数码转换为字符串

convstr字母大小转换

emptystr清空字符串

grep搜寻相同字符串

part字符提取

str2code将字符串转换为SCILAB数码

string字符串转换

stringsSCILAB对象,字符串

strcat连接字符

strindex字符串的字符位置搜寻

strsubst字符串中的字符替换

12.日期与时间

date日期

getdate读日期与时间

timerCPU时间计时

13.二维图形函数

plot2d直角坐标下线性刻度曲线

champ2维向量场

champ1由颜色箭头表示的2维向量场

contour2d等高线图

errbar曲线上增加误差范围框线条

grayplot应用颜色表示的表面

xgrid画坐标网格线

histplot统计频数直方图

Matplot散点图阵列

14.三维图形函数

plot3d三维表面

plot3d1用颜色或灰度表示的三维表面

param3d三维中单曲线

param3d1三维中多曲线

contour三维表面上的等高线图

hist3d三维表示的统计频数直方图

geom3d三维向二维上的投影

15.线条类图形

xpoly单线条或单多边形

xpolys多线条或多各多边形

xrpoly正多边形

xsegs非连接线段

xfpoly单个多边形内填充

xfpolys多个多边形内填充

xrect矩形

xfrect单个矩形内填充

xrects多个矩形内填充

xarc单个弧线段或弧园

xarcs多个弧线段或弧园

xfarc单个弧线段或弧园填充

xfarcs多个弧线段或弧园填充

xarrows多箭头

16.图形注释,变换

xstring图形中字符

xstringb框内字符

xtitle图形标题

xaxis轴名标注

plotframe图形加框并画坐标网格线

isoview等尺寸比例显示(原图形窗口不改变)

square等尺寸比例显示(原图形窗口改变)

xsetech设置小窗口

xchange转换实数为图形象素坐标值

subplot设置多个子窗口

17.图形颜色及图形文字

colormap应用颜色图

getcolor交互式选择颜色图

addcolor增加新色于颜色图

graycolormap线性灰度图

hotcolormap热色(红到黄色)颜色图

xset图形显示方式设定

xget读当前图形显示方式设定

getsymbol交互式选择符号和尺寸

18.图形文件及图形文字

xsave将图形存储为文件

xload从磁盘中读出图形文件

xbasimp将图形按PS文件打印或存储为文件

xs2fig将图形生成Xfig格式文件

xbasc取消图形窗及其相关内容

xclear清空图形窗

driver选择图形驱动器

xinit图形驱动器初始化

xend关闭图形

xbasr图形刷新

replot更改显示范围后的图形刷新

xdel关闭图形

xname改变当前图形窗名称

19.控制分析用图形

bode伯德图坐标

gainplot幅值图坐标(伯德图中的幅值图)

nyquist奈奎斯特图

m_circleM-圆图

chart尼库拉斯图

blackBlack-图

evans根轨迹图

sgrids平面图

plzr零-极点图

zgridz平面图

20.图形应用中的其它指令

graphics图形库指令表

xclick等待鼠标在图形上的点击输入

locate由鼠标点击读入图形中的多点位置坐标

xgetmouse由鼠标点击读入图形中的当前点位置坐标

21.系统与控制

abcd状态空间矩阵

cont_mat可控矩阵

csim线性系统时域响应

dsimul状态空间的离散时域响应

feedback反馈操作符

flts时域响应(离散、采样系统〕

frep2tf基于传递函数的频域响应

freq频域响应

g_margin幅值裕量

imrep2ss基于状态空间的脉冲响应

lin线性化操作

lqeKalman滤波器

lqgLQG补偿器

lqrLQ补偿器

ltitr基于状态空间的离

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2