Chinaunix首页 | 论坛 | 博客
  • 博客访问: 402643
  • 博文数量: 95
  • 博客积分: 5001
  • 博客等级: 大校
  • 技术积分: 1030
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-13 11:43
文章分类

全部博文(95)

文章存档

2007年(95)

我的朋友

分类:

2007-05-13 12:55:39

22))如何读写Matlab的.mat文件?
:#FangQ(Qianqian.Fang@dartmouth.edu),2002/6/21,BigGreen/MathTools #


        文件结构参见:
       
          matfile_format.pdf
       
        ftp://ftp.mathworks.com/pub/tech-support/solutions/s8757/
          readmemat.txt

        建议使用matlab自己提供的函数来读写简单安全,或者参考:
        ~fangq/MATH/download/
           source/mat_file.txt
        来自matlab的c math library


===================================   -  [返回]
23).如何得到contour线上的坐标点?
:#FangQ(Qianqian.Fang@dartmouth.edu),2002/6/21,BigGreen/MathTools #


        lcount=5;
        [c,h]=contour(peaks,lcount);
        x=get(h,'xdata');
        y=get(h,'ydata');

        这里得到的x和y都是cell数组,用x{1}/y{1}来得到每条线上的坐标对,
        注意,每条线的最后一个数据是NaN


===================================   -  [返回]
24).如何将Matlab绘制的三维网格图帖到word里?
:#FangQ(Qianqian.Fang@dartmouth.edu),2002/6/21,BigGreen/MathTools #


        如果需要位图,好处是所见即所得,坏处是图像精度差,不能放缩:
                1.用拷屏 Alt+PrintScreen
                2.在图形窗口菜单Edit\Copy Options….\选择Bitmap,可以
                  选择透明背景,然后Edit\Copy Figure

        如果需要拷贝矢量图:
                在图形窗口菜单Edit\Copy Options….\选择Metafile,然后
                Edit\Copy Figure,在Word中粘贴

        经常地,按照Metafile方式粘贴的图片曲线会出现锯齿,最好的方式是
        使用eps文件:
                1.将需要拷贝的图作为当前窗口
                2.再转换到matlab命令窗口,print -deps filename.eps
                3.-deps还可以用depsc,deps2,depsc2
                4.在word中插入图片,选中该eps,如果是word 2000以前版本
                  ,不会显示图片内容,但可以打印,word XP即可显示,又可打印。


                5.如果不满意,可以在word中双击编辑,如果安装有Adobe
                  Illustrator等矢量图像编辑软件,也可以进行编辑。



===================================   -  [返回]
25).请问可以查看Matlab中函数的源代码吗?
:#FangQ(Qianqian.Fang@dartmouth.edu),2002/6/21,BigGreen/MathTools #


        Matlab除了buildin函数和mex/dll文件看不到原码,其他如工具箱等都可
        以直接看到代码,首先确认该文件安装在matlab中,即which
        filename.m存在,然后可以edit filename.m


===================================   -  [返回]
26).Matlab有没有求矩阵行数/列数/维数的函数?
:#FangQ(Qianqian.Fang@dartmouth.edu),2002/6/21,BigGreen/MathTools #


        ndims(A)返回A的维数
        size(A)返回A各个维的最大元素个数
        length(A)返回max(size(A))
        [m,n]=size(A)如果A是二维数组,返回行数和列数
        nnz(A)返回A中非0元素的个数


===================================   -  [返回]
27).Matlab中如何中断运算?
:#FangQ(Qianqian.Fang@dartmouth.edu),2002/6/21,BigGreen/MathTools #


        在命令窗口按Ctrl+C,在UNIX/LINUX会立即中断运算,在Windows可
        能由于操作系统的原因,有时会出现死机和等待的情况。


===================================   -  [返回]
28).Matlab中有没有画圆或椭圆的函数?
:#FangQ(Qianqian.Fang@dartmouth.edu),2002/6/21,BigGreen/MathTools #


        没有,Matlab没有提供直接绘圆的图元函数,需要自己写代码,其实
        就两句:
        sita=0:pi/20:2*pi;
        plot(r*cos(sita),r*sin(sita)); %半径为r的圆

        plot(a*cos(sita+fi),b *sin(sita+fi)); %椭圆

        如果是单位圆,可以使用rectangle('Curvature', [1 1])


===================================   -  [返回]
29).Matlab下如何定义整形
:#修改:fhorse (马不停蹄),2002/6/21,SMTH/MathTools #

        Matlab默认的矩阵数据结构都是双精度浮点型,即64位来表示一个数
        字,大多数的函数和操作都定义在double数据结构,如果你需要
        把double的数据转换为整形,然后再参与运算,需要使用
        double(int32(x))或者floor/round/ceil等函数

        如果为了节省内存,只进行赋值、打印等简单操作,可以参
        见uint8/uint16/uint32命令的帮助


===================================   -  [返回]
30).Matlab如何产生均匀分布的白噪声?
:#misc,2002/6/21,SMTH/MathTools #

        help rand  均匀分布百噪声
        help randn高斯分布百噪声


===================================   -  [返回]
31).在Matlab中debug的时候能否跟踪变量的?
:#FangQ(Qianqian.Fang@dartmouth.edu),2002/6/21,BigGreen/MathTools #


        可以,如果使用medit,设置断点后可以用鼠标移到所看的变量上,显
        示当前的值,或者在命令窗口打该变量名直接回车。如果在代码中实
        现调试断点等功能,参
        见dbstop,dbcont,dbstep,dbclear,dbtype,dbstack,dbup,dbdown,dbstatus,

        dbquit


===================================   -  [返回]
32).请问在Matlab中怎样输入特殊符号啊或者上标、下标?
:#FangQ(Qianqian.Fang@dartmouth.edu),southerner(笑着),2002/6/6,SMTH/MathTools#
 


        matlab的text/title/xlabel/ylabel对象支持简单的TeX排版语法,如希腊字

        母,上下标等例如
        text(0.5,0.5,'\alpha^\beta_2');


===================================   -  [返回]
33).Matlab中如何后台运行一个DOS程序?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/4. BigGreen/en_Matlab#

        这里是一个后台执行一个需要外部输入的DOS命令的例子,需要的输
        入实事先都写在同目录下的input.txt文件中:

        dos('myexe < input.txt &')


===================================   -  [返回]
34).Matlab如何加载输入文件(批处理模式) ?
:#翻译自:comp.sys-soft.Matlab FAQ. BigGreen/en_Matlab#

        PC上可以使用matlab /r参数来在matlab启动的时候直接加载运行m文件
        ,在UNIX上,使用
        matlab < MyMFile > MyOutputFile
        来外部执行MyMFile,

        以上执行方式都可以通过脚本文件实现批处理


===================================   -  [返回]
35).Matlab如何启动时执行规定的文件?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/5/29.BigGreen/en_Matlab#
       
        参见上一个问题的回答
       

===================================   -  [返回]
36).如何在Matlab GUI中使用图形背景?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/5/29.BigGreen/en_Matlab#

        这是一个简单的例子:

        [A,map]=imread('yourimg.gif');

        imagesc(A)
        colormap(map)
        set(gca,'position',[0 0 1 1])
        axis off

        ax2=axes('position',[0.2,0.2,0.6,0.6]);
        plot(rand(1,10),'parent',ax2);  
        set(ax2,'color','none')      



===================================   -  [返回]
37).大量数据点Matlab绘图为什么很慢?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/en_Matlab#

        1.首先看能否用已有函数对整个矩阵绘图,比
          如mesh/plot3/trimesh等
        2.如果必须一点一点/或者一条线一条线的添加,最好作如下
          设置:
          doublebuffer=on
          erasemode=none
          backingstore=off
          renderer=opengl
          以及参考MathWorks对于高速绘图的tips:
         

===================================   -  [返回]
38).Matlab中如何求解广义积分?即积分限到有无穷的或者有奇异点的积分(瑕积分)?


:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22. BigGreen/en_Matlab#

        Matlab的quad/quad8只能作定积分,广义积分需要自己来写程序逼近,
        流程大概如下:
       
                1.设定收敛限epsi
                2.把为inf/-inf或者歧义点的积分限设置为一个初始值,k=1
                3.计算定积分Q(k)
                4.然后朝着inf/-inf或者歧义点移动一个步长,然后计算定积分
                  Q(k+1)
                5.判断(abs(Q(k+1)-Q(k))
               
        Mathematica中可以使用NIntegrate[],对于无穷振荡的函数,可以使用Method-
 
>
        QuasiMonteCarlo或者Oscillatory]


===================================   -  [返回]
39).为什么我的Matlab程序这么慢?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22. BigGreen/en_Matlab#

        我们工学院的收发室的门上贴着一张小纸条,写的是
        "Our policy is always blaming the computer"

        大多数的人在遇到问题的时候,总是责备计算机如何如何,别人如何
        如何,其实,最最主要的因素是在于自己。

        一个程序运行快慢,有很多因素决定,最主要的是算法,简炼而优美
        的的数学公式胜过100遍的优化。能从算法上改进,才能比别人有根
        本的优势。计算机也很重要,以前我总把自己用的PC看成万能的加
        以崇拜,对UNIX嗤之以鼻,结果当自己真正开始算起来,才知道差
        别有多大。搞大型数值计算的,没有好的工作站或者并行系统,就输
        在了起跑线上了。然后是程序的优化,看看变量是否占用太多内存,
        看看是否有功能重复的模块或者计算,经常的是用牺牲内存来换取速
        度,具体取舍,具体需要来决定。用profile看看哪些语句占用时间最
        多,然后把核心部分进行优化。

        如果是使用Matlab,使用vectorization和矩阵整体操作的代码要比大量
        的for循环快很多,eval/inline函数如果出现在核心循环,也会让速度下
        降几时倍的。


===================================   -  [返回]
40)..Matlab中如何作非线性回归?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22. BigGreen/en_Matlab#

        请参考
       
       
        matlab默认只提供了多项式拟合的函数polyfit,对于其他稍微简单
        一点的拟合,如标准的指数、对数、高阶多项式拟合,都有解析公式,参见:


       
        对于更加复杂的非线性函数,建议使用Mathematica或者DataFit
               
        Mathematica中提供了Fit[],以及
        << Statistics`NonlinearFit`
        NonlinearFit[],NonlinearRegress[]
        可以拟合任意复杂的表达式。
               
        DataFit可以自定义拟合模型,适用于复杂系统的拟合。


===================================   -  [返回]
41)..Matlab中为什么我对m文件、simulink模块,mat文件的修改不起作用呢?
:hyphone,2002/7/6,SMTH/MathTools#

        检查Matlab路径中是否有与你的m文件、mdl文件或者mat文件同名的m文件、
        mdl文件或者mat文件。Matlab执行搜索到的第一个文件。

===================================   -  [返回]
42).Matlab中,函数里面怎样使用基本工作空间中的变量?
为什么inline函数不能使用外面的变量?
:hyphone,2002/7/6,SMTH/MathTools#

        函数只能存取它自己的工作空间中的变量。要在函数之间,或者函数与基本
        工作空间之间传递数值,尝试以下方法:
        1、使用全局变量,用global定义全局变量
        2、使用evalin:
                evalin('base','v=1;');  %在基本工作空间中执行命令:v=1;
                evalin('caller','v=1;');%在调用该函数的函数的工作空间中
                        执行命令:v=1;
        3、参数传递
        4、使用assignin:
                assignin('base','v',v); %将v赋给基本工作空间中的变量v;
                assignin('caller','v',v);  %将v赋给调用者工作空间中的变量v;

        inline函数里面只能出现函数和参数,要传递一个可变系数,需要用evalin。


        如:fzero('f(evalin(''base'',''x1(i)''),x3)',求解区间)

===================================   -  [返回]
43).怎样在Simulink中调用m文件?
:hyphone,2002/7/6,SMTH/MathTools#

        函数m文件可以使用Function & Tables中的Fcn模块。如果有多个输入,
        用Mux组合成一个向量,然后在Fcn模块的Expression填
        MyFunction(u(1),u(2))"。如果有多个输出,用Demux分解成多个标量。


===================================   -  [返回]
44).Matlab中怎样进行数制转换?
:hyphone,2002/7/6,SMTH/MathTools#
       
        参见:hex2dec,oct2dec,bin2dec,dec2bin,dec2oct,dec2hex.
       
===================================   -  [返回]
45).matlab中的*.p是什么文件?怎么用?
:#David Martin(dg.martin@home.deleteme.com), 2000/07/07,comp.soft-sys.matlab#



        p文件是pre-parsed的缩写,即matlab在第一次运行某m文件时,matlab把该
        文件先编译成一种matlab的pseudo-code,当你再次运行该m文件时,节省了
        parse的时间。

        p文件可以离开m文件单独运行

:#Mike Robbins (michael.robbins@us.cibc.com),2001/04/20,comp.soft-sys.matlab#



        在matlab中用pcode('yourfilename')来生成p文件

===================================   -  [返回]
46).在Matlab中有goto语句吗?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/7/23. BigGreen/en_Matlab#

        matlab中没有提供goto,因为结构化程序设计不推荐使用goto,但在matlab
        中,goto的功能可以部分用结构化的异常处理机制来实现,比如从多重循环
        中跳出,具体代码为:

        try
           for i=1:10
             for j=1:10
                   for k=1:10
                      do_something;
                          if(jump_condition)
                             errorid=-2;
                             error('I want to get out!');
                          end
                    end
                  end
                end
        catch
            fprintf(1,'catch error:%d',errorid);
        end

===================================   -  [返回]
47).请问matlab6.X的那个matlab server是做什么的?(matlab开机运行问题)
:#hairhead, 2002/4/3. SMTH/MathTools#

      如果你在安装matlab时选择了web server的话,在每次重新启动后系统
      进程中就会出现matlab/matlabserver两个进程,如果你不需要使用
      matlab webserver服务的话,建议在安装时不要选择web server,
      如果已经安装的话,可以在"控制面板->管理工具->服务"中找到
      matlab webserver,然后把它disable掉。

===================================   -  [返回]
48).Matlab中如何用鼠标取得坐标?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/11/19. BigGreen/en_Matlab#

      matlab中用ginput来取得图像上的一点。注意:image()/imagesc()对象
      的y轴是和一般图的y轴反的。

      如果复杂的话,可以在ButtonDownFcn中get(0,'PointerLocation')
      或者get(gcf,'Position');

===================================   -  [返回]
49).Matlab中有阶乘函数吗?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/7/23. BigGreen/en_Matlab#
   
      matlab没有提供直接的阶乘函数,但可以用prod(1:n)来求n!
      用prod(1:2:2n-1)或者prod(2:2:2n)来求解n!!

===================================   -  [返回]
50)..怎样才能把Maltab学精?
:#energy(长白山), 2002/9/23. SMTH/MathTools#

      "带着问题学,活学活用,学用结合,急用先学,立竿见影,
       在'用'字上狠下功夫。"

===================================   -  [返回]
51)..Matlab如何计算大阶乘?
:#lll, 2002/9/18. SMTH/MathTools#
   
      如果只需要大致的值,取log10,
      计算出result=log10(1000!)=log10(1)+log10(2)+...log10(1000)
      然后求10^result=10^result的小数部分*10^result的整数部分
   
    
===================================   -  [返回]
52)..Matlab中怎样求变上限二重积分?
:#hyphone,2002/9/22, SMTH/MathTools #

        对于解析函数,用两次int即可。
        如求x+y在0[返回]
53)..用符号积分算出来Ei是什么意思,怎样求值?
:#hyphone,2002/9/22, SMTH/MathTools #

        Ei是maple中的指数积分函数,表示exp(-x*t)/t^n对t从1到正无穷大的积分。


        Ei(n,x) = int(exp(-x*t)/t^n, t=1..infinity)
        用命令“mhelp Ei”可以查看详细说明;用符号计算得到的不明白的函数都可以
 
通过
        mhelp命令得到帮助。
        求Ei(1,2)可以用maple命令得到:str2num(maple('evalf(Ei(1,2))'))。

===================================   -  [返回]
54)..Maltab中使用\n换行在notepad中显示为小黑块,为什么?(Randy Poe)
:#Randy Poe,2002/10/21,comp.soft-sys.matlab#
:#Peter J. Acklam(pjacklam@online.no),2002/6/26,comp.soft-sys.matlab#

        换行和回车是不同的,而且在不同的操作系统,解释也不相同。
        \n一般会操作系统被翻译成"行的结束",即LF(Line-Feed)
        \r会被翻译成"回车",即CR(Cariage-Return)
        对于文本文件的新行,在UNIX上,一般用\n(LF)来表示,Mac上用\r(CR)来表示,
 

        Windows上是用\n\r(CR-LF)来表示。
       
        所以在matlab中使用\n来写回车,在windows上打开会出现小方块。如果想
        避免这种情况,打开文件时使用t参数:
       
            fid = fopen('myfile.dat','wt');

===================================   -  [返回]
55)..Matlab中能开多大数组?(Steven Lord)
:#Steven Lord (slord@mathworks.com),2002-10-22,comp.soft-sys.matlab#

        使用computer命令:
        [C,MAXSIZE] = computer
       
===================================   -  [返回]
56)..如何使用整型矩阵来节省内存?(Duane Hanselman)
:#Duane Hanselman (masteringmatlab@yahoo.com),2002/10/22,comp.soft-sys.matlab#
 


        如下方法无需先生成一个double的数组,然后转换为int8
       
        >> rc=[3 4] % row and column sizes
        >> a(prod(rc))=int8(0) % example using int8
        >> class(a)  % they are all int8s
        >> reshape(a,rc) % make it the size you want
       
        同时也可以使用repmat来实现上述功能:
             
        >> repmat(int8(0),rc)


===================================   -  [返回]
57).Matlab在P4芯片上无法启动的解决方案
:#FangQ(Qianqian.Fang@dartmouth),2002/11/10,SMTH/MathTools#

        如果不想安装补丁,只能使用matlab -nojvm的形式启动
        matlab,否则需要参照如下页面的解决方案来安装补丁:
       
               NQ8a9.6835%24ob2.611653%40newsread1.prod.itd.earthlink.net
       

===================================   -  [返回]
58).如何求解对离散点的最优椭圆拟合?(Andrew Fitzgibbon, et al)
:#Authors: Andrew Fitzgibbon, Maurizio Pilu, Bob Fisher
"Direct Least Squares Fitting of Ellipses", IEEE T-PAMI, 1999#

        ~fangq/MATH/Source/fitellipse.m
       
===================================   -  [返回]
59).Matlab/Mathematica中如何中断当前运算?(FangQ)
:#FangQ(Qianqian.Fang@dartmouth),2002/11/19,BigGreen/MathTools#

        Mathematica中使用:   Alt+./Alt+,
        Matlab中使用:        Ctrl+C
       
===================================   -  [返回]
60)).Matlab/Mathematica中如何检查括号匹配?(FangQ)
:#FangQ(Qianqian.Fang@dartmouth.edu),2002/11/11,SMTH/MathTools#

        Mathematica中使用:   Ctrl+.
        Matlab editor中使用: Ctrl+B

===================================   -  [返回]
61)..Matlab的GUI中为何无法使用uicontrol的句柄?(FangQ)
:#FangQ(Qianqian.Fang@dartmouth.edu),2002/11/11,SMTH/MathTools#

        如果你在执行GUI时出现"handles not defined"的错误时,
        打开GUIDE,把figure的HandleVisibility设置为on或者callback,
        则你可以在各个callback中直接使用handles,而不用声明global
       
        例如:
       
        dat=get(handles.figure1,'userdata');
        dat2=fliplr(dat);
        se(handles.edit1,'userdata');

===================================   -  [返回]
62)..Matlab中如何把向量拓展成矩阵?(Zealous/FangQ)
:#Zealous/FangQ,2002/11/9,SMTH/MathTools#

        可以使用repmat(),例如:  repmat([1,2,3]',1,5)
        或者使用kron(),例如:      kron([1 2 3]',ones(1,5))
       
===================================   -  [返回]
63)..Matlab的GUI中的按钮如何在运行时移动及改变大小?(FangQ)
:#FangQ(Qianqian.Fang@dartmouth),2002/11/19,refer to comp.soft-sys.matlab#
        使用selectmoveresize函数,例如:
       
        figure
        h=uicontrol('style','pushbutton');
        set(h,'ButtonDownFcn',...
            'selectmoveresize;set(h,''selected'',''off'')',...
            'Enable','inactive')

===================================   -  [返回]
64)..Matlab如何求解维数巨大的稀疏矩阵方程?(FangQ)
:#FangQ(Qianqian.Fang@dartmouth),2002/11/19,BigGreen/MathTools#

        Matlab提供了非常丰富的迭代型矩阵求解器,方法包括CG,BiCG,BiCGSTAB,
        CGS,GMRES,LSQR,MINRES,P-CG,QMR,SYMMLQ等,为了加快矩阵求解速度,还
        提供了两个Preconditioner函数:luinc(不完全LU分解),和cholinc(不完全

        Cholesky分解)。下面是一个使用GMRES求解方程Amat*x=rhs的一个简单例子:


       
        [L2,U2] = luinc(Amat,1e-3);
        tic
           x=gmres(Amat,rhs,[],1e-6,100,L2,U2);
        toc

       
>************************************************************************<
>                        第三节:Mathematica的常见问题
>************************************************************************<

===================================   -  [返回]
1).Mathematica 可以定义变量为实数么?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/en_Mathematica #

        1. 在Simplify/FullSimplify可以使用\[Element],如
                Simplify[Re[a+b*I],a\[Element]Reals]
        2. 可以使用ComplexExpand[]来展开表达式,默认:符号均为实数:
                Unprotect[Abs];
                Abs[x_] := Sqrt[Re[x]^2 + Im[x]^2];
                ComplexExpand[Abs[a + b*I], a]
        3. 使用/:,对符号关联相应的转换规则
                x /: Im[x] = 0;
                x /: Re[x] = x;
                y /: Im[y] = 0;
                y /: Re[y] = y;
                Re[x+y*I]



===================================   -  [返回]
2).Mathematica中如何中断运算?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/en_Mathematica#

        Alt+. 直接终止当前执行的运算
        Alt+, 询问是否终止或者继续
        如果不能终止,用菜单Kernel\Quit Kernal\Local来退出当前运算


===================================   -  [返回]
3).请高手推荐Mathematica参考书
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/en_Mathematica#

        我迄今为止看到的最好的一本就是Mathematica自己带的帮助里面
        的The Mathematica Book,内容全面,循序渐近,非常容易学习使用
        。其他所见到的一些中文书籍基本上都是直接翻译帮助的内容,没有
        什么新意。


===================================   -  [返回]
4).请问在Mathematica中如何画极坐标图?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/4. SMTH/MathTools #

        << Graphics`Graphics`
        PolarPlot[]
        PolarListPlot[]


===================================   -  [返回]
5).Mathematica中如何对离散点作积分?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/5/9. SMTH/MathTools#


        离散的点通过插值或者拟合就可以得到连续的函数,然后可以对该函
        数求积分和微分。下面是一个例子:

        f[x_] := NIntegrate[Sin[Cos[x]], {x, 0, a}];
        data = Table[{a, f[x]}, {a, 0, 10}];
        expr = Interpolation[data];

        Plot[expr[a], {a, 0, 10}];
        Plot[Evaluate[D[expr[a], a]], {a, 0, 10}]

        如果想实现Matlab中的cumsum的功能:
        Drop[FoldList[Plus, 0, {a1,a2,…,an}], 1]


===================================   -  [返回]
6).在Mathematica中创立palette?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/18. SMTH/MathTools#

        在帮助中查找"Creating Palettes (Windows)"


===================================   -  [返回]
7).Mathematica可以作用户界面吗?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/5/31. SMTH/MathTools#

        Mathematica的GUI设计是通过它的交互式的NoteBook实现的,可以参
        考Mathematica帮助文件中的demo例子,或参考帮助2.10.6

===================================   -  [返回]
8).Mathematica中如何使用中文?     
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/7/23. BigGreen/en_Mathematica#

        Mathematica3/4/4.1中如果使用中文,需要先选中所在的cell,或者选中
        输入的中文乱码,在菜单format font中选中对应的中文字体后才能正确
        显示。

        最新的4.2在国际化有较大的改进,可以直接输入中文,参见
       


===================================   -  [返回]
9)..Mathematica中如何使用Solve[]求解的结果?(FangQ)
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/11/19. BigGreen/en_Mathematica#

        Solve[]求解的结果是以一个"表"或者"替换规则"的形式给出来的,
        并没有把结果真正替换给未知量。如果
       
        sol = Solve[a*x^2 + b*x + c == 0, x];
        x=x /. sol[[1]]
       
        也可以使用对表元素的操作把结果取出来,比如在上面的例子中:
       
        x1=sol[[1,1,2]]
        x2=sol[[2,1,2]]       
       
>************************************************************************<
>                        第四节:Matcom的常见问题
>************************************************************************<

===================================   -  [返回]
1).什么是Matcom?它与Matirx/MIDEVA的关系是什么?
:#FangQ(Qianqian.Fang@dartmouth.edu), 1999/11/2. SMTH/MathTools#

        Matcom是MathTools公司(UPenn)开发的一个基于C++矩阵函数
        库Matrix的一个matlab m文件与cpp文件的转换程序。MIDEVA为他
        的一个集成调试编译环境(界面)。

        Matcom独立于matlab之外,但需要外部的c++ compiler,在安装时需要
        指定c++ compiler的未知,否则无法工作。安装的时候需要指定matlab
        的位置主要是为了编译文件中需要的一些系统函数来找到路径用的。

        现在MathTools公司已经被生产Matlab的MathWorks公司兼并,Matcom
        最后版本为4.5,之后部分matcom的内容被合并到mathworks的visual
        matlab中。


===================================   -  [返回]
2).如何取出matcom矩阵的元素的值并交给C语言变量?
:#FangQ(Qianqian.Fang@dartmouth.edu), 1999/11/2. SMTH/MathTools#

        double mydata[3][3];
        dMm(amatrix);
        amatrix=rand(3);
        for(int i=1;i<=3;i++)
          for(int j=1;j<=3;j++)
                mydata[i-1][j-1]=amatrix.r(i,j);
        //or    mydata[i-1][j-1]=amatrix.fastindex(i,j);

        也可以用memcpy() 把amatrix.pr指针的内容读出来,交给mydata,但行
        列可能要转置。

        如果amatrix=sparse(…),用amatrix.r()方法不能取出需要的值



===================================   -  [返回]
3).Matcom中有多个输出的函数在C++中应该怎么调用?
:#FangQ(Qianqian.Fang@dartmouth.edu), 1999/11/2. SMTH/MathTools#

        使用i_o作为分割符
        meshgrid(colon(0.0,1.0),colon(0.0,1.0),i_o,xi,yi);
        与matlab中的
        [xi,yi]=meshgrid(0:1,0:1);

        是等价的


===================================   -  [返回]
4).如何在VC或C++Builder中使用matcom数学库?
:#FangQ(Qianqian.Fang@dartmouth.edu), 1999/11/2. SMTH/MathTools#

        1.在Project\Add to project\选择\lib\v4500.lib
        2.文件头写#include "matlib.h"
        然后就可以用了


===================================   -  [返回]
5).使用了matcom4.5数学库的VC/C++Builder程序如何发布?
:#FangQ(Qianqian.Fang@dartmouth.edu), 1999/11/2. SMTH/MathTools#

        在VC/CB中调用了matcom库,通过编译生成独立执行的程序,所以,
        不需要matlab系统,但一些必要的dll文件还是需要的,这
        些dll在window\system\下面,(在4.5版本中)大概
        有ago4500.dll,v4500v.dll,opengl32.dll,glu32.dll等
        四个文件


===================================   -  [返回]
6).安装matcom在搜索matlab路径时说找不到matcom.m,怎么办?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22. SMTH/MathTools#

        原因是matlab 6.x的Windows版本matlab.exe不在matlab\bin下,而
        在matlab\bin\win32,所以,在安装matcom时,把bin\win32\matlab.exe
        移动到bin\,即上移一层目录,安装matcom后,再移动回去就可以了。

        其实是否安装有matlab对matcom没有什么影响,你完全可以选择没有
        安装matlab,仍然可以编译大多数文件。需要matlab\toolbox下的文件
        时,用addpath()添加路径或者拷贝到当前目录下就可以了。



===================================   -  [返回]
7).使用MIDEVA在编译有些工具箱和simulink的程序时出错,请
问是什么原因?
:# techsoft (SoftMAN), 2000/4/2.SMTH/MathTools#

        目前MIDEVA/MATCOM仅是纯.M文件的开发平台(通俗地说
        是MATLAB的替代物),但MATLAB外,还有SIMULINK/STATEFLOW
        及其它TOOLBOX/BLOCKSET对于MIDEVA/MATCOM来说无
        法COMPILER,因为MIDEVA/MATCOM是JIT机制,它不能访
        问MATLAB的其它工具包尤其是它们的DLL库。要是其它工具包都是
        纯文本的.M文件那该多好啊!不过可用出自MATHWORKS的MATLAB
        COMPILER。

===================================   -  [返回]
8).如何将C语言变量转换为Mm?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/7/23. SMTH/MathTools#

        仍然使用Mm的.r()函数或者.fastindex()函数,在本节2)中的例子
        中把赋值语句左右两侧互换即可。

        A.r(i,j)=(double)mydata[j][i];


>************************************************************************<
>                     第五节:Matlab与其他语言和软件的接口问题
>************************************************************************<

===================================   -  [返回]
1).如何在Matlab中读取Excel的xls数据文件?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22. BigGreen/MathTools#

        使用xlsread()函数,或者使用excel的ActiveX接口来进行更复杂的操作,
        参见:
       


===================================   -  [返回]
2).如何在Excel中嵌入Matlab?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/MathTools#


        如果你的Matlab安装有ExcelLink,它可以实现Excel与Matlab直接的数
        据交换,可以在Excel中直接调用matlab的函数,进行绘图或者数据处理。

        不过如果没有安装ExcelLink,你仍然可以使用Matlab的ActiveX接口来
        调用matlab,下面是一个Excel宏函数,作为例子:
       
#Brett Shoelson(bshoelson@cox.rr.com),2001/11/01,comp.soft-sys.matlab#

        Sub CallMatlab()
        ' Dimension variables
        Dim MatLab As Object
        Dim Result
        Dim Invals(3, 4) As Double
        Dim MImag() As Double
        Dim i, j As Integer
        ' Invoke Matlab
        Set MatLab = CreateObject("Matlab.Application")
        ' Read Invals from current spreadsheet
        ' (Assume Invals stored in B3:E5)
        For i = 0 To 2
        For j = 0 To 3
        Invals(i, j) = ActiveSheet.Range(Cells(i+3,j+2),
          Cells(i+3,j+2)).Value
        Next j
        Next i
        ' Send Invals to Matlab
        Call MatLab.PutFullMatrix("a", "base", Invals, MImag)
        ' Send instructions to Matlab
        Result = MatLab.Execute("b=a.^2;")
        ' Retrieve Result
        Call MatLab.GetFullMatrix("b", "base", Invals, MImag)
        ' Store Result in B8:E10
        ActiveSheet.Range("B8:E10").Value = Invals
        End Sub


===================================   -  [返回]
3).mcc,mex,mbuild都是作什么用的?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/MathTools#


        这个问题我一直都不是很清楚,看过compiler的PDF帮助之后,知道个
        大概,也不知道说得对不对:

     mcc(生成c/cpp文件)-----m--mex------ mex/dll
                        |---x--mbuild-----C/C++ compiler----独立执行的程序

        mex文件是一种编译后的动态连接文件,需要在matlab中执行,优点
        是执行速度比m文件快,而且如果你不想提供m文件源码,可以使用
        编译后的mex/dll文件。

        mbuild通过调用外部的c/c++编译器,把mcc翻译成的c/c++源码
        与matlab的c/c++数学库、图形库链接,得到独立执行的可执行程序。


===================================   -  [返回]
4).用mcc生成的独立执行exe文件怎么发布?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/MathTools#


        使用matlab自己提供的mglinstaller,路径在
        \extern\lib\win32\mglinstaller.exe
        参考C++ Math Lib,C++ Graphic Lib,Compiler的PDF帮助中都有关于打包
        和安装的详细介绍。


===================================   -  [返回]
5).如何在VC中调用Matlab engine?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/MathTools#


        matlab提供了ActiveX接口,你可以功过调用接口的底层函数来实现在
        你的C++/VB/Delphi程序中启动、执行matlab并交换数据,但matlab提
        供了一个对这些底层ActiveX接口函数的封装,叫作maltab engine,在
        C语言中调用engine的例子参见:

       
          matlab_external/ch06eng4.shtml#25603
        或者
       
        cgi-bin/bbscon?
          board=MathTools&file=M.1022120287.A&num=23

        可以使用engEvalString直接在matlab中执行语句,也可以
        用mxCreateDoubleMatrix, mxDestroyArray,engPutArray,engGetArray等函数


        创建矩阵和数据交换。
        具体参见:
       
          matlab_external/matlab_external.shtml


===================================   -  [返回]
6).如何在Matlab调用外部的c/c++/fortran函数?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/MathTools#


        在用matlab的mex把外部c/for程序编译成mex/dll之前,你需要在你的外
        部函数的源码中添加一个mexFunction(),具体书写格式和例子参见
   

       


===================================   -  [返回]
7).如何在Delphi中调用Matlab(ActiveX)?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/MathTools#


        从这个地址下载例子:
       

        还有一种方法是利用DelphiMEX,下载地址:
       

        下面是把Alex Conradie的例子中选了一些主要的语句:

        var

         V : Variant;
         MReal : OleVariant;
         MImage : OleVariant;

        begin
         i,j : integer;

         MReal  := VarArrayCreate([0, 1, 0, 3], varDouble);
         MImage := VarArrayCreate([0,0,0,0], varDouble);

         V := CreateOLEObject('Matlab.Application');
         V.Execute('a=[1 2 3 4; 5 6 7 8]');
         V.GetFullMatrix('a','base',VarArrayRef(MReal),VararrayRef(MImage));


         for i := 0 to 1 do
          for j := 0 to 3 do
           Stringgrid1.Cells[j,i] := MReal[i,j];

         V.Execute('peaks');

         MReal  := VarArrayCreate([0, 1, 0, 3], varDouble);
         MImage := VarArrayCreate([0,0,0,0], varDouble);

         for i := 0 to 1 do
          for j := 0 to 3 do
           MReal[i,j] := i+4;

          V.PutFullmatrix('b','base',VarArrayRef(MReal),VararrayRef(MImage));



        end


===================================   -  [返回]
8).如何在C++ Builder中调用Matlab(ActiveX)?
:# Serge Kanilo (skanilo@hotmail.com), 2000/08/01. comp.soft-sys.matlab #

        I once called a Matlab function out of Borland Builder 4.0.
        I used an automation

        #include
        ...
        Variant matlab;
        matlab = Variant::CreateObject("Matlab.Application");
        Procedure exec("Execute");
        matlab.Exec(exec << "calc");
        …


===================================   -  [返回]
9).如何在VB中调用Matlab(ActiveX)?
:# Taras Chaban (taras@camcontrol.co.uk), 1999/03/09.
comp.soft-sys.matlab #

        Hi,

        You can call MATLAB from VB using ActiveX interface.
        A simple example could be:

        Sub tot1()

        Dim MatLab As Object
        Dim Result As String
        Dim MReal(1, 3) As Double
        Dim MImag() As Double

        Set MatLab = CreateObject("MatLab.Application")
        Result = MatLab.Execute("a = [1 2 3 4; 5 6 7 8;]")
        Call MatLab.GetFullMatrix("a", "base", MReal, MImag)

        End Sub


===================================   -  [返回]
10).如何在VC中调用Matlab编译的cpp文件
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/MathTools#


        参见
       
        中文地址请大家推荐


===================================   -  [返回]
11).如何在VC中调用mcc编译的dll?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/MathTools#


        参见
       
        中文地址请大家推荐


===================================   -  [返回]
12).如何在Matlab中调用其他软件的ActiveX接口?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/MathTools#


        在Matlab中参见actxserver和actxcontrol的帮助
        这里是一个在matlab中操纵PowerPoint的例子:
       
        selm=370E09E2.275EF5E8%40mail.northgrum.com&output=gplain

        中文地址请大家推荐



>************************************************************************<
>                     第六节:高级语言数值、数学编程的问题
>************************************************************************<

===================================   -  [返回]
1).如何在Visual Fortran中画图?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/MathTools#


        可以使用ArrayVisualizer提供的函数,非常方便,一两句话就可以绘图
        ,缺点是系统必须安装有ArrayVisualizer,而且只能绘制比较简单的图
        形。

        如果要用Windows的绘图API,请在超星阅读器上查找邓巍巍,王越男
        编辑的Visual Fortran编程指南一书的第八章、第九章



===================================   -  [返回]
2).在FORTRAN中如何动态开数组
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/MathTools#


        FORTRAN 90提供了动态开数组的功能,主要是两个函数:

        Real*8, Allocatable :: My1DData(:),My2DData(:,:)
        …
        Allocate(My1DData(0:10),My2DData(10,20))
        …
        DeAllocate(My1DData,My2DData)

===================================   -  [返回]
3).如何在Visual Fortran中使用LAPACK?       
:#halifax (抗震王子), 2002/6/29. SMTH/NumComp#

            这两天为了在WIN98/2K下用CVF6.6调用LAPACK函数库查了               

 
        不少资料,也请教了很多网上的牛人,现在有个初步的调用方               

 
        法,愿意写出来,希望为后来者节省些时间。但是遗憾的是目               

 
        前我当初调用它的本意还是没有达到,所以希望有大虾能再指               

 
        点一二。                                                             

 
                                                                       
        (1)、CVF所包含的LAPACK函数库并不完全,在"\Microsoft                


        Visual Studio\DF98\CXML\DOC\Cxmlref.pdf"中的Table 8-3和           
        8-4中列出了大多数LAPACK DRIVER ROUTINE。但这并不表示CVF中            

      
        就能直接调用这么多routine,具体哪些能调用可以参                      

 
        见                                                                   

 
        \Microsoft Visual Studio\DF98\CXML\INCLUDE\LAPACK_{S、D、          


        C、Z}_INCLUDE.F90 等四个文件。他们中有的就可以直接                   

 
        在CVF中调用,没有的就要参见 (3)。                                    

 
                                                                       
        (2)、CVF的环境变量设置。为了调用CVF的LAPACK函数,需要                

 
        将一些*.lib函数调入库函数的搜索范围,也需要设置CVF为查找             

 
        这些库函数所需要的搜索路径。具体方法是:                             

 
                                                                       
        Ⅰ  project->setting->link->category->input->在object/library
        modules   框内加入cxml.lib cxmldll.lib 两个文件名,中间以空格间隔。  

           
                                                                       
        Ⅱ  分别在"tools->options->directories->"下的include files和library  

 
        files加上……\Microsoft Visual Studio\DF98\CXML\Include              

 
        和……\Microsoft Visual Studio\DF98\CXML\Lib 的搜索路径。Ⅲ  如      

 
        果在做了以上两个设置之后,程序仍然会出编译或连接错误,               

 
        可以做以下两项尝试(当然也可以不管错没错事先就做好):               

 
            一、在"project->setting->fortran->libraries"中勾上->use cxml选项


            二、在调用LAPACK函数的程序单元内的所有变量定义和可执             

 
                行语句之前加上: include 'cxml_include.f90' 语句。
                                                                       
                                                                       
        (3)、如果你通过各种途径查到LAPACK有某个函                            

 
        数,但LAPACK_{S、D、C、Z}_INCLUDE.F90四个文件中又没有                

 
        ,那就请到~lapack/网页下,在网页         

 
        左边选择你要的是何种routine。然后依提示逐步找到你所要的              

 
        算法源程序文件。注意如果选择"with dependencies"是不能下载            

 
        的,要选择"without dependencies"。当然也可以                         

 
        到~lapack/packages.html将所有            

 
        的LAPACK都下载下来。
               
                然后你就可以将你下载下来的源程序               
        拷贝到你的程序中作为一个subroutine了。                               

 
                                                                       
        [ACKNOWLEGEMENT]感谢hansom、lodger、nfdx、handbarrow、               

 
        beefly各位大虾提供的帮助!                                           

 

===================================   -  [返回]
4).如何在各种平台上编译含有Lapack的Fortran程序?
:#FangQ (Qianqian.Fang@dartmouth.edu), 2002/11/19. BigGreen/MathTools#

        在Windows,使用Visual Fortran
           df yoursource.f90 -o exename /cxml
           df /optimize:5 /fast yoursource /link CXML.LIB /stack:4000000
        在LINUX中,使用
            -llapack 编译指令
        使用Compaq Alpha Tru64的f90,使用
           f90 yoursource.f90 -o exename -lcxml
        在SGI IRIX上使用MIPSpro 7 f90编译器,使用
           f90 yoursource.f90 -o exename -lcomplib.sgimath
        Sun Solaris/IBM AIX上还没有试过
       
        如果使用Intel Math Kernel Library(MKL),可以使用如下链接指令:
        Compile and Link Flags (Pentium III/Athlon):
            -L$MKL_HOME/lib/32 -lmkl_lapack32 -lmkl_p3 -lpthread (使用LAPACK)


            -L$MKL_HOME/lib/32 -lmkl -lmkl_p3 -lpthread (使用BLAS)
        Compile and Link Flags (Pentium 4):
            -L$MKL_HOME/lib/32 -lmkl_lapack32 -lmkl_p4 -lpthread (使用LAPACK)


            -L$MKL_HOME/lib/32 -lmkl -lmkl_p4 -lpthread (使用BLAS)
  

>************************************************************************<
>                        第七节:其他数学软件常见问题
>************************************************************************<

===================================   -  [返回]
        暂无,有待补充



>************************************************************************<
>                        第八节:数学排版输入语言和软件
>************************************************************************<

===================================   -  [返回]
1).LaTeX如何修改行间距
:#fiya(采薇在勤), 2002/6/12. SMTH/MathTools#

        \renewcommand{\baselinestretch}{**}
        把行距改为默认行距的**倍。


===================================   -  [返回]
2).LaTeX如何让表格的cell能写多行?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/MathTools#


        我能找到的办法是一个最笨的办法,就是将多行的cell分成几个row,
        这几个row之间没有横线

        \begin{table}[htb]
        \caption{Table Title}
        \begin{tabular}{|c|c|c|}
          \hline
          text1 & long text1 part1 & long text2 part1\\
                           & long text1 part2 & long text2 part2\\
          \hline
          next line & next line & next line \\
        \hline
        \end{tabular}
        \end{table}


===================================   -  [返回]
3).如何转换Word->PDF?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/MathTools#


        1.安装Acrobat完全版本,安装好后在打印机中会出现一个PDF
          Writer,在Word中打印需要转换的文件到这个打印机即可。
        2.安装postscript打印机,Word打印该文件到ps打印机,然后用
          Acrobat Distiller打开生成的ps文件,转换为PDF。
        3.使用5D Pdf Creator等外部程序也可以实现转换。


===================================   -  [返回]
4).如何转换Word->Latex?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/MathTools#


        到下载Word2TeX


===================================   -  [返回]
5).LaTeX如何使用中文?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/MathTools#


        使用CJK或者CCT,参见
       
       


===================================   -  [返回]
6).如何在LaTeX中使得希腊字母显示为粗体,\mathbf不起作用?
:#UK TeX Users' Group (

        具体解释参见
       
        需要安装bm package或者amsbsy package


===================================   -  [返回]
7).LaTeX中引用参考文献[1~10]怎么产生?
:#yangzi2000 (yangzi), 2002/5/10. SMTH/MathTools#

        \usepackage{cite}


===================================   -  [返回]
8).LaTeX中的计数器怎么用?
:#fortran95 (TeX), 2002/4/4. SMTH/MathTools#

        \arabic{计数器名}
        or \Roman {计数器名 }
        or \roman {计数器名}
        or \alph  {计数器名}
        or \Alph  {计数器名}
        or \fnsymbol{计数器名}
        总之
        \你希望的数字体{计数器名} 来显示


===================================   -  [返回]
9).Mathematica中绘制的图,如何插入到LaTeX文档中?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/MathTools#


        1.可以用Display[pipe,imgobj,"EPS"]或
          者Export["filename",imgobj,"EPS"]来输出到文件
        2.选中所绘的图形,在菜单Edit\Save Selection As\EPS


===================================   -  [返回]
10).Matlab中绘制的图,如何插入到LaTeX文档中?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/MathTools#

        参见第二节,第24问


===================================   -  [返回]
11).Tecplot中绘制的图,如何插入到LaTeX文档中?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/MathTools#

        菜单File\Export\EPS,然后选择All Frame或者Current Frame


===================================   -  [返回]
12).Word/Powerpoint中绘制的图,如何插入到LaTeX文档中?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/MathTools#


        先绘制矢量图形,然后将图形Group后,拷贝到Powerpoint的一个新的
        页面,然后在菜单中选择Save As\WMF,然后用Adobe Illustrator 10转
        换为EPS图像。也可以打印为ps图,在LaTeX中使用,但有时会有一
        些显示的问题。



>************************************************************************<
>                           第九节:数学建模竞赛
>************************************************************************<

===================================   -  [返回]
1).什么是全国大学生数学建模竞赛CUMCM?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/MathTools#


        全国大学生数学建模竞赛(China Undergraduate Mathematical Contest in
        Modeling)是由中国工业与应用数学协会(CSIAM)发起组织的每年一度的
        大学生数学建模比赛。比赛时间一般为每年9月的第四个周末,每个
        参赛队由三名队员组成,要求在三天(严格说是两天,最后一天是论
        文写作和打印)时间内从给出的两个题目中选择一个(一般是连续模型
        和离散模型各一个),利用数学和计算机对问题进行表述、分析、计
        算,得出可行的,有创造性的结果、方案、设计,并撰写报告。队员
        在比赛中可以使用一切非人力资源,包括计算机、网络、图书馆,但
        不能与三人以外的任何人针对试题进行交流。

        这是一项非常具有创造性和挑战性的活动,通过数学建模的锻炼,最
        重要的是学会一种责任感和敬业精神,一种创造性,一种团队精神,
        你可以在计算机编程、数学软件使用、论文写作,口语表达、组织调
        度能力等各个方便得到最大限度的展现和锻炼,而这些内容正是国内
        高等教育中的盲点。

        CUMCM的评奖结果一般设置三个等级,一个是全国奖,一个是省级
        奖,一个是成功参赛奖。全国奖又有1、2、3等之分,省级奖品也分
        为1、2等奖。

        目前CUMCM已经成为国内规模最大的数学建模活动,具体参赛信息
        、比赛章程、每年的获奖名单,请参见CSIAM的主页:
       

        另外推荐一个好的地址:
       
        这是电子科技大学数学建模与应用科技学社(Society of Mathematical
        Modeling & Applied Science)的数学建模讨论区,精华区的社刊部分收
        录了一些数学建模队员的的体验、比赛试题和数学软件使用说明。学
        社的主页参见:
        ~fangq/smmas/



===================================   -  [返回]
2).什么是美国数学建模竞赛MCM?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/MathTools#


        MCM: The Mathematical Contest in Modeling,是美国的SIAM(工业与应用
        数学协会)和COMAP(the Consortium for Mathematics and Its App.)
        于1985发起的一项面向全世界大学生的一个数学建模比赛,参赛队员
        要求用英语完成最后的,我国每年都有很多大学派队参加,并获得过
        比较优秀的成绩。比赛时间一般为寒假期间。比赛优胜者设
        置Outstanding Winners,Meritorious Winners,Honorable Mentions,
        Successful Participants四个奖项。

        具体试题样本和详细说明参见COMAP的主页:
       



===================================   -  [返回]
3).哪里能找到合适的数学建模书籍和试题资料?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/MathTools#


        美国赛和全国赛部分试题参见CSIAM和SIAM的主页,其他一些个人网
        页参见:
        ~sxjm/
       
       


===================================   -  [返回]
4).我是研究生,是否还可以参加数学建模竞赛?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/MathTools#


        很抱歉,这两项比赛都是针对本科生的,研究生可以参与集训的指导
        工作。

===================================   -  [返回]
5).哪里能找到最新的全国大学生数学建模竞赛的优秀论文?
:#popo1999/FangQ, 2002/6/15.SMTH/MathTools#

        《数学的认识与实践》  中国应用数学会编写,
        各大学图书馆都应该能找到,上面有各年的CMCM或MCM优秀论文,还有点评
       
       
>************************************************************************<
>                           第十节:数学资源
>************************************************************************<

===================================   -  [返回]
1).请问哪里可以找到C/C++/Fortran数学函数库
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/MathTools#

        较好的函数库:
        1.netlib:
        2.numerical recipe:
        3.source forge:
        4.特殊函数fortran代码:
          ~jjin/routines/routines.html
       
        下面的两个地址也提供了非常全面的链接列表:
       
       


===================================   -  [返回]
2).请推荐好的中文数学软件论坛或网站
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/6/22.BigGreen/MathTools#


        薛定宇教授的:
           
        本人的数学主页:(重新开始更新)
            ~fangq/MATH/mindex.htm      
        aloft ,ggs的:
           
        mikie的
           
        流体中文网:
           
        CAD论坛:技术专栏:
           

===================================   -  [返回]
3).如何使用国外新闻组(newsgroup)资源?
:#FangQ(Qianqian.Fang@dartmouth.edu), 2002/11/22.BigGreen/MathTools#

        新闻组在国外是用户自由交流的主要渠道,其实BBS是新闻组在国内的一种演

        变形式。新闻组到现在已经有二十多年的历史,讨论组涉及的内容的广泛性
        和专业性已远非大家所能想想。单就本FAQ涉及的数学软件,各种专门软件新

        闻组已经都发展到了很大的规模。这里就列举一些常用的新闻组和加入办法。


       
        如果你想通过WWW方式加入讨论,推荐
        这里收集了非常丰富的新闻组资源,你仅需要检索若干关键字就可以找到你
        需要的新闻组,如果想参与讨论,需要注册一个有效的email地址即可。
       
        如果想通过email的方式参与讨论,你需要搜索新闻组的说明,并找到邮件列表


        的地址,然后subscript即可。
       
        下面是几个有用的新闻组:
        Matlab Newsgroup:
        news://comp.soft-sys.matlab/
        hl=en&lr=&ie=UTF-8&oe=UTF-8&group=comp
 
.soft-sys.matlab
        cgi-bin/bbsdoc?board=en_Matlab
       
        Mathematica Newsgroup:
        news://comp.soft-sys.math.mathematica/
        hl=en&lr=&ie=UTF-8&oe=UTF-8&group=comp
 
.soft-sys.math.mathematica
        cgi-bin/bbsdoc?board=en_Mathematica
       
        Maple Newsgroup:
        news://comp.soft-sys.math.maple/
        hl=en&lr=&ie=UTF-8&oe=UTF-8&group=comp
 
.soft-sys.math.maple
       
        FORTRAN Newsgroup:
        news://comp.lang.fortran/
        hl=en&lr=&ie=UTF-8&oe=UTF-8&group=comp
 
.lang.fortran
        cgi-bin/bbsdoc?board=en_FORTRAN

        TeX Newsgroup:
        news://comp.text.tex/
        hl=en&lr=&ie=UTF-8&oe=UTF-8&group=comp
 
.text.tex
        cgi-bin/bbsdoc?board=en_TeX
       
        Numerical Analysis Newsgroup:
        news://sci.math.num-analysis/
        hl=en&lr=&ie=UTF-8&oe=UTF-8&group=sci.
 
math.num-analysis
        cgi-bin/bbsdoc?board=en_NumAnalysis

        Math Newsgroup:
        news://sci.math/
        hl=en&lr=&ie=UTF-8&oe=UTF-8&group=sci.
 
math
        cgi-bin/bbsdoc?board=en_Math


$Id: MathTools.FAQ.CN 1.0 Rev. 4 2002/11/23 15:59:16 QianqianFang$ 
 
阅读(6004) | 评论(0) | 转发(0) |
0

上一篇:数学工具FAQ 【1】

下一篇:atoi函数

给主人留下些什么吧!~~