yg545
2006-05-13 17:16
作者:sumigs
http://www.simwe.com/forum/viewthread.php?tid=273291&highlight=scilab......ighlight=scilab
scilab使用指南——文件操作(推荐),控制绘图,线性代数
本指南较为松散,基本上是遇到什么问题说什么,请在相关使
用过程中参考。
BTW:数值运算操作基本同matlab相同。具体详细的帮助文件
请下载软件后查阅。
而且scilab的一大好处是绿色,免费而且同时支持在
windows和linux下运行,并且集成了pvm模块,支持
并行计算,所以可以作为并行计算的开发运行平台。
与matlab对比,scilab更像c语言,其结构化,独立模块化
较差,对于单一目标任务比较适宜,如果开发通用型程
序,其优势相对不足。而且在图形功能方面暂时未发现
有超出matlab的地方。我所欣赏的方面就是其较少的内存
占用量15Mb,较快的反应速度,不像matlab那样,启动
就要10秒,占用内存47Mb。
2004年6月7日16:38
在for语句中,典型实例,向量递减时
for i=n:-1:1
i;
end
此时不会默认步长,需要注意。
常用控制语句
if statement==statement|
end
基本功能使用上与matlab基本相同,如果使用函数与
c语言相似,同主调用过程可同写在一个文件中。
function Y=f(x)
statements;
endfunction
为加快执行速度,适当使用向量化,如点积(dot.),
向量化操作矩阵,赋值等。
文件操作
仿c语言fprintf
u=file(’open’,’results’,’unknown’) //open the result file
t=0:0.1:2*%pi;
for tk=t
fprintf(u,’time = %6.3f value = %6.3f’,tk,sin(tk)) // write a line
end
file(’close’,u) //close the result file
打开文件,推荐使用
[fd,err]=mopen("F:/scilab-2.6/usr/raw.dat" );
写文件
mfprintf(’At iteration %i, Result is:\nalpha=%f’,33,0.535)
读文件
NB(1:4)=mfscanf (fd,'%d%d%d%d');
关闭文件
err=mclose(fd);
2004年6月8日09:47
而且scilab的一大好处是绿色,免费而且同时支持在
windows和linux下运行,并且集成了pvm模块,支持
并行计算,所以可以作为并行计算的开发运行平台。
与matlab对比,scilab更像c语言,其结构化,独立模块化
较差,对于单一目标任务比较适宜,如果开发通用型程
序,其优势相对不足。而且在图形功能方面暂时未发现
有超出matlab的地方。我所欣赏的方面就是其较少的内存
占用量15Mb,较快的反应速度,不像matlab那样,启动
就要10秒,占用内存47Mb。
12:59
误区:函数内部定义时又调用其他的函数,这是不允许的。
2004年6月17日11:40
读取文件标记
查看是否到达文件结尾
err=meof(fd)
2004年6月19日10:53:18
自编字符串比较函数strcmp,
14:10:27
基本搞定文件读取
定义了 boo=strcmp(s1,s2)
量取字符串长度
size1=length(s1);
而且字符串的定义基本不区分''""。
抽取字符串中第i个字符
part(s1,i)
一次性将所有字符数据按行读入字符串矩阵
str=mgetl(fid);
量取字符串矩阵的大小
sizefile=size(str);其中每行只有一个元素,即字符串
从字符串扫描输入数据
A(SAMPLE*(i-1)+k,1:7) = msscanf(tline,'%f%f%f%f%f%f%f');
对于图形功能尚未了解
图形可以通过文件——导出成Gif格式。
但自动存取不了解,
如何将多条曲线绘制于同一坐标系中
可以采用矩阵分割屏幕
subplot(211);
多条曲线绘制于同一坐标系中
plot2d(c,d);其中c,d分别为[x;x...;x],[y;y...;y],即每列相对应
写标题
xtitle('w vs V');
限定坐标系矩形范围
rect=[XMIN,wmin,XMAX,wmax];
较为复杂的控制绘图
plot2d1('gnn',c,d, ,'011',' ',rect)其中分别为[x;x...;x],
[y;y...;y],rect为前面定义的矩形框。
不过如果矩形比较矮时,曲线会越过矩形框。
2004年6月21日16:33:17
矩阵特征值
evals=spec(A)
特征值及特征向量
[Ab,X]=bdiag(inv(M)*K)
单位阵
M=eye(5,5)
零矩阵
M1=zeros(5,5);
http://www.simwe.com/forum/viewthread.php?tid=273291&highlight=scilab......ighlight=scilab
scilab使用指南——文件操作(推荐),控制绘图,线性代数
本指南较为松散,基本上是遇到什么问题说什么,请在相关使
用过程中参考。
BTW:数值运算操作基本同matlab相同。具体详细的帮助文件
请下载软件后查阅。
而且scilab的一大好处是绿色,免费而且同时支持在
windows和linux下运行,并且集成了pvm模块,支持
并行计算,所以可以作为并行计算的开发运行平台。
与matlab对比,scilab更像c语言,其结构化,独立模块化
较差,对于单一目标任务比较适宜,如果开发通用型程
序,其优势相对不足。而且在图形功能方面暂时未发现
有超出matlab的地方。我所欣赏的方面就是其较少的内存
占用量15Mb,较快的反应速度,不像matlab那样,启动
就要10秒,占用内存47Mb。
2004年6月7日16:38
在for语句中,典型实例,向量递减时
for i=n:-1:1
i;
end
此时不会默认步长,需要注意。
常用控制语句
if statement==statement|
end
基本功能使用上与matlab基本相同,如果使用函数与
c语言相似,同主调用过程可同写在一个文件中。
function Y=f(x)
statements;
endfunction
为加快执行速度,适当使用向量化,如点积(dot.),
向量化操作矩阵,赋值等。
文件操作
仿c语言fprintf
u=file(’open’,’results’,’unknown’) //open the result file
t=0:0.1:2*%pi;
for tk=t
fprintf(u,’time = %6.3f value = %6.3f’,tk,sin(tk)) // write a line
end
file(’close’,u) //close the result file
打开文件,推荐使用
[fd,err]=mopen("F:/scilab-2.6/usr/raw.dat" );
写文件
mfprintf(’At iteration %i, Result is:\nalpha=%f’,33,0.535)
读文件
NB(1:4)=mfscanf (fd,'%d%d%d%d');
关闭文件
err=mclose(fd);
2004年6月8日09:47
而且scilab的一大好处是绿色,免费而且同时支持在
windows和linux下运行,并且集成了pvm模块,支持
并行计算,所以可以作为并行计算的开发运行平台。
与matlab对比,scilab更像c语言,其结构化,独立模块化
较差,对于单一目标任务比较适宜,如果开发通用型程
序,其优势相对不足。而且在图形功能方面暂时未发现
有超出matlab的地方。我所欣赏的方面就是其较少的内存
占用量15Mb,较快的反应速度,不像matlab那样,启动
就要10秒,占用内存47Mb。
12:59
误区:函数内部定义时又调用其他的函数,这是不允许的。
2004年6月17日11:40
读取文件标记
查看是否到达文件结尾
err=meof(fd)
2004年6月19日10:53:18
自编字符串比较函数strcmp,
14:10:27
基本搞定文件读取
定义了 boo=strcmp(s1,s2)
量取字符串长度
size1=length(s1);
而且字符串的定义基本不区分''""。
抽取字符串中第i个字符
part(s1,i)
一次性将所有字符数据按行读入字符串矩阵
str=mgetl(fid);
量取字符串矩阵的大小
sizefile=size(str);其中每行只有一个元素,即字符串
从字符串扫描输入数据
A(SAMPLE*(i-1)+k,1:7) = msscanf(tline,'%f%f%f%f%f%f%f');
对于图形功能尚未了解
图形可以通过文件——导出成Gif格式。
但自动存取不了解,
如何将多条曲线绘制于同一坐标系中
可以采用矩阵分割屏幕
subplot(211);
多条曲线绘制于同一坐标系中
plot2d(c,d);其中c,d分别为[x;x...;x],[y;y...;y],即每列相对应
写标题
xtitle('w vs V');
限定坐标系矩形范围
rect=[XMIN,wmin,XMAX,wmax];
较为复杂的控制绘图
plot2d1('gnn',c,d, ,'011',' ',rect)其中分别为[x;x...;x],
[y;y...;y],rect为前面定义的矩形框。
不过如果矩形比较矮时,曲线会越过矩形框。
2004年6月21日16:33:17
矩阵特征值
evals=spec(A)
特征值及特征向量
[Ab,X]=bdiag(inv(M)*K)
单位阵
M=eye(5,5)
零矩阵
M1=zeros(5,5);