- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
xppaut使用C语言产生的动态链接库
XPPAUT允许读取C语言产生的(32位)动态链接库,作用是: 1、简化ode文件,优化ode文件结构,使得ode文件可读性更强 2、动态链接函数实现ode文件代码不易或不能实现的操作 3、加快运算效率(这对耗时久的计算很有必要) 使用动态链接库的基本操作步骤为: 1.用C语言编写动态链接库源代码 可被调用的动态链接库源代码一般具有如下格式 =========================================== 文件包含语句(如果需要的话) 定义用户函数语句(如不需要可以不定义) 定义可能被xppaut调用的函数语句(可定义多个函数) ============================================= 其中:可能被xppaut调用的函数必须具有如下格式: void 函数名(double *in,double *out,int nin,int nout, double *var, double *con){函数体} 其中: in[0],in[1],in[2],...分别对应export语句的实参数1,实参数2,实参数3... out[0],out[1],out[2],...分别对应export语句的输出项数1,输出项2,输出项3... nin 表示实参个数 nout 表示输出项的个数 var[0]表示时间变量t,var[1],var[2],var[3],...依次对应ode文件顺序生成的存储变量(这里的存储变量是指由方程默认定义的变量及由临时变量定义语句定义的临时变量) 如某个ode文件内容包含如下代码 ================================ dx[1..10]/dt=xp[j] dy[1..10]/dt=yp[j] xp[1..10]=0 yp[1..10]=0 par a=1,b=2,alpha=0.5 ... ================================ 那么var[1],var[2],...var[10] 依次对应 x1,x2,...x10 var[11],var[12],...var[20] 依次对应 y1,y2,...y10 var[21],var[22],...var[30] 依次对应 xp1,xp2,...xp10 var[31],var[32],...var[40] 依次对应 yp1,yp2,...yp10 con[2],con[3],...依次顺序对应ode文件中的参数,上例中con[2],con[3],con[4]依次对应a,b, alpha(但实际操作来看库函数的con指针指向的对象不太明确,从而一般不要用这个指针) 按照函数的定义(按址传递),这里的对应应理解为共用的内存地址。 2.编译动态链接库为.so文件 用gcc的编译代码为(前提是电脑上必须有gcc编译器,如果没有需要下载一个): gcc.exe所在目录\gcc -m32 -shared -o 目标文件名 源文件名 如果gcc找不到源文件,那么用源文件??全路径名。 3.指定.so文件的查找路径 可用添加环境变量LD_LABRARY_PATH的值指定,DOS命令行语句为 set LD_LABRARY_PATH=% LD_LABRARY_PATH %;动态链接库所在的路径(注意在路径最后加一个反斜杠\) 4.ode文件中嵌入调用动态链接库的操作语句(export语句) 嵌入语句为: export {实参数1,实参数2,...}{输出项1,输出项2,...} 5.启动xpppaut后计算前加载动态链接库并指定调用的动态链接函数 加载方式为:依次单击File-Edit-Load DLL在弹出的对话框中输入编译的动态链接库名,单击ok,最后在xppaut主界面的命令行输入需要调用的函数名。 6.启动xppaut计算 下面给出一个简单的计算实例说明xppaut使用C生成的动态链接库的操作。 对于求解动力系统 (,) 我们可以书写普通的ode文件 ====================================================================== dx/dt=alpha*x+beta*y dy/dt=-beta*x+alpha*x par alpha=-1,beta=2 init x=10,y=10 @ total=50,dt=0.001,xp=x,yp=y @ xlo=-5,ylo=-5,xhi=12,yhi=12 ====================================
文档评论(0)