@shellex说: 对对,他们上辈子都是折翼的新奥尔良鸡翅

Pages

Topics

随便看看

路边社评论员

  • Keith:
    还能用不. »
  • deepblue:
    测试一下浏览器和系统 »
  • abettor:
    “就和CPU特权级别一样”——这的哥难道是Linus的表弟?! »
  • 董英男:
    为什么总提示确认是相册首页呢 到底哪个才是相册首页啊 »
  • kendisk:
    作为一个轻度Linuxer,刚分手后,感觉木有鸭梨。 »
  • MS IE:
    THIS SITE REALLY SUCK! »
  • Alex:
    gnome-women... »
  • liangsuilong:
    GNOME 自己也有鼓励女性参与项目的计划啊.. »
  • infinte:
    对不起,你的“解ban”版本算得有点问题,可以下(9)pp4 测试。ACID3可有95分啊……另外同... »
  • Alex:
    »
  • Randee Saadat:
    Glad you solved your problem, but what is your que... »
  • LinuxRock:
    没想到你也有一台和我一样的破机子......还好现在高三没怎么用,受不了它的发热量.. »

Posts Tagged ‘scilab’

Scilab笔记 之 常微分方程求解

去参加数学建模比赛的时候哈,折腾的要死。Linux下的几个常用的数学分析软件都用了一遍:
Maxima (Mathmatic的开源替代品,Lisp编写,我很赞这个软件),
Octave(Matlab的GNU替代品,语法最接近Matlab),
Scilab (又一个Matlab的开源替代品。和Octave的区别是前者使用GNU协议授权,Scilab是法国科学院的开源作品,而且Scilab的文档和资料都要多不少,除了那个该死的tk GUI,还是很好用的。但是从功能上来说,至少在目前我认为,二者差不多),
Freefem (没有数学基础,这个玩意用不明白,解决偏微分方程(组)的)
Scilab解决常微分方程:
// ———- Simple one dimension ODE (Scilab function external)
// dy/dt=y^2-y sin(t)+cos(t), y(0)=0
function ydot=f(t,y),ydot=y^2-y*sin(t)+cos(t),endfunction
y0=0;t0=0;t=0:0.1:%pi;
y=ode(y0,t0,t,f)
plot(t,y)
C语言接口…
// ———- Simple one dimension ODE (C coded external)
ccode=['#include <math.h>'
'void myode(int *n,double *t,double *y,double *ydot)'
'{'
'  ydot[0]=y[0]*y[0]-y[0]*sin(*t)+cos(*t);’
‘}’]
mputl(ccode,TMPDIR+’/myode.c’) //create the C file
ilib_for_link(‘myode’,’myode.o’,[],’c’,TMPDIR+’/Makefile’,TMPDIR+’/loader.sce’);//compile
exec(TMPDIR+’/loader.sce’) //incremental linking
y0=0;t0=0;t=0:0.1:%pi;
y=ode(y0,t0,t,’myode’);
唔,还有别的常微分solver函数可以使用的。参考scilab的documents的非线性求解(nonlinear)这一章。

Page 1 of 11