SciLab学习笔记(1)

- - 11 条留言 -

刚刚读了一点筑波大学的樱井铁也写的《通过MATLAB/Scilab来理解数值计算》(日文)。将要点整理于此,供感兴趣的同学及自己参考。

  1. 在Matlab中,如果一个变量有赋值,比如t=20,那么可以写“2t”就为40。而Scilab里面直接写“2t”不可以,要加上*,即为“2*t”。(多谢D.D.留言订正!2004/09/28)
  2. Matlab的注释是用“%”引导;在Scilab里面是“//”。
  3. 一些预设的变量的表示方法不同。比如圆周率pai在Matlab里面就是“pi”,而在Scilab里面要加上“%”,也就是说,调用圆周率的时候要写“%pi”。类似的还有:虚数在Matlab里可以是“i”或者“j”;而在Scilab里面为“%i”(“%j”好像不可以)。例外的是默认变量“ans”,两者都不需要加百分号。
  4. 操作符的用法如:加减乘除,大于小于等大多一样。唯一例外是“不等于”,在Matlab里是“a ~= b”;在Scilab里是“a <> b”或者“a != b”。
  5. 程序的编辑与执行的不同。Matlab中如果编辑sample.m文件,敲入:edit sample即可。执行时也就是输入:sample。而在Scilab里要复杂些。启动编辑器为“scipad();”,执行保存后的文件如sample.sci要输入“exec('sample.sci');”。
  6. 两者在矩阵的定义与矩阵元素的调用上都差不多。唯一不同的是对矩阵的最后一个元素的调用。在Matlab里,“最后”这个不定变量为“end”,而在Scilab中为“$”。例:矩阵u=[1,2,3];。要调用最后一个3时命令为:u(end)——Matlab;u($)——Scilab。
  7. 在矩阵的运算上也大多相同。不同点在length和sum命令上。Matlab中length输出矩阵行或者列中元素较多的一个的元素个数,sum输出各个列相加的和;在Scilab中length为整个矩阵的元素数,sum输出全部元素的和。在Scilab中如果要输出各列或者各行的元素和要在sum命令里加上参数,如:sum(A,'r');或者sum(A,'c');
  8. 方阵的构造在Matlab中是要一个参数,如:zeros(2);是一个二乘二的零矩阵,eye(3);是三乘三的单位矩阵。在Scilab里需要将两个维都写出来,即:zeros(2,2);eye(3,3);