马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
>************************************************************************<<br>> 第一节:一般性问题<br>>************************************************************************<<br><br>=================================== - [返回]<br>1).关于这个FAQ<br>:#FangQ(Qianqian.Fang@dartmouth.edu),2002/6/22, SMTH/MathTools #<br><br> 为什么要写这个FAQ呢?简单一点,就是为了避免重复,慢慢积累,<br> 提高水平。<br><br> 简单问题的重复其实是BBS上学术板块的一个老问题,以前就有人提<br> 过,最近在水木清华的MathTools上lll又提出来,所以决定借鉴国<br> 外newsgroup的传统,自己动手写中文的FAQ,把那些几年前就在问、<br> 现在仍然在问的一些老问题全部都收录在这里,给他们画一个句号。<br> 等版面上没有了这些老问题,自然会有新的、难的问题出来,等这些<br> 问题又成为FAQ的时候,大家的水平就慢慢提高了。<br><br> 不过自己想来,其实这仍然不是长久解决这个问题的办法,这是一个<br> 学术传统的问题,需要大家去创造这样一种勤奋、踏实的学术大环境<br> ,告诉在这样一个环境中参与交流和寻求帮助的人,当你遇到问题,<br> 首先要有自己钻研的精神,不要轻易地把这样锻炼自己能力的机会给<br> 否定掉,而去期待或者"恳求"别人的帮助来替自己寻找偷懒的理由,<br> 然后才是去有效地寻找资料,或者当自己考虑比较成熟的时候在公众<br> 论坛上提出自己的问题。<br><br> 当然,上面主要是对于你本专业的问题而言,要先思考,再提问,但<br> 如果非专业的,仅仅用一下就不再使用的,不妨去尽早寻求帮助的好。<br> <br> 这个FAQ今后每个月会更新一次,最新的文档地址参见文件头。如果<br> 有新的问题收录,文档开头会有一个小的更新列表。原有的解答会被<br> 更详细和正确的解答代替,但原解答的作者信息将继续保存。<br><br> 每个问题的答复开头都有一行作者信息,格式为<br><br> :#作者姓名或者ID(联系方式或Email地址),更新日期,发表地址#<br><br> 在本FAQ中引用WWW上获得的代码或者文档时,都将作者信息附在<br> 文档中,以表示对作者的尊重。<br><br> 本文档的维护原则:欢迎转载到其他BBS或学术网站,但在转载<br> 时请将文件头完整保留。如果仅转载文章内个别问题的回复,请将该<br> 回复的作者信息保留。本文档未经维护人或各问题回复的作者的许可<br> ,严禁以商业目的将本文全部或者部分内容出版。本文档的维护人及<br> 各问题回复的作者具有文章的所有权和最终解释权。<br><br> 本文档的使用原则为免费,本文档维护人对使用本文档内容所造成的<br> 任何不当后果不承担任何意义上的责任,文档作者不对文档中的代码<br> 的安全性和正确性作任何形式的承诺。<br><br>=================================== - [返回]<br>2).什么叫数学工具?<br>:#FangQ(Qianqian.Fang@dartmouth.edu),2002/6/19, BigGreen/MathTools#<br><br> 广义的讲,我们可以把数学本身看作一种工具,她是人类认识这个纷<br> 繁复杂的世界的眼睛和钥匙,数学用量化和逻辑为描述事物的运动变<br> 化提供了统一的和严密的基础,并通过不断衍生新的数学分支来为描<br> 述人类所认知的日趋复杂的世界体系提供强大有力的工具。<br><br> 狭义的讲,我们这里涉及的"数学工具"除了部分数学理论和算法之外<br> ,主要内容为数学软件,即通过使用计算机,进行特定数学计算或者<br> 数学表述来实现功能的软件。<br><br> 再狭义地讲,数学工具是水木清华和BigGreen BBS上两个版面的名字<br> ,这里面聚集了很多很多认识的和不认识的热爱数学、使用数学软件<br> 的朋友,这个FAQ就是献给他们的。<br><br><br>=================================== - [返回]<br>3).数学软件的主要分类有哪些?各有什么特点?<br>:#FangQ(Qianqian.Fang@dartmouth.edu),2002/6/19, BigGreen/MathTools#<br><br> 数学软件从功能上分类可以分为通用数学软件包和专业数学软件包,<br> 通用数学包功能比较完备,包括各种数学、数值计算、丰富的数学函<br> 数、特殊函数、绘图函数、用户图形届面交互功能,与其他软件和语<br> 言的接口及庞大的外挂函数库机制(工具箱)。常见的通用数学软件包<br> 包括Matlab和Mathematica和Maple,其中Matlab以数值计算见<br> 长,Mathematica和Maple以符号运算、公式推导见长。<br><br> 专用数学包包括绘图软件类(MathCAD,Tecplot,IDL,Surfer,Origin, <br> SmartDraw,DSP2000),数值计算类:(Matcom, IDL,<br> DataFit,S-Spline,Lindo,Lingo,O-Matrix,Scilab,Octave), 数值计算<br> 库(linpack/lapack/BLAS/GERMS/IMSL/CXML), 有限元计算类(ANSYS, <br> MARC,PARSTRAN, FLUENT, FEMLAB,FlexPDE,Algor,COSMOS, <br> ABAQUS,ADINA),计算化学<br> 类(Gaussian98,Spartan,ADF2000,ChemOffice),数理统计类(GAUSS <br> ,SPSS,SAS, Splus,statistica,minitab), 数学公式排版类(MathType,<br> MikTeX,Scientific Workplace,Scientific Nootbook)<br><br> 上述分类比较笼统,很多软件的功能也有交叉,经验和篇幅限制,不<br> 能逐一而论。<br><br><br>=================================== - [返回]<br>4).什么叫拟合?什么叫插值?二者的区别是什么?<br>:#FangQ(Qianqian.Fang@dartmouth.edu),2002/6/21, BigGreen/MathTools #<br><br> 插值和拟合都是函数逼近或者数值逼近的重要组成部分<br><br> 他们的共同点都是通过已知一些离散点集M上的约束,求取一个定义<br> 在连续集合S(M包含于S)的未知连续函数,从而达到获取整体规律的<br> 目的,即通过"窥几斑"来达到"知全豹"。<br><br> 简单的讲,所谓拟合是指已知某函数的若干离散函数值{f1,f2,…,fn},通<br> 过调整该函数中若干待定系数f(λ1, λ2,…,λ3), 使得该函数与已知点集的<br> 差别(最小二乘意义)最小。如果待定函数是线性,就叫线性拟合或者<br> 线性回归(主要在统计中),否则叫作非线性拟合或者非线性回归。表<br> 达式也可以是分段函数,这种情况下叫作样条拟合。<br><br><br> 而插值是指已知某函数的在若干离散点上的函数值或者导数信息,通<br> 过求解该函数中待定形式的插值函数以及待定系数,使得该函数在给<br> 定离散点上满足约束。插值函数又叫作基函数,如果该基函数定义在<br> 整个定义域上,叫作全域基,否则叫作分域基。如果约束条件中只有<br> 函数值的约束,叫作Lagrange插值,否则叫作Hermite插值。<br><br> 从几何意义上将,拟合是给定了空间中的一些点,找到一个已知形式<br> 未知参数的连续曲面来最大限度地逼近这些点;而插值是找到一个(<br> 或几个分片光滑的)连续曲面来穿过这些点。<br> <br> 具体插值拟合的计算参见本节7和第二节6/7/9/40的回复.<br><br><br><br>=================================== - [返回]<br>5).如何生成任意分布的随机变量?<br>:#FangQ(Qianqian.Fang@dartmouth.edu),2002/6/21, BigGreen/MathTools #<br><br><br> 首先要生成一个平均分布的伪随机数a<br> 最简单的一种算法是同余法:<br> y(n+1)=a*y(n) mod M<br> 其中(M, a) 常见的一组取值为(2^31-1= 2147483647, 7^5=16807),可以<br> 生成[0~M-1]上的随机数,通过线性变换可以得到0~1上的均匀随机数<br><br> 如果你需要产生概率分布函数(PDF)为f(x)的一维随机变量,首先计算<br> 它的概率累积函数(PCF) F(x)=Integrate[f(t),{t,0,x}],则F^-1(y)<br> 既为所需要的随机变量。其中F^-1为PCF的反函数,y为一个[0~1]上的<br> 平均分布随机变量。对于复杂的PDF无法求解反函数的,可以在资料上<br> 查找"变换抽样法"。<br><br><br><br>=================================== - [返回]<br>6).FFT输入和输出的意义是什么?<br>:#FangQ(Qianqian.Fang@dartmouth.edu),2002/6/21, BigGreen/MathTools #<br><br><br> 我们可以把FFT简单地看作一个变换器,输入N+1个数,输出N+1个数<br> ,但他们对应的意义不同,如果把输入当作时域,则输出为频域,表<br> 怔了其对应域的变化快慢。<br><br> 假设输入信号本身的频率为fc(或者说频带宽为fc),被频率为fs的冲击<br> 串采样(由采样定理,fs >= 2*fc),则变换前的N+1个数字对应的x<br> 轴为{t0,t1,…tN}={0,Ts,2*Ts,....,N*Ts} (其中Ts为1/fs,为采样周期)<br><br> 则变换后的N+1个数对应的x轴变为频率,范围为0~fs,以fs/N为间隔,<br> 既为频率点{0,fs/N,2*fs/N,……,fs},在matlab中如果用fftshift(fft(data))<br> ,则变换后对应x轴为-fs/2~fs/2,如果满足采样定理的化,信号频带-fc~fc<br> 就包含在转换后的频谱里面了,就不会有失真。<br><br> 注意:变换后的数字为复数,因为其中包括了幅度的信<br> 息,abs(fftshift(fft(data)))为幅度,angle(fftshift(fft(data)))为相位<br><br><br><br>=================================== - [返回]<br>7).我有一组x,y,z值,非规则点阵,如何绘制曲面或者等高线或者插值?<br>:#FangQ(Qianqian.Fang@dartmouth.edu),2002/6/12, SMTH/MathTools #<br><br> 1.如果你使用matlab,有如下四种解决办法<br> 1.1: <br> tri=delaunay(x,y);<br> trimesh(tri,x,y,z); or trisurf(tri,x,y,z);<br> 1.2: 如果你想得到更加精细和光滑的曲线,而且想绘制coutour<br> 则需要用griddata()插值:<br> [xi,yi]=meshgrid(min(x):dx:max(x),min(y):dy:max(y));<br> [xi,yi,zi]=griddata(x,y,z,xi,yi,'cubic');<br> contourf(xi,yi,zi,20);<br> 1.3: 如果你的matlab安装有PDE Toolbox,可以使用pdeplot(),参见帮助<br> 1.4: 如果你可以连接国外,可以使用MIT的Kirill K. Pankratov写的SaGA<br> 工具箱,下载地址在:<br> <a href="http://www.ai-geostats.org/software/Geostats_software/SAGA.htm" target="_blank" ><FONT color=#000000>http://www.ai-geostats.org/software/Geostats_software/SAGA.htm</FONT></A><br> <a href="http://globec.whoi.edu/software/saga/" target="_blank" ><FONT color=#000000>http://globec.whoi.edu/software/saga/</FONT></A><br><br> 2.如果你使用Tecplot<br><br> 1.先将三列数据按照顺序保存在一个文本文件中<br> data.dat文件格式为<br> x1 y1 z1<br> x2 y2 z2<br> ...<br> 2. Tecplot菜单File\Load Data file,在左上角选择2D<br> 3. 选中zone,菜单Data\Triangulate<br> 4. 双击该zone,将mesh掩藏掉,把contour打开,然后在<br> 左上角选择3D<br> 5. 如果想插值,先创建一个更细的网格,然后用data菜单中<br> Interpolation<br><br> 3.如果你使用Mathematica<br><br> data={{x1,y1,z1},{x2,y2,z2},......};<br> fun=Interpolation[data];<br> Plot3D[fun[x,y],{x,xmin,xmax},{y,ymin,ymax}];<br> ContourPlot[fun[x,y],{x,xmin,xmax},{y,ymin,ymax}];<br><br> 当然,其他还有很多绘图工具,有待补充<br><br><br>=================================== - [返回]<br>8).请问哪里能找到绘制等高线的算法?<br>:#FangQ(Qianqian.Fang@dartmouth.edu),2002/7/23, SMTH/MathTools #<br><br> 在一般的计算机图形学的教材中都有常见算法的描述,下面的网址<br> 有免费的C代码<br> <a href="http://members.bellatlantic.net/~vze2vrva/thesis.html" target="_blank" ><FONT color=#000000>http://members.bellatlantic.net/~vze2vrva/thesis.html</FONT></A><br><br>=================================== - [返回]<br>9).特征值与奇异值有什么区别?<br>:#dimond,2002/6/25, SMTH/MathTools #<br><br> 特征值就不用说了,大家都知道。<br> 奇异值的定义:对于任一个复(实)矩阵A(m*n),设A^为A的共轭转置矩阵,<br> 即A^是n*m阶,则 A^*A (n*n阶)的特征值的非负平方根为 A 的奇异值,<br> 也就是A共有n个奇异值,且全部>=0.<br><br> A^*A 是一个半正定矩阵,所以它的特征值>=0<br><br> 对于半正定的Hermit方阵而言,特征值与奇异值是一一对应的<br><br>=================================== - [返回]<br>10).条件数很大(病态)的矩阵如何求逆?<br>:#granule,2002/7/4, SMTH/MathTools #<br><br> 有许多解法!实际上这作为数学的一个分支已经数学家<br> 们抽象出来研究了很多年(ill-posed problems).文献<br> 多的不得了。<br><br> 简单的解法就是用regularization tools.(典型的是<br> Tikhonov regularization).还有许多迭代解法。<br><br> 基本思想是要加约束。<br><br> for Ax=b, its standard Tikhonov solution is<br><br> x=inv(trans(A)*A+alfa*I)*Trans(A)*b<br><br> trans() means transpose; inv() is inverse;<br> alfa is a positive sclar. The quality of solution<br> depends on alfa directly. There is a optimal alfa<br><br> You can refer to the relevant topics such as:<br> inverse problems, ill-conditioned problems.<br><br>=================================== - [返回]<br>=================================== - [返回]<br>11).什么是Gaussian拟合?<br>:#FangQ(Qianqian.Fang@dartmouth.edu),2002/9/23, BigGreen/MathTools #<br><br> 高斯拟合(Gaussian Fitting)即使用形如:<br> <br> Gi(x)=Ai*exp((x-Bi)^2/Ci^2)<br><br> 的高斯函数对数据点集进行函数逼近的拟合方法。<br><br> 其实可以跟多项式拟合类比起来,不同的是多项式拟合是用幂函数系,<br> 而高斯拟合是用高斯函数系。<br><br> 使用高斯函数来进行拟合,优点在于计算积分十分简单快捷。这一点<br> 在很多领域都有应用,特别是计算化学。著名的化学软件Gaussian98<br> 就是建立在高斯基函数拟合的数学基础上的。<br>
[此贴子已经被作者于2005-6-30 8:14:10编辑过]
|