scilab和matlab的区别,matlab 与scilab的比较.doc

matlab 与scilab的比较

matlab 使用老出错,决定试试scilab. 几个例子来学习 scilab例1: 画等值线的命令//定义一个向量x=[ 1 2 3 ; 1 3 5 ; 8 2 8];//和matlab 相同的命令a=1:3;b=1:3;nz=2;//画等值线图,nz 表示等值线的取值点数。contour2d(a,b,x,nz)上面的命令可以存在一个文件里,例如 a.sci, 然后在scilab的命令行里可以用exec("a.sci")来执行,就会看到画的图如下

例2: matlab的reshape命令,在scilab下面是//定义一个向量-->x=[1 2 3 4 5 6 6 7 7 8]x = 1. 2. 3. 4. 5. 6. 6. 7. 7. 8.//向量的维数-->size(x)ans = 1. 10.//定义个矩阵, 相当于matlab的 y=reshape(x,2,5)-->y=matrix(x,2,5)y = 1. 3. 5. 6. 7. 2. 4. 6. 7. 8.例3:文件,输入输出// 新建一个文件,向文件中输入随机数u=file('open','aa.txt','unknown')for k=1:4// 生成 1-by-4 的随机矩阵a=rand(1,4)write(u,a)end//rewind 使得文件的指针回到文件头。file('rewind',u)//读出2-by-4的矩阵x=read(u,2,4)//关闭文件file('close',u)例4:和waterfall 和像的画图函数x 如果是一个矩阵,则mesh(x)会的得到一个图像,如下图

例5: 把生成的图像转化成eps格式保存//设置标题xtitle('Nk=1024, k=431:592')//存成eps格式的文件,文件名将会是f1024zoom.epsxs2eps(0,'f1024zoom') 例6: 打开和写入文件可以使用 C 程序的格式p=mopen('s2xx1024.sci','r');Nx=81;Nk=1024;d=512; d1=Nk/2-d+1; d2=Nk/2+d;//文件保存的是Nx 行 Nk 列的矩阵//下面的f读入所有的数据, %lg 表示读入 double 精度f=mfscanf(-1,p,'%lg');// 把上面读入的一维的向量转成矩阵,要注意行列参数的顺序, 转成 Nk 行 Nx 列的矩阵f=matrix(f,Nk,Nx);//再次转置才得到我们想要的 Nx 行 Nk 列的矩阵f=f';mclose(p);p1=mopen('k1.txt','w');k1=1:Nk;k=(k1-Nk/2-0.5)/Nk;kk=k(d1:d2);b = kk';pos = 1;for posy=f(pos,1:Nk);yy=y(d1:d2);mv = mean(yy);b = [b yy'];mfprintf(p1,'%16.15e %16.15e\n',b)file('close',p1);例7: 找一个好的spline 曲线来拟合数据// this is an artifical example where the datas xd and yd// are build from a perturbed sin functiona = 0; b = 2*%pi;sigma = 0.1; // standard deviation of the gaussian noisem = 200; // number of experimental points//下面的函数给出[a,b]上200个等分点,包括两个端点。xd = linspace(a,b,m)';yd = sin(xd) + grand(xd,"nor",0,sigma);//我们要构造一个spline曲线,使得曲线在点//x(i) , i=1,2,...,6的函数值等于 y(i),//曲线在点 x(i) 的导数值等于 d(i)n = 6; // number of breakpointsx = linspace(a,b,n)';// compute the spline//lsq_splin 函数就是计算这样的spline 曲线,记住 spline 曲线和// {y(i), d(i), = 1,2,。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值