空间三维磁场的绘制(C和IDL的混合编程) 科技大学论文.ppt

空间三维磁场的绘制(C和IDL的混合编程) 科技大学论文.ppt

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
空间三维磁场的绘制(C和IDL的混合编程) 科技大学论文

中国科学技术大学 学士学位论文 空间三维磁场的绘制(C和IDL的混合编程) p 程征伟 导师 郑惠南 我将从以下三个方面阐论文: 一,论文的写作目的 二,论文过程中所要解决的实际问题 1)IDL中CALL-EXTRENAL的具体用法 打开后,我们可以看到有下列语句: 然后我们就可以在DOS下运行nmake * * 一 论文的写作目的-验证用C和IDL混合编程绘制空间三维磁力线的方法更高效,可大大缩短绘图时间。 二 论文过程中所要解决的实际问题,包括IDL调用语句CALL—EXTERNAL的用法,以及三线性插值求磁场 的方法。 三 运行编制好的程序,与原有的绘图方法进行比较,得出结论 虽然IDL的功能强大,但是它并不是十分完善的,比如对大量数据的个别处理,数组的遍历有哪些信誉好的足球投注网站、计算(如磁力线的节点计算),会表现出速度慢的弱点。在空间物理中,单纯用IDL编程并绘制磁力线的方法不能让我们满意,于是我们想到用C和IDL混合编程的方法。 在空间物理中,磁场占据着十分重要的地位,我们在绘制空间磁力线时,所常用的软件是IDL。 IDL语言即交互式数据语言(Interactive Data Language )是一种面向矩阵的新一代语言,它不仅 提供了强大的数据处理能力,还为数据分析和结果的可视化提供了完整的编程环境。 相对其他语言而言他有如下优势: 1,具有先进的数据分析和统计分析能力,如:曲线和曲面拟合、相关 分析和预测、非线性系统求解 、特征值系统,多维网格化和插值等; 2,强大的信号和图像处理能力,如:时间序列分析、小波变换等; 3,强大的数据可视化功能,如:2-D绘图和等值线、3-D曲面的绘制等; 4,图像的体积和表面显示:可实现非均匀采样的空间物体的表面和体 积显示。 虽然IDL的功能强大,但是它并不是十分完善的,比如对大量数据的个别处理,数组的遍历有哪些信誉好的足球投注网站、计算(如磁力线的节点计算),会表现出速度慢的弱点。在空间物理中,单纯用IDL编程并绘制磁力线的方法不能让我们满意,于是我们想到用C和IDL混合编程的方法。 IDL语言可以很容易的与Visual C++、Visual Basic、Fortran等语言连接 ,而且我们知道,Visual C++计算功能很强大,对于处理数据来说,可以大大的减少时间。所以,我们把源程序中的负责处理数据的程序段用Visual C++变一个子程序,然后通过动态连接库方式从IDL调用Visual C++子程序,调用是通过CALL-EXTERNAL语句实现的。这样做将减少我们的绘图时间。 下面是我所做的工作。 1)IDL中CALL-EXTRENAL的具体用法 我们是通过一个具体的例子来演示这条语句的功能的,这个例子非常简单,列举它只在说明CALL-EXTERNAL的用法,它虽然不能显示出在速度上的优势,但是可以看出程序的阅读性,完整性得到了提高。 2)三线性插值来计算出磁力线的节点位置 主要介绍了插值的方法,原始数据的给定,以及球坐标系,晶格坐标系的建立。给出求磁场的思路和具体的方法。 我们所要演示的例子simple_vars.pro与要调用的子程序 simple-vars.c,都存放在IDL的同一目录中: D:/RSI/IDL54/EXTERNAL/CALLEXTERNAL/C 为了输出正确的结果,我们必须先在MS-DOS下运行位于Visual C++下的vcvars32,这是一个MS-DOS批处理程序,是用来设置环境变量的,我们运行后如下: D:\PROGRA~1\MICROS~1\VC98\BINvcvars32 ? Setting environment for using Microsoft Visual C++ tools. 这说明我们已经设置好了Visual C++的环境变量,可以进行下一 步 我们下面就可以在MS-DOS下执行nmake /f makefile-win.mak,但是在执行之前,我们首先要打开makefile-win.mak,确认其中的路径定义是否正确。 !include win32.mak #IDL_DIR = D:\RSI\IDL54 (设置好IDL-DIR的路径后,nmake /f 才可以正确的执行) SO_EXT=dll CC=cl LD=link CFLAGS= $(cflags) $(cvarsdll) /I$(IDL_DIR)\external #LD_LIBS= $(IDL_DIR)\bin\bin.x86\idl32.lib $(guilibsdll) #LD_LIBS= idl32.lib $(

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档