当前位置:文档之家› scilab中文帮助手册p

scilab中文帮助手册p

A(:) 是指A中的元素按从左到右从上到下的顺序排成的一列.
A(:,j) 是指A中的第j列元素.
A(j:k) 是指[A(j),A(j+1),...,A(k)]
A(:,j:k) 是指[A(:,j),A(:,j+1),...,A(:,k)]
A(:)=w Biblioteka 指用w将矩阵A填满.comma - (,) 列,指令与参数分隔符
errcatch()
参数:
n : 整数
action, option : 字符串
例子1:
for k=1:10,K=k;if k>2&k<=8 then continue,disp('hello'),end,k,end
例子2:
for j=1:2
x=[];
for k=1:10,if k>j+1&k<=8 then continue,end,x=[x,k];end
x
end
Date – 显示当前时间命令
说明:[ ]用于向量定义或者矩阵连接或者用在调用函数的左边存储变量,而()用于函数调用。[ ]在用于矩阵连接时,空格、逗号用来隔开每“行”中的元素,分号、回车则用来隔开各“行”。[ ] 用在调用函数的左边存储变量时,必须用逗号隔开个变量。
break -结束循环
说明:在for 或者 while 循环中,break命令强制结束循环
backslash (\):矩阵左除
调用格式:如x=A\b
说明:backslash (\)代表矩阵左除,x=A\b是方程A*x=b的解。
如果A是一个方阵或者可逆矩阵(nonsingular或者invertible),那么x=A\b是方程A*x=b的唯一确定的解,且等于x=inv(A)*b.
(通俗的说,就是方程数目等于未知数个数,所以解唯一。如A=[1 2 1;3 2 2;2 3 1],b=[8;13;11])
例子:
l=list(1);l(3)=5
k=definedfields(l)
运行结果:k =1. 3. 5. 符号
调用格式:如 a.*b 等
说明:该操作符号可用来标志小数点,如和,还可以用来和其他符号组成运算符,比如,可以和( * / \ ^ ' )组成(.* , .^ , ./ , .\ , .')运算符,比如C=A./B表示c(i,j) = a(i,j)/b(i,j),克乃内克乘积为“.*. ”。注意当(.) 符号紧接着一个数字时,它总是表示这个数字的小数点,比如说2.*x 就表示*x,而2 .*x则表示(2).*x
说明:
该操作符用来分隔函数中的参数,或者用来分隔单行矩阵中的列,
空格也可以用来分隔单行矩阵中的列,但用逗号更加合适.另外也可以用来
分隔指令,分号;也可以用来分隔指令,但不会将结果显示在屏幕上.
例子:
a=[1,2,3;4,5,6];
a=1,b=1;c=2
comments -注释
注释行以说明:
在for和while循环中,命令continue使程序转向下一个循环,而忽略该次循环中continue语句和end语句之间的指令.
如果A不是一个方阵,那么x是最小二乘解,此时,该解x使norm(A*x-b)最小。
(通俗的说,就是方程数目不等于未知数个数。
如果方程数目大于未知数个数,本来是没有准确解的,但可以根据最小二乘法原理拟合出最佳解。如A=rand(3,2);b=[1;1;1]。此时,由于A不是一个方阵,无法使用inv(A)命令,因此x=A\b等效于x=pinv(A)*b.
brackets括号:包括左右圆括号(),左右方括号[].
方括号调用格式:[a11,a12,...;a21,a22,...;...]
圆括号调用格式: [s1,s2,...]=func(...)
参数a11,a12,... : 任何合适的矩阵 (实数, 多项式, 有理数等);
参数s1,s2,... : 任何变量名;
调用格式:date或者 date() 或者 date () 或者dt=date()
说明:dt=date()返回一个以格式dd-mmm-yyyy 表明时间的字符串。
debug – 调试级别
调用格式:debug(level-int) 或者level-int=debug()
参数:level-int代表一个0-4的整数。
其他情况的比较结果全部返回布尔型变量%f。
对于list列表对象来说:
如果a与b是大小相同的列表,那么a==b会逐一比较对应元素,结果返回一个单行的布尔型向量。
如果a与b是大小不同的列表,那么结果返回布尔型变量%f。
对于tlist和mlist列表对象来说:
如果没有定义过载函数,那么操作与list列表一样
2.硬链接:先用scilab下已有的程序(default/作为调入程序,再在文件(default/Flist)中增加一个入口,然后再使用命令make bin/scilex与scilab连接.
call语句有两种调用形式,长型与短型.短型调用语法简单,能够很快地编译代码,但必须写一个小小的C或者F接口程序.长型调用则不需要,但语法复杂,代码解释速度也比较慢.
equal - (=)赋值与比较符号
=用于把值赋给变量
a==b则表明表达式a与表达式b相等。
对于矩阵对象来说:
如果a与b是同类型的矩阵,而且维数也相同,那么a==b会逐一比较对应元素,最后返回一个相同维数的布尔型矩阵。
如果a与b是同类型的矩阵,但a或b中有一个的维数是1*1,即只有一个元素,那么就将该元素逐一与另外一个矩阵中的元素比较,最后返回一个布尔型矩阵。
如果方程数目小于未知数个数,应该有无穷个解,用x=A\b命令得出的解只是其中的一个解,而用pinv(A)*b命令得出的解则比较粗糙,没有用x=A\b命令得出的解精确。)
如果A是一个列满秩矩阵(矩阵的秩等于列数),那么此最小二乘解x=A\b是唯一能使norm(A*x-b)最小的解。
如果A不是一个列满秩矩阵,那么此最小二乘解x=A\b不能使norm(A*x-b)最小,使norm(A*x-b)最小的解应该是x=pinv(A)*b)。
说明:对于不同的整数,代表了不同的调试级别。
definedfields – 返回列表变量中已定义元素的索引
调用格式:k=definedfields(l)
参数:l是一个列表变量(可以是list , tlist或者mlist类型),k是返回的索引向量。
说明:如果l是一个列表变量(list tlist mlist) 那么k=definedfields(l) 返回的k是列表变量中已定义元素的索引,如果元素未定义,则返回一个错误信息。
(.) 符号的另一个用法是当一行末尾有两个或者两个以上的小数点的时候就表示这一行没有完成,有待继续。
do - 循环语句的关键词
一般与while连用,也可用for语句中
elseif:if-then-else语句中的关键词
else: if-then-else语句中的关键词
empty - ([])空矩镇阵
当没有明显的答案时,矩阵运算返回空集[]或错误信息。注意,空的线性系统(linear systems,)可能有几行或者几列。
例子:
s=poly(0,'s'); A = [s, s+1];
A+[], A*[]
A=rand(2,2); AA=A([],1), size(AA)
end - 关键词
用在循环语句和条件语句的末尾,for, while, if, select 必须用end来中止。
符号[]产生一个空矩阵,它的定义很特别,0行0列,也就是说size([]) =[0,0].根据该属性就有下面的结果:
[] * A = A * [] = []
[] + A = A + [] = A
[ [], A] = [A, []] = A
inv([]) =[]
det([])=cond([])=rcond([])=1, rank([])=0
(1) 程序设计programming:
abort: 中断计算
说明:abort命令中断当前计算并给出Scilab的提示符(“-->”)。如果用户使用pause命令进入高层界面,可使用abort命令回到初始层界面,出现Scilab的提示符(“-->”)。
Ans: 计算结果
说明:如果表达式的值没有被赋与任何变量,那么Scilab自动产生一个变量Ans,用来存储当前表达式的值。
例子:C语言
case-判断语句的关键词
说明:用在选择语句select...case中的关键词:
用法如下:
select 表达式0
case 表达式1 then 程序1,
case 表达式2 then 程序2,
...
case 表达式3 then 程序3,
[else 程序],
end
例子:
while %t do
colon - (:) 冒号操作符
说明:
该操作符可以用来生成implicit vectors(不好翻译,看下面的例子就明白了)
j:k生成一个向量[j, j+1,...,k](如果j>k则为空集).
j:d:k生成一个向量[j, j+d, ..., j+m*d].
该操作符可以用来挑选向量或者矩阵中的某一行,某一列或者某一个元素
n=round(10*rand(1,1)) namn 该命令清除指定全局变量
clearglobal('nam1', ..,'namn') 该命令清除指定全局变量
其中nam1 .. namn为有效的全局变量
例子:
global a b c
相关主题