24小时热门版块排行榜    

CyRhmU.jpeg
查看: 3788  |  回复: 27

zdzqy

新虫 (小有名气)

引用回帖:
7楼: Originally posted by chyanog at 2013-08-03 20:11:32
Compile一点也不鸡肋,并不是只能编译一些简单函数,一些数值计算程序可以提速30~100倍以上,但使用一些高级的函数时(NSolve,NIntegrate等)就没必要Compile了,不会有加速效果,
使用CompilationTarget -> & ...

真是谢谢二位的不吝赐教,但是说来说去,并没有说道解决问题的核心,我很诧异,这是求助帖
21楼2013-08-07 15:17:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

walk1997

金虫 (著名写手)

引用回帖:
20楼: Originally posted by zdzqy at 2013-08-07 15:16:38
真是谢谢二位的不吝赐教,但是说来说去,并没有说道解决问题的核心,我很诧异,这是求助帖。...

看不懂你1L贴的代码呀。。。
我总感觉和你贴的.nb不是一回事 看不懂帮不上...
22楼2013-08-07 16:10:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

walk1997

金虫 (著名写手)

那个 .nb文档太长了吧 中间很长很长赋值copy的?
23楼2013-08-07 16:14:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zdzqy

新虫 (小有名气)

引用回帖:
23楼: Originally posted by walk1997 at 2013-08-07 16:14:14
那个 .nb文档太长了吧 中间很长很长赋值copy的?

问题是这样的:1 在程序里有几个初等函数M1,M2,M3
              2 初等函数是用来求解力的-力是这几个函数的线性组合
              3 将这些力赋值并组合成矩阵
举个类似的例子:
矩阵CC={}用来存x,y的值,
M1=x^2+y^2;(函数)
F=a11*M1; (力)
下面生成一个放置F的矩阵AA,当然有多少个x,y就有多少个F,这个矩阵AA要通过Do循环产生。

这就是编程的思想,但是我的数据很多,所以运算时间很长,想简化一下。
24楼2013-08-07 19:46:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Simewe

新虫 (初入文坛)

【答案】应助回帖

引用回帖:
2楼: Originally posted by mshwangg at 2013-06-04 09:39:06
Mathematica帮助文件里关于Compile有这样两段话:
If you make a definition like f:=x Sin, Mathematica will store the expression x Sin in a form that can be evaluated for any x. Then when you give a par ...

Compile哪里鸡肋了?NSolve,NIntegrate是高级函数,Compile是不起作用的,只能说是用错了地方。Compile的目的也不是生成可执行文件的,是编译为字节码文件的,这应该是理解有误。从Mathematica8开始Compile比之前的版本又进了一大步,加上CompilationTarget->"C"选项有时候的速度接近了C的速度。如果不编译的话Mathematica数值计算的速度一般没有Matlab快的,但是同样都编译后(Matlab是使用Coder工具箱),Mathematica从8.0之后经常会超过Matlab(Matlab默认开启了JIT),我就测试过一些例子,有时候编译前Matlab比Mathematica快10倍,但是编译后Mathematica比Matlab快了10倍
25楼2013-10-26 22:18:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mshwangg

至尊木虫 (正式写手)

引用回帖:
25楼: Originally posted by Simewe at 2013-10-26 22:18:03
Compile哪里鸡肋了?NSolve,NIntegrate是高级函数,Compile是不起作用的,只能说是用错了地方。Compile的目的也不是生成可执行文件的,是编译为字节码文件的,这应该是理解有误。从Mathematica8开始Compile比之前 ...

那段e文是7.0版本copy过来的,更高的版本没用过
难道说这是版本的区别?
26楼2013-10-27 07:03:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zdzqy

新虫 (小有名气)

引用回帖:
26楼: Originally posted by mshwangg at 2013-10-27 07:03:47
那段e文是7.0版本copy过来的,更高的版本没用过
难道说这是版本的区别?...

I have tried the new version, it is more power. But it is just my point.
27楼2013-10-28 21:15:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cooooldog

铁杆木虫 (著名写手)

ส็็็

【答案】应助回帖

compile之后不再支持高精度计算
只能以双精度方式计算;

所以,实际上不如直接用C++
ส็็็็็็็็็็็็็็็็็็็็
28楼2014-08-25 18:04:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zdzqy 的主题更新
信息提示
请填处理意见