h***o 发帖数: 539 | 1 BBS水木清华站∶精华区
发信人: finance (淼水), 信区: MathTools
标 题: Matlab详细教程(七十五)
发信站: BBS 水木清华站 (Sun Apr 4 08:40:15 1999) WWW-POST
11.3.1 微分 |
|
h***o 发帖数: 539 | 2 BBS水木清华站∶精华区
发信人: finance (淼水), 信区: MathTools
标 题: Matlab详细教程(七十六)
发信站: BBS 水木清华站 (Sun Apr 4 08:40:54 1999) WWW-POST
11.3.2 积分 |
|
h***o 发帖数: 539 | 3 BBS水木清华站∶精华区
发信人: finance (淼水), 信区: MathTools
标 题: [转载]Matlab详细教程(结束语)
发信站: BBS 水木清华站 (Sun Apr 4 08:43:18 1999) WWW-POST
呵呵.这一段话是我加的.可惜的是没有找到最后的几章,关于信号处理和一些
其他比较深入的应用都没有再现.以后再说了. |
|
h***o 发帖数: 539 | 4 BBS水木清华站∶精华区
发信人: FangQ (奥萨马·本·拉登), 信区: MathTools
标 题: Mathematica函数及使用方法
发信站: BBS 水木清华站 (Wed Nov 18 21:34:51 1998)
Mathematica函数及使用方法 |
|
h***o 发帖数: 539 | 5 BBS水木清华站∶精华区
发信人: FangQ (奥萨马·本·拉登), 信区: MathTools
标 题: Mathematica函数及使用方法
发信站: BBS 水木清华站 (Wed Nov 18 21:35:33 1998)
Mathematica函数及使用方法
—————————————————————————————————————
二、系统常数
Pi 3.1415....的无限精度数值
E 2.17828...的无限精度数值
Catalan 0.915966..卡塔兰常数
EulerGamma 0.5772....高斯常数
GoldenRatio 1.61803...黄金分割数
Degree Pi/180角度弧度换算
I 复数单位
Infinity 无穷 |
|
h***o 发帖数: 539 | 6 BBS水木清华站∶精华区
发信人: FangQ (奥萨马·本·拉登), 信区: MathTools
标 题: Mathematica函数及使用方法
发信站: BBS 水木清华站 (Wed Nov 18 21:35:55 1998)
Mathematica函数及使用方法
—————————————————————————————————————
四、解方程
Solve[eqns, vars] 从方程组eqns中解出vars
Solve[eqns, vars, elims] 从方程组eqns中削去变量elims,解出vars
DSolve[eqn, y, x] 解微分方程,其中y是x的函数
DSolve[{eqn1,eqn2,...},{y1,y2...},x]解微分方程组,其中yi是x的函数
DSolve[eqn, y, {x1,x2...}] 解偏微分方程
Eli |
|
h***o 发帖数: 539 | 7 BBS水木清华站∶精华区
发信人: FangQ (奥萨马·本·拉登), 信区: MathTools
标 题: Mathematica函数及使用方法(续)
发信站: BBS 水木清华站 (Thu Nov 19 18:02:49 1998)
Mathematica函数及使用方法(续)
—————————————————————————————————————
六、多项式函数
Variables[poly] 给出多项式poly中独立变量的列表
CoefficientList[poly, var] 给出多项式poly中变量var的系数
CoefficientList[poly, {var1,var2...}]给出多项式poly中变量var(i)的系数列表
PolynomialMod[poly, m] poly中各系数mod m同余后得到的多项式,m可为整式
PolynomialQuotient[p, q, x] 以 |
|
h***o 发帖数: 539 | 8 BBS水木清华站∶精华区
发信人: FangQ (奥萨马·本·拉登), 信区: MathTools
标 题: Mathematica函数及使用方法
发信站: BBS 水木清华站 (Fri Nov 20 21:39:10 1998)
Mathematica函数及使用方法
—————————————————————————————————————
八、数值函数
N[expr] 表达式的机器精度近似值
N[expr, n] 表达式的n位近似值,n为任意正整数
NSolve[lhs==rhs, var] 求方程数值解
NSolve[eqn, var, n] 求方程数值解,结果精度到n位
NDSolve[eqns, y, {x, xmin, xmax}]微分方程数值解
NDSolve[eqns, {y1,y2,...}, {x, xmin, xmax}]
|
|
h***o 发帖数: 539 | 9 BBS水木清华站∶精华区
发信人: FangQ (奥萨马·本·拉登), 信区: MathTools
标 题: Mathematica函数及使用方法
发信站: BBS 水木清华站 (Mon Nov 23 08:20:15 1998)
Mathematica函数及使用方法
—————————————————————————————————————
九、虚数函数
Re[expr] 复数表达式的实部
Im[expr] 复数表达式的虚部
Abs[expr] 复数表达式的模
Arg[expr] 复数表达式的辐角
Conjugate[expr] 复数表达式的共轭
十、数的头及模式及其他操作
Integer _Integer 整数
Real _Real 实数
Complex |
|
h***o 发帖数: 539 | 10 BBS水木清华站∶精华区
发信人: FangQ (奥萨马·本·拉登), 信区: MathTools
标 题: Mathematica函数及使用方法
发信站: BBS 水木清华站 (Sat Nov 28 20:14:58 1998)
Mathematica函数及使用方法
—————————————————————————————————————
十三、表函数
(*“表”,我认为是Mathematica中最灵活的一种数据类型 *)
(*实际上表就是表达式,表达式也就是表,所以下面list==expr *)
(*一个表中元素的位置可以用于一个表来表示 *)
表的生成
{e1,e2,...} 一个表,元素可以为任意表达式,无穷嵌套
Table[expr,{imax}] 生成一个表,共imax个元素
Table[expr,{i, imax}] 生成一个表,共imax个元素expr[i]
Table[ex |
|
h***o 发帖数: 539 | 11 BBS水木清华站∶精华区
发信人: FangQ (奥萨马·本·拉登), 信区: MathTools
标 题: Mathematica函数及使用方法--绘图函数
发信站: BBS 水木清华站 (Sat Nov 28 21:50:37 1998)
Mathematica函数及使用方法--绘图函数
—————————————————————————————————————
十四、绘图函数
二维作图
Plot[f,{x,xmin,xmax}] 一维函数f[x]在区间[xmin,xmax]上的函数曲线
Plot[{f1,f2..},{x,xmin,xmax}] 在一张图上画几条曲线
ListPlot[{y1,y2,..}] 绘出由离散点对(n,yn)组成的图
ListPlot[{{x1,y1},{x2,y2},..}] 绘出由离散点对(xn,yn)组成的图
ParametricPlot[{fx,fy},{t,tmin,tmax}] 由参 |
|
h***o 发帖数: 539 | 12 BBS水木清华站∶精华区
发信人: FangQ (奥萨马·本·拉登), 信区: MathTools
标 题: Mathematica函数及使用方法--图元函数
发信站: BBS 水木清华站 (Sat Nov 28 21:50:59 1998)
Mathematica函数及使用方法--图元函数
—————————————————————————————————————
十四、绘图函数(续)
图元函数
Graphics[prim, options]
prim为下面各种函数组成的表,表示一个二维图形对象
Graphics3D[prim, options]
prim为下面各种函数组成的表,表示一个三维图形对象
SurfaceGraphics[array, shades]表示一个由array和shade决定的曲面对象
ContourGraphics[array]表示一个由array决定的等高线图对象
DensityGr |
|
h***o 发帖数: 539 | 13 BBS水木清华站∶精华区
发信人: FangQ (骆驼·飞鸟·驴), 信区: MathTools
标 题: Mathematica函数及使用方法——流程控制
发信站: BBS 水木清华站 (Sat Dec 12 11:42:31 1998)
Mathematica函数及使用方法——流程控制
—————————————————————————————————————
十五、流程控制
分支
If[condition, t, f] 如果condition为True,执行t段,否则f段
If[condition, t, f, u] 同上,即非True又非False,则执行u段
Which[test1,block1,test2,block2..] 执行第一为True的testi对应的blocki
Switch[expr,form1,block1,form2,block2..]
执行第一个expr所匹配的 |
|
h***o 发帖数: 539 | 14 BBS水木清华站∶精华区
发信人: FangQ (骆驼·飞鸟·驴), 信区: MathTools
标 题: Mathematica函数及使用方法——函数编程
发信站: BBS 水木清华站 (Sat Dec 12 11:44:33 1998)
Mathematica函数及使用方法——函数编程
—————————————————————————————————————
十六、函数编程
(*函数编程是Mathematica中很有特色也是最灵活的一部分,它充分体现了 *)
(*Mathematica的“一切都是表达式”的特点,如果你想使你的Mathematica程 *)
(*序快于高级语言,建议你把本部分搞通*)
纯函数
Function[body]或body& 一个纯函数,建立了一组对应法则,作用到后面的表达式上
Function[x, body] 单自变量纯函数
Function[{x1,x2,...},body]多自变量纯函数
#,#n 纯函 |
|
h***o 发帖数: 539 | 15 BBS水木清华站∶精华区
发信人: FangQ (骆驼·飞鸟·驴), 信区: MathTools
标 题: Mathematica函数及使用方法——查询函数、串函数
发信站: BBS 水木清华站 (Sat Dec 12 11:45:43 1998)
Mathematica函数及使用方法——查询函数、串函数
—————————————————————————————————————
十八、查询函数
(*查询函数一般是检验表达式是否满足某些特殊形式,并返回True或False*)
(*可以在Mathematica中用“?*Q”查询到 *)
ArgumentCountQ MatrixQ
AtomQ MemberQ
DigitQ NameQ
EllipticNomeQ NumberQ
EvenQ NumericQ |
|
h***o 发帖数: 539 | 16 BBS水木清华站∶精华区
发信人: FangQ (木头虫子), 信区: MathTools
标 题: Matlab与C++接口与混合编程讨论小结(一)
发信站: BBS 水木清华站 (Tue Nov 2 22:24:43 1999)
第一章、概述
Matlab是当今世界上使用最为广泛的数学软件,它具有相当强大的数值计算、
数据处理、系统分析、图形显示,甚至符号运算功能,是一个完整的数学平
台,在这个平台上,你只需寥寥数语就可以完成十分复杂的功能,大大提高了
工程分析计算的效率。另外由于Matlab的广泛使用,于是出现了为各个领域专
门使用的工具箱(即在某一研究领域常用数学工具的函数包),这些工具箱的出现
更加促进了Matlab的流行。
Matlab强大的功能只能在它所提供的平台上才能使用,也就是说,你必需在
安装有matlab系统的机器上使用.m文件,这样就给工程计算带来了很大不便;特
别是,在matlab中,使用的行解释方式执行代码,这样大大地限制了代码执行速度。
于是人们想到,能否开发一个matlab与其他高级语言的接口,这样就可以把matlab |
|
h***o 发帖数: 539 | 17 BBS水木清华站∶精华区
发信人: FangQ (木头虫子), 信区: MathTools
标 题: Matlab与C++接口与混合编程讨论小结(九)
发信站: BBS 水木清华站 (Tue Nov 2 22:29:23 1999)
第三章、Matcom的使用
3.1 概述
3.1.1 Matcom能作什么
Matcom是一个十分有用的.m文件翻译器(Replacement),它的主要优点我认为有
以下几点:
1>它提供了matlab中.m文件与其他高级语言的接口,使.m文件可以编译为脱离
matlab环境独立执行的可执行性程序,这样
。提高了代码的复用率
。提高了代码的执行速度
。使纯文本的.m文件变为二进制的可执行程序,增加了知识保护的安全性
2>它提供了近千个数学函数,对于其他高级语言编译器来说,提供了一个丰富
的数学库,基本上在matlab上能用的常用函数都可以在高级语言中直接调用。
数学函数主要包括:
。矩阵属性函数
。矩阵生成函数
。矩阵生成函数
。矩阵操作函数
。矩阵变换函数 |
|
h***o 发帖数: 539 | 18 BBS水木清华站∶精华区
发信人: FangQ (木头虫子), 信区: MathTools
标 题: Matlab与C++接口与混合编程讨论小结(十)
发信站: BBS 水木清华站 (Tue Nov 2 22:29:48 1999)
3.1.3 Matcom的不足
Matcom并不是全能的,对于大多数Matlab函数都可以进行CPP实现,但有些由于其功能
有限,只能期待以后的版本来不断补充了。
总的来说,matcom有以下缺欠:
1.对class数据类型部分支持
2.eval,feval,clear等语句不能在C中实现(如果实现的话,一个文本编辑器就可以成为
一个matlab了:))
3.图形窗口有些不仅如人意,如fill3,hide等语句无法实现,surf等语句也无法画出象
matlab中哪样精细的图像来,特别是色彩比较难看:(
等等
3.1.4 Matcom下载地址及网络资源
下载地址是版上询问最多的问题,再次建议大家能到教育网的搜索引擎
http://pccms.pku.edu.cn:8000/
http://search.igd.edu.cn
http |
|
h***o 发帖数: 539 | 19 BBS水木清华站∶精华区
发信人: FangQ (木头虫子), 信区: MathTools
标 题: Matlab与C++接口与混合编程讨论小结(十一)
发信站: BBS 水木清华站 (Tue Nov 2 22:30:14 1999)
3.2 版本及安装注意事项
3.2.1 Matcom 4.0 的安装
由于matcom4.0所代的dll文件相对较小,所以便于发布小型程序,所以这里也对它作一
定讨论。
matcom4.0在第一次使用时需要你输入口令,否则无法运行,不过网上已经有matcom4
的注册机,可以查找一个叫regmat4.exe的小程序,输入你想使用的时间区间,然后
就会产生一个合法口令,输入这个口令后,mideva在window目录建立一个名字叫mt_eva
l.txt的
文本文件,里面就保存了你输入的口令,不过你也可以在执行matcom之前直接建立这个
文件,
在里面写1/1/1999-1/1/2010-64562264就可使用到2010年。
通过了口令后,它还有一些限制,如绘图时间不超过60分钟限制,绘图时出现版权对话
框
等,不过这些已经被ener |
|
h***o 发帖数: 539 | 20 BBS水木清华站∶精华区
发信人: FangQ (木头虫子), 信区: MathTools
标 题: Matlab与C++接口与混合编程讨论小结(十二)
发信站: BBS 水木清华站 (Tue Nov 2 22:31:02 1999)
3.3 用Matcom翻译m文件
直接调适M文件:在主界面上打开.m文件的主文件,在菜单中选择compile to exe
or dll 就可以了,你也可以设置断点后,就可以查看变量的值,这些将在主窗口
的一侧出现,双击就可得到其当前值。
编译后的cpp、exe、dll文件都在matcom 当前工作目录下,如果是debug模式,就在
dubug目录下找,否则就在Release目录下找。
3.4 在CB中C++与Matlab语言混编
这种方法是我最喜欢的方法,因为这样不但可以发挥matcom强大的数学计算功能,
还可以结合可视化编译环境来进行界面开发,可以制作完整的应用计算软件,
交付用户使用。
我所用的可视IDE是Inprise公司的C++Builder 3.0/4.0,matcom版本为4.0/4.5,
注意,在CB4.0上只能 |
|
h***o 发帖数: 539 | 21 BBS水木清华站∶精华区
发信人: FangQ (木头虫子), 信区: MathTools
标 题: Matlab与C++接口与混合编程讨论小结(十三)
发信站: BBS 水木清华站 (Tue Nov 2 22:31:26 1999)
3.6 程序的发布
matcom可以用C编译器把.m文件编译为为stand_alone的程序,所以,基本上
不需要matlab系统,但一些必要的dll文件还是需要的,这些dll在window\system\
下面,(在4.5版本中)大概有ago4500.dll,v4500v.dll,opengl32.dll, glu32.dll等
四个文件
如果用的是4.0版本,发布时要把ago.dll,mlib4...dll(计不清楚了),opengl32.dll和
glu32.dll打到安装盘中,大概3M,然后在window目录安装一个名字叫mt_eval.txt的
文本文件,里面写1/1/1999-1/1/2010-64562264即可 |
|
h***o 发帖数: 539 | 22 BBS水木清华站∶精华区
发信人: FangQ (木头虫子), 信区: MathTools
标 题: Matlab与C++接口与混合编程讨论小结(十四)
发信站: BBS 水木清华站 (Wed Nov 3 11:28:31 1999) WWW-POST
附录:Matcom C数学库函数列表(部分)
这是一个丰富的数学库,约600个函数,包括sim()函数 |
|
|