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$
阅读(6367) | 评论(0) | 转发(0) |