请推荐一款数学计算的软件
matlab在算需要反复用到fft的程序实在太慢了。。。fortran速度够快,但是实在太老了,不想用。。。c++很好,但是fft要自己弄(虽然有代码可以下载),然后所有...
matlab在算需要反复用到fft的程序实在太慢了。。。
fortran速度够快,但是实在太老了,不想用。。。
c++很好,但是fft要自己弄(虽然有代码可以下载),然后所有涉及数和数组的加减乘除,和数组间的复制都要运算符重载或者写函数,觉得好麻烦。。。
so,谁能推荐一款数学软件不?要求:像matlab一样自带fft且已经定义了数组的运算,
运算速度快。。。。 展开
fortran速度够快,但是实在太老了,不想用。。。
c++很好,但是fft要自己弄(虽然有代码可以下载),然后所有涉及数和数组的加减乘除,和数组间的复制都要运算符重载或者写函数,觉得好麻烦。。。
so,谁能推荐一款数学软件不?要求:像matlab一样自带fft且已经定义了数组的运算,
运算速度快。。。。 展开
4个回答
展开全部
.
你想要的无非就是支持类似于 C=A+B,C=FFT(A) 这样把矩阵作为变量的语句的计算工具啦?
常见的能满足这种矩阵运算功能的,除了3M(Matlab、Mathematica、Maple)之外,
最主要也就是两类编程语言: C++ 和 Fortran90/95/2003
Fortran90/95 最大的特色就是支持矩阵运算,再加上相应的函数库,比如IMSL for F90,
就能轻松满足你的所有要求;当然,其实你也可以用C++ 加上 IMSL for C++,
利用C++的矩阵运算模板。不过F90/95做数值计算比C++更专业、更快,最重要的是——
+++++++++++++++++++++++++++++
| 语句和C++重载运算符一样简洁! |
+++++++++++++++++++++++++++++
而C的速度和Fortran90/95有得一拼,但是C做矩阵运算的语句太繁琐。
举例来说(A、B、C、W、Z均为矩阵或者叫二维数组):
F90/95的矩阵运算直接写 C=A+B,
数乘矩阵:C=5*A
带IMSL的Fortran95做FFT的语句:W=FFT(Z)
逆FFT的语句:Z=IFFT(W)
其他还比如 C=A .x. B ,矩阵乘法
C= .i. A ,矩阵求逆
C= A .xt. B 或写成 A .x. (.t. B) ,矩阵A乘以B的转置
总之,不要以为Fortran就是古老的Fortran77,
现代化的Fortran90/95早就是一个很简明高效的语言了,
Fortran2003甚至支持完全的面向对象程序设计(有点太赶时髦了)。
.
你想要的无非就是支持类似于 C=A+B,C=FFT(A) 这样把矩阵作为变量的语句的计算工具啦?
常见的能满足这种矩阵运算功能的,除了3M(Matlab、Mathematica、Maple)之外,
最主要也就是两类编程语言: C++ 和 Fortran90/95/2003
Fortran90/95 最大的特色就是支持矩阵运算,再加上相应的函数库,比如IMSL for F90,
就能轻松满足你的所有要求;当然,其实你也可以用C++ 加上 IMSL for C++,
利用C++的矩阵运算模板。不过F90/95做数值计算比C++更专业、更快,最重要的是——
+++++++++++++++++++++++++++++
| 语句和C++重载运算符一样简洁! |
+++++++++++++++++++++++++++++
而C的速度和Fortran90/95有得一拼,但是C做矩阵运算的语句太繁琐。
举例来说(A、B、C、W、Z均为矩阵或者叫二维数组):
F90/95的矩阵运算直接写 C=A+B,
数乘矩阵:C=5*A
带IMSL的Fortran95做FFT的语句:W=FFT(Z)
逆FFT的语句:Z=IFFT(W)
其他还比如 C=A .x. B ,矩阵乘法
C= .i. A ,矩阵求逆
C= A .xt. B 或写成 A .x. (.t. B) ,矩阵A乘以B的转置
总之,不要以为Fortran就是古老的Fortran77,
现代化的Fortran90/95早就是一个很简明高效的语言了,
Fortran2003甚至支持完全的面向对象程序设计(有点太赶时髦了)。
.
更多追问追答
追问
多谢,你不说我还不知道,原来fortran都出到2008了。另外,你可能觉得95已经够简洁了,不过我还是觉得和C++(不考虑矩阵运算)或matlab比,它的编程还是很繁琐。。。当然速度确实块
追答
2008那个是噱头,还没什么厂家出F2008编译器。
我们做的很多计算是处理矩阵或者矩阵的一部分,F90/95就是因为能直接把矩阵当作整体处理,或者通过掩码整体处理矩阵的一部分,所以我觉得方便。如果不看这部分F90/95最擅长的工作,而是关注例如输入输出、分支判断等等,那确实有点繁琐。
展开全部
要不有maple
我觉得Mathematica很好,界面简单,里面函数可以做的很复杂,求起来很简单。你可以上网搜下。
我觉得Mathematica很好,界面简单,里面函数可以做的很复杂,求起来很简单。你可以上网搜下。
更多追问追答
追问
貌似maple和mathematica都是符号运算比较强大,数值运算比不过matlab。我没用过,不知道这两款的数值计算速度如何
追答
都很快,基本上不需要你等多久,简单的函数,比如积分等等,立刻。但是因为这两款都可以自己编写算法的,就要看你的算法的难易程度了。但是就学生编写的话基本上时间不是问题,都是很快的,快到难以区分。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果matlab你还不满意的话,那我就真的没的推荐了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询