声学楼论坛技术交流区电声器件与系统设计软件应用及仿真室 → 超强的数学计算软件SciLab


  共有8343人关注过本帖树形打印复制链接

主题:超强的数学计算软件SciLab

帅哥哟,离线,有人找我吗?
国明
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蜘蛛侠 帖子:1444 积分:10278 威望:0 精华:5 注册:2005-11-10 16:39:36
超强的数学计算软件SciLab  发帖心情 Post By:2008-12-9 16:15:29 [只看该作者]

SCILAB 是由法国国家信息、自动化研究院(INRIA)的科学家们开发的“开放源码”软件。SCILAB 一词来源于英文“Scientific Laboratory"(科学实验室)词头的合并。与MATLAB 类似,SCILAB也是一种科学工程计算软件,其数据类型丰富,可以很方便地实现各种矩阵运算与图形显示,能应用于科学计算、数学建模、信号处理、决策优化、线性/非线性控制等各个方面。它还提供可以满足不同工程与科学需要的工具箱,例如SCICOS,信号处理工具箱,图与网络工具箱等。可以说,就基本的功能如科学计算、矩阵处理及图形显示而言,MATLAB 能完成的工作SCILAB都可以实现。

由于SCILAB的语法与MATLAB非常接近,熟悉MATLAB编程的人很快就会掌握SCILAB的使用。有意思的是,SCILAB提供的语言转换函数可以自动将用MATLAB语言编写的程序翻译为SCILAB语言。目前,SCILAB除了WINDOWS与NT版本外,还有多种UNIX或LINUX下的版本,如SGI MIPS Irix, PC Linux, Sun Sparc stations(Sun Solaris) 等。


如果你是理工科学生或研究人员,你将对MATLAB软件不会陌生。目前书市中流行大量有关MATLAB软件的丛书,介绍了这个当前国际上最好的商业版科学计算软件。它的应用已经给科学与工程等诸多领域带来了可观的发展与进步。在美国、加拿大等西方国家,MATLAB已经成为许多理工学院学生、以及工业界工程师人员的必备工具。它所配备的数学工具如此之多以致于对常用的科学计算与分析方法无所不包。除MATLAB主体本身,可以根据具体应用情况配备各类工具箱:如信号处理,图像处理,模糊系统,神经网络系统,有限元分析,优化计算,小波分析,金融分析,系统辨识,各种控制方法等。

随着科学技术的普及发展,以及计算机应用进入各个领域,使用科学计算软件已经变成越来越常规的工作。在这样的背景下,MATLAB(主要是基于数值式计算)、MAPLE(主要是基于符号式计算)等科学计算软件得到了迅猛发展。正像计算机的许多发展已经超出我们的初始想象,科学计算软件的广阔发展前景以及未来得到的普及应用,同样是我们不可低估的。


科学计算软件应该走向自由和共享! 只有这样才能最大限度地提高计算机应用的普及程度,共享的结果可以汇集更广泛的资料,使软件不断趋于尽善尽美的水平。科学计算自由软件SCILAB正是在追求“自由,同创,共享”这样一种理念下应运而生的,并成为自由软件的一面旗帜。

科学计算(如加、减、乘、除、微积分、逻辑推理等)是计算机应用的主要内容之一。以完成这一类科学计算问题为目的应用软件,我们称之为科学计算软件。在此,我们应该对“科学计算软件”一词有更广义的理解。它不仅限于科学方面的应用,也包括各种工程技术、金融、经济等方面的应用。目前这类软件多数是以数值计算形式为主,然而基于符号推导(如公式推导)的计算软件也变得日益普及。除此之外,科学计算可视化同样是该类软件的涵盖内容。


作为开放源码的软件,SCILAB的源代码、用户手册及二进制的可执行文件都是免费的,公布于INRIA的网站上(中法实验室已建立其镜像网站),可以直接下载,在我们的网站也可以下载。用户不仅可以在SCILAB的许可证条件下自由使用该软件,还可以根据自己需要修改源代码,使之更加符合自身需要。对这一优秀的自由软件,国外已有很多人加以关注、讨论和赞赏。在国内,2001年1月SCILAB首次放在旨在推广开放源码软件的“共创联盟网站”上,短短不到一个月内,下载次数已达300多次。著名的Springer出版社于1999年6月出版了一本关于SCILAB的书:《Engineering and Scientific Computing With Scilab》,介绍了SCILAB的编程语言、函数、各种工具箱及其在控制、优化、图形、信号处理中的应用实例。


 回到顶部
帅哥哟,离线,有人找我吗?
国明
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蜘蛛侠 帖子:1444 积分:10278 威望:0 精华:5 注册:2005-11-10 16:39:36
  发帖心情 Post By:2008-12-9 16:24:22 [只看该作者]

SciLab作为开源软件, 除了完全免费是最大的好处之外, 其开发者汇集全球软件专才与科学家,
本着爱好与兴趣投入开发, 其功能,界面日益增强, Matlab能做的功能Scilab都能做, 现在已经超过Matlab了.
清华,北航,浙大,电子科大等十几所国内高级大学已经在学生之间推广Scilab.
可见, 作为科技工程师不识SciLab, 用遍数学模拟软件也枉然!

网址: www.scilab.org  www.scilab.org.cn

另附数学模拟软件的排名(除了Scilab,其他都是高价的商业软件):
No.1 Mathematica
No.2 SciLab
No.3 Matlab
No.4 MathCAD

 回到顶部
帅哥哟,离线,有人找我吗?
国明
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蜘蛛侠 帖子:1444 积分:10278 威望:0 精华:5 注册:2005-11-10 16:39:36
  发帖心情 Post By:2008-12-9 16:34:08 [只看该作者]

SciLab应用一例(我自己出的题让Scilab来做):
 
求解方程: Sin(x)=Log(x),   (Log指以10为底的对数)

解: 这个方程是一个超越方程, 无法用常规方法求解. 我们将方程输入SciLab以后, Scilab轻松画出两个函数的图形(如下),
     可以看到, 两个函数在1-10范围内有3个交点, 因此方程有3个根. 
     直接输入求解命令fsolve: 得
     ans  =    2.6962566  
     ans  =    7.3283478 
     ans  =    8.2638297

(为方便阅读Scilab的结果显示只不过保留小数点后6位,精度足以满足要求)
只简单的一行算式命令就解出一个复杂方程,Scilab强大得不可思议


图片点击可在新窗口打开查看此主题相关图片如下:sci.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
国明
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蜘蛛侠 帖子:1444 积分:10278 威望:0 精华:5 注册:2005-11-10 16:39:36
  发帖心情 Post By:2008-12-9 16:59:27 [只看该作者]

贴一个网上找到的用Matlab求解超越方程的算法,可以看到,Matlab要编一个小程序,写好几行算法,让Matlab一个个去比大小.
最后解出来的东西还不是准确值,与Scilab一步解决问题相比, Matlab就是垃圾
----------------------------------------
超越方程可以用功能强大的matlab求解

在此举一个已知弦长和弧长求园半径的例子.

法一:使用自带函数

%ezplot('x*sin(pi/(6*x))-0.5',[0.6,2])  示例:半径=1,六分之一圆弧
ezplot('x*sin(b/x)-a',[0.6,2])   %求解方程:x*sin(b/x)-a=0
%ezplot('x*sin(pi/(4*x))-0.707',[0.6,2])
hold on
plot(xlim,[0 0],'r')
grid
% a=弦长/2 , b=弧长/2 ,【】为解区间.
% 图中红线和蓝线的交点就是解
% 更精确的解可以使用二分法求解
% 本例可以选择交点两侧的点[2,4],[5,7]再次求解,可以更精确
% 本人认为如此处理没有解不出来的超越方程


法二:差值法收敛求解


a=0.707;   %弦长/2
b=pi/4;    %弧长/2
r1=0;      %收敛区间
r2=3;
for i=1:10000  %收敛次数
  r=(r1+r2)/2;
%  c(i)=r*sin((180*b)/(pi*r));
c(i)=r*sin(pi/(4*r));                % c(i)=r*sin(b/r);
   if c(i)>a
        r2=r
    else
        r1=r
    end

end
end

 回到顶部
帅哥哟,离线,有人找我吗?
laymanaudio
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:12 积分:84 威望:0 精华:0 注册:2008-12-23 18:05:02
  发帖心情 Post By:2009-2-4 9:35:22 [只看该作者]

强人!


 回到顶部
帅哥哟,离线,有人找我吗?
lxtspks
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:6 积分:118 威望:0 精华:0 注册:2009-9-9 11:06:04
  发帖心情 Post By:2009-10-10 17:08:36 [只看该作者]

太强啦!!!专业文采又好.


 回到顶部
帅哥哟,离线,有人找我吗?
honeybee
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:52 积分:784 威望:0 精华:0 注册:2007-1-8 17:28:51
  发帖心情 Post By:2009-10-19 20:16:20 [只看该作者]

惭愧,从来没有用过。听闻而已,貌似我也是理工毕业


 回到顶部
美女呀,离线,留言给我吧!
钟灵
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:1041 积分:7135 威望:0 精华:0 注册:2008-7-8 10:40:29
  发帖心情 Post By:2009-10-27 12:51:51 [只看该作者]

下载了,还没用.

 回到顶部
帅哥哟,离线,有人找我吗?
nisa
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 无名小卒
等级:职业侠客 帖子:114 积分:2635 威望:0 精华:0 注册:2006-11-12 0:48:14
  发帖心情 Post By:2013-2-7 14:11:08 [只看该作者]

Matlab现在是放任盗版,等哪天它就象微软那样加倍收取版权费;而Scilab更象是开源的Linux;

经济实惠,首推Scilab; 有能力腐败的单位, 还是用Matlab.图片点击可在新窗口打开查看


 回到顶部