一、简介01.Scilab是一个集成开发环境,采用命令语句。多条命令语句可以保存在一个文件中,称为此集成环境程序的脚本文件,包括扩展名为.sce和.sci,前者表示可执行文件,后者表示包含定义的函数的文件。02.Scilab包含一个独立的编程命令语言,有自身的命令语法。03.Scilab中的变量,可以直接使用,不需声明。主要有2种变量:字符串变量、数值变量;其中数值变量是矩阵型态,对其的运算,是矩阵运算,当然也可以用其单个元素进行一般的运算。2种类型的变量不能进行算术运算。严格来说,Scilab中的变量没有类型,即没有变量类型标识符,如C++中的int、float等04.由于Scilab语句是命令式的,其灵活性很大,但在调用变量或函数时没有相应的注释。05.语句的后面没有分号,则回车后会给出语句可能的值二、变量的赋值01.字符串变量:data=string;其中data为变量名称,string为赋值的字符串,其决定了别变量是字符串类型的。注:字符串使用时,双引号与单引号没有区别;字符串可加02.直接赋值1:data=1;其中data是表面名称,1是其值,其决定了变量是数值类型的。由于Scilab中的数值变量是矩阵型态的,故而data实际上是1行1列的矩阵。03.直接赋值2:data={a11,...a1b;...;aa1,...,aab};其中data是矩阵类型,axx是其元素,可以同时为数值变量或字符串变量,有a行b列,行与行之间用分号间隔,行内元素之间用逗号间隔,整体用大括号括起来。此处的大括号,也可以换为中括号;其中的逗号,可以换为空格符04.数值变量的间接赋值1:data=(startValue:intervalValue:endValue);其中data是数值变量,是一个1行n列的矩阵,startValue是变量的第一个元素,intervalValue是变量中相邻元素的增差,即后一个元素减去前一个元素的差值,endValue为元素的上限或下限,若依增差可以取到它,则它是变量的最后一个元素,列数依据此规则由内部计算出来此处的小括号,也可以换为中括号或大括号05.数值变量的间接赋值2:data=[];//创建一个空矩阵,行。列数不定data=[matrix_m1_n;matrix_m1_n];将2个矩阵合为1个矩阵,分号表示增加行,要求2个矩阵有相同的列数;逗号表示增加列,要求2个矩阵有相同的行数;当然,分号或逗号可以不止1个。此处的中括号,也可以换为大括号,但不能换为小括号06.矩阵变量中元素的获取:data(iIndex);iIndex是有效的索引值,从1开始,到矩阵元素的总数07.'运算符,竖线矩阵的转置。如:data是1行n列矩阵,则data'是n行1列矩阵,即data的转置矩阵三、常数01.%pi:表示圆周率,即3.1415926...四、命令语句01.clear:清除函数或变量,之后不能在使用它五、命令式函数clf()函数操作指定句柄的窗口,没有传回值clf();函数:清除窗口clf(Handle,cmd);函数:重置窗口第一参:窗口句柄对象,即Figure类型的结构,可以是scf()函数的传回值第二参:字符串,指定对窗口的命令,如reset:重置窗口,恢复为内定的样子其他delete(myaxe);函数:删除图形对象,用背景色涂去图形对象所在的区域,无返回值参数:Axe类型的对象的句柄,即图形对象句柄demo_viewCode(strPath);函数:设定源代码所在的文件,没有返回值参数:字符串,指定文件路径名称,文件拓展名为.sce或.scidrawlater();函数:指定绘图函数暂时不执行,无返回值返回drawnow();函数:指定将未执行的绘图函数执行,无返回值exec(strPathSce,valueNum);函数:以指定的方式打开或执行指定的.exec文件,无返回值第一参:字符串,指定.sce文件的路径名称第二参:整数,一般为-1,表示直接执行指定的文件,取值如下:非正:表示直接执行指定的文件1:表示依行执行指定文件中的命令,并将语句显示在控制台中,直到文件中所有命令都执行完其他:执行文件,执行方式或在控制台的输出形式有所不同gca();函数:获取并返回目前窗口中所画图像坐标轴的对象句柄其字段很多,主要有以下几个重要的:children:类型字符串矩阵,指定此图形中包含的子对象(如:曲线、标签字符串等)的类型字符串,通过它可以获得子对象的句柄visible:字符串,内定为on,表示可见,为off表示不可见grid:1行2列矩阵,指定有无横向或纵向的度量虚线及其颜色。第一个元素指定纵向度量虚线,第二个元素指定横向度量虚线,取为内定颜色的索引值,-1表示背景色(无),0表示黑色,2表示蓝色等直到36有效,其上为白色title:类型字符串Label,表示图形的标题对象,其字段可以设定标题字符串,标题字符串的对象、样式等x_label:类型字符串Label,表示图形的横轴的名称对象y_label:类型字符串Label,表示图形的纵轴的名称对象z_label:类型字符串Label,表示图形的竖轴的名称对象font_style:样式数字,0到十几之间,表示图形中字符的样式,统领以上4个字段的相应字段font_size:字号数字,1到7,表示图形中字符的大小,...font_color:颜色索引值,-1到36,表示图形中字符的颜色,...foreground:颜色索引值,-1到36,表示图形的前景色background:颜色索引值,-1到36,表示图形的背景色x_location:字符串,内定为bottom,表示横轴在纵轴的底部,还可以为middle,表示横轴位于纵轴的中央,为top,表示横轴位于纵轴的顶部y_location:字符串,内定为left,表示纵轴位于横轴的左边,还可以为center,表示纵轴位于横轴的中央,为right,表示纵轴位于横轴的右边其他Label标签类型对象的主要字段如下:visible:字符串,内定为on,表示可见,为off表示不可见text:字符串,设定的字符串,内定为foreground:颜色索引值,表示前景色background:颜色索引值,表示背景色fill_mode:字符串,内定为off,表示不能填充字符串矩形,为on表示可以font_style:字体样式数字,0-十几font_size:字体大小数字,1-7其他getdate(-)函数获取或格式并化返回时间日期getdate();函数:获取并返回格式化的当前本地时间,其为1个1行10列矩阵:第一元素:指定年份,为0-9999第二元素:指定月份,为1-12第三元素:指定所在星期在此年中的序号,为1-53第四元素:指定此日在此年中的序号,为1-366第五元素:指定此日的星期序号,为1-7,1表示星期日,2表示星期一,...第六元素:指定此日在此月中的序号,为1-31第七元素:指定此时的小时序号,为0-23第八元素:指定此时的分钟序号,为0-59第九元素:指定此时的秒钟序号,为0-59最后元素:指定此时的毫秒序号,为0-999getdate('s');函数:获取并返回表示当前的时间的整数,以秒为单位,时间原点为1970-01-0100:00:00UTC,对本地而言,时间原点是1970-01-0108:00:00,因为本地比标准地早8个小时。如此时本地若为1970-01-0108:00:00,则标准地为1970-01-0100:00:00,返回值为0getdate(x);函数:返回指定时间秒数的格式化时间日期,即返回对应的1行10列矩阵参数:正整数类型,表示从1970-01-0108:00:00到此时的秒数,此处的秒数是以UTC时间而言的,但返回的时间日期是本地时间。如x=0,则返回值表示1970-01-0108:00:00,因本地比标准地早8个小时grand()函数可以产生各种随机数,传回其随机矩阵grand(m,n,bet,A,B);函数:产生0-1之间的贝塔分布第一、二参:正整数,指定随机矩阵的尺寸第四、五参:大于0的数,决定随机数在0-1间的分布密度grand(m,n,bin,N,p);函数:产生二项分布成功总次数的随机数第四参:正整数,指定二项分布实验的总次数第五参:小数,0-1之间,指定二项分布的成功概率grand(m,n,chi,Df);函数:产生自由度为Df(0.0)的卡方分布的随机数grand(m,n,exp,Av);函数:产生均值为Av(=0.0)的指数分布的随机数grand(m,n,poi,mu);函数:产生均值为mu(=0.0)的泊松分布的随机数grand(m,n,def);函数:产生[0,1)上的均匀分布的随机数grand(m,n,unf,Low,High);函数:产生[Low,High)上的均匀分布的随机数grand(m,n,uin,Low,High);函数:产生[Low,High]上的均匀分布的随机整数第四、五参:整型类型,且(High-Low+1)2,174,483,561其他histplot()函数在窗口中绘制二维柱状图,没有返回值;内定情况下矩形的面积和为1histplot();函数:在窗口中绘制标准正态分布的二维柱状图histplot(n,data);第一参:正整数,至少为2,指定图形中,矩形柱的个数第二参:矩阵类型,指定要分析的数据矩阵,1行n列histplot(n,data,normalization=%f);函数:绘制柱状图,但矩形高度和为要分析的矩阵数据的元素的总个数第三参:就这么写,不需改动histplot(n,data,style=iValue);第三参:iValue为整数型态,指定矩形的边框的颜色,2为蓝色histplot(n,data,rect=[m1,m2,m3,m4]);第三参:m1和m3指定横轴的范围,m2和m4指定纵轴的范围注:其上,n为矩形的个数,则分类时,将数据的最大值与最小值之间的部分均分为n份,在统计也可以将n换为一个1行m列矩阵,表示分类的标度,矩形的数目为此矩阵的元素个数减1(边框空矩形)legend(strMatrix);函数:在窗口中为图形曲线设定标注字符串,返回操作后的窗口的句柄对象参数:1行2列字符串矩阵,由曲线创建的先后顺序给曲线设置标注length(matrix);函数:获取并返回指定矩阵参数的元素的个数linspace(x1,x2,n);函数:返回有参数设定的元素值等分的1行n列矩阵第一参:数值,指定下限或上限第二参:数值,指定上限或下限第三参:正整数,指定等分后得到的矩阵的元素的总个数max(matrix);函数:获取并返回指定矩阵参数的元素的最大值min(matric);函数:获取并返回指定矩阵参数的元素的最小值mprintf(strFormat,a1,...,an);函数:格式化指定的字符串,并传回格式化之后的字符串plot2d()函数绘制二维曲线及坐标轴(包括刻度,但不包括箭头和坐标轴的名称),没有返回值plot2d();函数:绘制内定默认的二维图形plot2d(matrix_1_n_1,matrix_1_n_2);函数:绘制指定坐标点的曲线图第一参:1行n列矩阵,指定横坐标轴上的坐标点值组第二参:1行n列矩阵,指定竖坐标轴上的坐标点值组,其元素与第一参的相应元素构成一系列的点,点连成曲线rand(-)函数产生随机数,保存在作为参数的矩阵中或返回一个保存随机数的矩阵;内定为0-1的均匀分布rand(m1,m2,...,mn);函数:返回一个0-1均匀分布的多维随机矩阵参数:对应维数的长度rand(a);函数:返回一个0-1均匀分布的随机矩阵参数:矩阵类型的变量,表示返回的随机矩阵与之有相同的尺寸,且此参数矩阵不变rand();函数:返回一个0-1均匀分布的1行1列随机矩阵rand(uniform);函数:设定随机数发生器为0-1的均匀分布函数,无返回值rand(normal);函数:设定随机数发生器为均值为0,