<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>R2S &#187; 数字之美</title> <atom:link href="http://www.road2stat.com/cn/category/mathematics/feed" rel="self" type="application/rss+xml" /><link>http://www.road2stat.com/cn</link> <description>江湖一散人</description> <lastBuildDate>Thu, 26 Jan 2012 08:18:36 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>不可靠的直觉：Erdős与蒙迪·霍尔问题</title><link>http://www.road2stat.com/cn/mathematics/erdos_and_monty_hall_problem.html</link> <comments>http://www.road2stat.com/cn/mathematics/erdos_and_monty_hall_problem.html#comments</comments> <pubDate>Sun, 24 Apr 2011 20:50:00 +0000</pubDate> <dc:creator>Xiao Nan</dc:creator> <category><![CDATA[数字之美]]></category> <category><![CDATA[Erdos]]></category> <category><![CDATA[Monty Hall Problem]]></category> <category><![CDATA[埃尔德什]]></category> <category><![CDATA[数字情种]]></category> <category><![CDATA[模拟]]></category> <category><![CDATA[蒙迪霍尔问题]]></category><guid isPermaLink="false">http://www.road2stat.com/cn/?p=652</guid> <description><![CDATA[读过《Erdős的传说》，一度对Erdős的研究风格和1475片paper心向往之，遂购得一本《数字情种》。在这书的第六章发现原来Erdős也做错了这道最初学概率论时做错的问题，顿时倍感欣慰 。。。 侵权手打版在此，请勿下载阅读： 《数字情种：埃尔德什传》第六章 得了一只羊 看完后重现了一下这个模拟，原来确实是这样： 试验次数 / 不换门成功 / 换门成功 10000 / 3350 / 6729 20000 / 6770 / 13475 30000 / 9982 / 19959 40000 /13172 / 26690 50000 / 16844 / 33117 60000 / 20019 / 40175 &#8230; <a href="http://www.road2stat.com/cn/mathematics/erdos_and_monty_hall_problem.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>读过《Erdős的传说》，一度对Erdős的研究风格和1475片paper心向往之，遂购得一本《数字情种》。在这书的第六章发现原来Erdős也做错了这道最初学概率论时做错的问题，顿时倍感欣慰 。。。 侵权手打版在此，请勿下载阅读：</p><p><a href="http://www.road2stat.com/cn/wp-content/attachments/2011/04/erdos.pdf">《数字情种：埃尔德什传》第六章 得了一只羊</a></p><p>看完后重现了一下这个模拟，原来确实是这样：</p><p>试验次数 / 不换门成功 / 换门成功</p><p>10000 / 3350 / 6729</p><p>20000 / 6770 / 13475</p><p>30000 / 9982 / 19959</p><p>40000 /13172 / 26690</p><p>50000 / 16844 / 33117</p><p>60000 / 20019 / 40175</p><p>70000 / 23379 / 46622</p><p>80000 / 26645 / 53242</p><p>90000 / 30043 / 60100</p><p>100000 / 33415 / 66585</p><p><a href="http://www.road2stat.com/cn/wp-content/attachments/2011/04/erdos.png"><img class="aligncenter size-full wp-image-654" title="erdos" src="http://www.road2stat.com/cn/wp-content/attachments/2011/04/erdos.png" alt="erdos" width="480" height="478" /></a></p><p>这个故事在Erdos的另一本传记《我的大脑敞开了：数学怪才爱多士》中也有提到。有好事者做了调查，结果只有13%的人做对这个概率问题，故此问题获得了"fool all the people all the time"的荣誉称号，这是后话。</p><p>引经据典的延伸阅读： <a href="http://en.wikipedia.org/wiki/Monty_Hall_problem">http://en.wikipedia.org/wiki/Monty_Hall_problem</a></p><p>1475片paper！！！paper狂人有木有！！！</p> ]]></content:encoded> <wfw:commentRss>http://www.road2stat.com/cn/mathematics/erdos_and_monty_hall_problem.html/feed</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Ubuntu下安装UMFPACK的MATLAB接口</title><link>http://www.road2stat.com/cn/mathematics/ubuntu_umfpack_matlab.html</link> <comments>http://www.road2stat.com/cn/mathematics/ubuntu_umfpack_matlab.html#comments</comments> <pubDate>Sun, 24 Apr 2011 19:40:09 +0000</pubDate> <dc:creator>Xiao Nan</dc:creator> <category><![CDATA[数字之美]]></category> <category><![CDATA[MATLAB]]></category> <category><![CDATA[Ubuntu]]></category> <category><![CDATA[UMFPACK]]></category><guid isPermaLink="false">http://www.road2stat.com/cn/?p=646</guid> <description><![CDATA[求解大型稀疏矩阵线性方程组是一件很痛苦的事情，大型稀疏矩阵求逆是这个问题的特例。UMFPACK采用的是一种针对稀疏矩阵的LU分解方法，直接法，比较耗内存，提供了C/Fortran/MATLAB接口，如果内存够大，可以首先尝试一下，因为直接法较迭代法精度高一些。如果内存不够，一般首先进行预处理，然后选择一种迭代法进行求解，比方说基于Krylov子空间的方法。UMFPACK的Manual写得比较暧昧，下面记录一下其MATLAB接口的安装方式。虽然MATLAB这丫闭源，只叹人在江湖，身不由己 。。。不过这套SparseSuite倒是GPL的，要是真提供R接口就好了，和CSIE@UFL他家比较熟的童鞋，不妨建议一下 。。。 环境：Ubuntu 10.10 + MATLAB R2010b for UNIX 1. 从 http://www.cise.ufl.edu/research/sparse/ 下好UMFPACK本身及其依赖包（均属于所谓的 SparseSuite），平行放置于一个目录。理论上这些就足够： AMD CAMD CCOLAMD CHOLMOD COLAMD UFconfig UMFPACK 从 http://glaros.dtc.umn.edu/gkhome/metis/metis/download 下载metis-4.0，解压后同样放入上述目录。 2. 此时如果在MATLAB中进入UMFPACK/MATLAB目录执行 umfpack_make，会发现不能编译Mathworks他丫的MEX。提示： Warning: You are using gcc version "4.4.4-14ubuntu5)".  The version currently supported with &#8230; <a href="http://www.road2stat.com/cn/mathematics/ubuntu_umfpack_matlab.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>求解大型稀疏矩阵线性方程组是一件很痛苦的事情，大型稀疏矩阵求逆是这个问题的特例。UMFPACK采用的是一种针对稀疏矩阵的LU分解方法，直接法，比较耗内存，提供了C/Fortran/MATLAB接口，如果内存够大，可以首先尝试一下，因为直接法较迭代法精度高一些。如果内存不够，一般首先进行预处理，然后选择一种迭代法进行求解，比方说<a href="http://mail.ustc.edu.cn/~yuanjing/KrylovSubspceMethod.ppt" target="_blank">基于Krylov子空间的方法</a>。UMFPACK的Manual写得比较暧昧，下面记录一下其MATLAB接口的安装方式。虽然MATLAB这丫闭源，只叹人在江湖，身不由己 。。。不过这套SparseSuite倒是GPL的，要是真提供R接口就好了，和CSIE@UFL他家比较熟的童鞋，不妨建议一下 。。。</p><p>环境：Ubuntu 10.10 + MATLAB R2010b for UNIX</p><p>1. 从 <a href="http://www.cise.ufl.edu/research/sparse/" target="_blank">http://www.cise.ufl.edu/research/sparse/</a></p><p>下好UMFPACK本身及其依赖包（均属于所谓的 SparseSuite），平行放置于一个目录。理论上这些就足够：</p><p>AMD<br /> CAMD<br /> CCOLAMD<br /> CHOLMOD<br /> COLAMD<br /> UFconfig<br /> UMFPACK</p><p>从 <a href="http://glaros.dtc.umn.edu/gkhome/metis/metis/download" target="_blank">http://glaros.dtc.umn.edu/gkhome/metis/metis/download</a></p><p>下载metis-4.0，解压后同样放入上述目录。</p><p>2. 此时如果在MATLAB中进入UMFPACK/MATLAB目录执行 umfpack_make，会发现不能编译Mathworks他丫的MEX。提示：</p><blockquote><p>Warning: You are using gcc version "4.4.4-14ubuntu5)".  The version currently supported with MEX is "4.3.4".</p></blockquote><p>看来Ububtu 10.10自带的gcc版本太高，我们按照</p><p><a href="https://help.ubuntu.com/community/MATLAB" target="_blank">https://help.ubuntu.com/community/MATLAB</a></p><p>的MEX function一节的1 - 3步先安装一个gcc 4.3.4 。。。</p><p>3. root启动MATLAB，执行</p><blockquote><p>getenv('PATH')<br /> setenv('PATH',sprintf('/home/%s/.matlab/bin:%s',getenv('USER'),getenv('PATH')));</p></blockquote><p>再次 getenv('PATH') 发现环境变量已经修改成功，进入UMFPACK/MATLAB目录，执行 umfpack_make 即可。</p><p>要确认是否已经编译成功，执行 umfpack_demo 即可运行一个求解demo，还有一些对比内建浮点性能之类的信息，比较无聊。</p><p>&nbsp;</p><p>另外，直接法还有一个求解器PARDISO可以选择，但是好像授权很不友好，academical也只能试用30天，简直是让人发指 。。。没有做更多的尝试。</p> ]]></content:encoded> <wfw:commentRss>http://www.road2stat.com/cn/mathematics/ubuntu_umfpack_matlab.html/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>palintiples引发的血案</title><link>http://www.road2stat.com/cn/mathematics/palintiples.html</link> <comments>http://www.road2stat.com/cn/mathematics/palintiples.html#comments</comments> <pubDate>Sat, 16 Oct 2010 08:07:59 +0000</pubDate> <dc:creator>Xiao Nan</dc:creator> <category><![CDATA[数字之美]]></category> <category><![CDATA[palintiples]]></category> <category><![CDATA[反序数]]></category> <category><![CDATA[哈代]]></category><guid isPermaLink="false">http://www.road2stat.com/cn/?p=606</guid> <description><![CDATA[商务印书馆版《一个数学家的辩白》在pp.75给出了这样一个性质: 四位数中仅有8712和9801是其"反序数"的整数倍: 8712=4x2178, 9801=9x1089 没有比10000更小的数具有这种性质. 这个性质是作为不"严肃"定理的例子给出的. 原始出处是Rouse Ball的《Mathematical Recreations and Essays》. 像这样满足"自身是其'反序数'的整数倍"的整数被称为"palintiples". 我们不妨写一小段程序继续探索更大的"palintiples"(当然要剔除一些琐碎的特殊情况): ?View Code RSPLUSnixu=function&#40;x&#41;&#123; options&#40;scipen=20&#41;; a=min&#40;x&#41; b=max&#40;x&#41; n=length&#40;x&#41; numSlot=x numRev&#60;-function&#40;num&#41;&#123; rem=0 while&#40;num&#62;0&#41;&#123; rem = &#40;rem * 10&#41; + &#40;num %% 10&#41; num = as.integer&#40;num / 10&#41; &#125; return&#40;rem&#41; &#8230; <a href="http://www.road2stat.com/cn/mathematics/palintiples.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>商务印书馆版《一个数学家的辩白》在pp.75给出了这样一个性质:</p><blockquote><p> 四位数中仅有8712和9801是其"反序数"的整数倍:<br /> 8712=4x2178, 9801=9x1089<br /> 没有比10000更小的数具有这种性质.</p></blockquote><p>这个性质是作为不"严肃"定理的例子给出的. 原始出处是Rouse Ball的《Mathematical Recreations and Essays》. 像这样满足"自身是其'反序数'的整数倍"的整数被称为"palintiples". 我们不妨写一小段程序继续探索更大的"palintiples"(当然要剔除一些琐碎的特殊情况):</p><div class="wp_codebox_msgheader wp_codebox_hide"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p606code2'); return false;">View Code</a> RSPLUS</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p6062"><td class="code" id="p606code2"><pre class="rsplus" style="font-family:monospace;">nixu<span style="color: #080;">=</span><a href="http://astrostatistics.psu.edu/su07/R/html/graphics/html/function.html"><span style="color: #0000FF; font-weight: bold;">function</span></a><span style="color: #080;">&#40;</span>x<span style="color: #080;">&#41;</span><span style="color: #080;">&#123;</span>
<a href="http://astrostatistics.psu.edu/su07/R/html/graphics/html/options.html"><span style="color: #0000FF; font-weight: bold;">options</span></a><span style="color: #080;">&#40;</span>scipen<span style="color: #080;">=</span><span style="color: #ff0000;">20</span><span style="color: #080;">&#41;</span><span style="color: #080;">;</span>
a<span style="color: #080;">=</span><a href="http://astrostatistics.psu.edu/su07/R/html/graphics/html/min.html"><span style="color: #0000FF; font-weight: bold;">min</span></a><span style="color: #080;">&#40;</span>x<span style="color: #080;">&#41;</span>
b<span style="color: #080;">=</span><a href="http://astrostatistics.psu.edu/su07/R/html/graphics/html/max.html"><span style="color: #0000FF; font-weight: bold;">max</span></a><span style="color: #080;">&#40;</span>x<span style="color: #080;">&#41;</span>
n<span style="color: #080;">=</span><a href="http://astrostatistics.psu.edu/su07/R/html/graphics/html/length.html"><span style="color: #0000FF; font-weight: bold;">length</span></a><span style="color: #080;">&#40;</span>x<span style="color: #080;">&#41;</span>
numSlot<span style="color: #080;">=</span>x
numRev<span style="color: #080;">&lt;-</span><a href="http://astrostatistics.psu.edu/su07/R/html/graphics/html/function.html"><span style="color: #0000FF; font-weight: bold;">function</span></a><span style="color: #080;">&#40;</span>num<span style="color: #080;">&#41;</span><span style="color: #080;">&#123;</span>
rem<span style="color: #080;">=</span><span style="color: #ff0000;">0</span>
<a href="http://astrostatistics.psu.edu/su07/R/html/graphics/html/while.html"><span style="color: #0000FF; font-weight: bold;">while</span></a><span style="color: #080;">&#40;</span>num<span style="color: #080;">&gt;</span><span style="color: #ff0000;">0</span><span style="color: #080;">&#41;</span><span style="color: #080;">&#123;</span>
rem <span style="color: #080;">=</span> <span style="color: #080;">&#40;</span>rem <span style="color: #080;">*</span> <span style="color: #ff0000;">10</span><span style="color: #080;">&#41;</span> <span style="color: #080;">+</span> <span style="color: #080;">&#40;</span>num <span style="color: #080;">%%</span> <span style="color: #ff0000;">10</span><span style="color: #080;">&#41;</span>
num <span style="color: #080;">=</span> <a href="http://astrostatistics.psu.edu/su07/R/html/graphics/html/as.integer.html"><span style="color: #0000FF; font-weight: bold;">as.<span style="">integer</span></span></a><span style="color: #080;">&#40;</span>num <span style="color: #080;">/</span> <span style="color: #ff0000;">10</span><span style="color: #080;">&#41;</span>
<span style="color: #080;">&#125;</span>
<a href="http://astrostatistics.psu.edu/su07/R/html/graphics/html/return.html"><span style="color: #0000FF; font-weight: bold;">return</span></a><span style="color: #080;">&#40;</span>rem<span style="color: #080;">&#41;</span>
<span style="color: #080;">&#125;</span>
<a href="http://astrostatistics.psu.edu/su07/R/html/graphics/html/for.html"><span style="color: #0000FF; font-weight: bold;">for</span></a><span style="color: #080;">&#40;</span>j <span style="color: #0000FF; font-weight: bold;">in</span> <span style="color: #ff0000;">1</span><span style="color: #080;">:</span>n<span style="color: #080;">&#41;</span><span style="color: #080;">&#123;</span>
numSlot<span style="color: #080;">&#91;</span>j<span style="color: #080;">&#93;</span><span style="color: #080;">=</span>numRev<span style="color: #080;">&#40;</span>numSlot<span style="color: #080;">&#91;</span>j<span style="color: #080;">&#93;</span><span style="color: #080;">&#41;</span>
<span style="color: #080;">&#125;</span>
numSlot<span style="color: #080;">&#91;</span><span style="color: #080;">&#93;</span><span style="color: #080;">=</span>x<span style="color: #080;">/</span>numSlot<span style="color: #080;">&#91;</span><span style="color: #080;">&#93;</span>
digits<span style="color: #080;">=</span><a href="http://astrostatistics.psu.edu/su07/R/html/graphics/html/as.integer.html"><span style="color: #0000FF; font-weight: bold;">as.<span style="">integer</span></span></a><span style="color: #080;">&#40;</span><a href="http://astrostatistics.psu.edu/su07/R/html/graphics/html/log10.html"><span style="color: #0000FF; font-weight: bold;">log10</span></a><span style="color: #080;">&#40;</span>b<span style="color: #080;">&#41;</span><span style="color: #080;">&#41;</span>
<a href="http://astrostatistics.psu.edu/su07/R/html/graphics/html/for.html"><span style="color: #0000FF; font-weight: bold;">for</span></a><span style="color: #080;">&#40;</span>k <span style="color: #0000FF; font-weight: bold;">in</span> <span style="color: #ff0000;">0</span><span style="color: #080;">:</span>digits<span style="color: #080;">&#41;</span><span style="color: #080;">&#123;</span>
numSlot<span style="color: #080;">&#91;</span><span style="color: #080;">&#93;</span><span style="color: #080;">&#91;</span>numSlot<span style="color: #080;">&#91;</span><span style="color: #080;">&#93;</span><span style="color: #080;">==</span><span style="color: #ff0000;">10</span><span style="color: #080;">^</span>k<span style="color: #080;">&#93;</span><span style="color: #080;">=</span><span style="color: #ff0000;">0.1</span>
<span style="color: #080;">&#125;</span>
numSlot<span style="color: #080;">&#91;</span><span style="color: #080;">&#93;</span><span style="color: #080;">&#91;</span><a href="http://astrostatistics.psu.edu/su07/R/html/graphics/html/seq.html"><span style="color: #0000FF; font-weight: bold;">seq</span></a><span style="color: #080;">&#40;</span>a, b<span style="color: #080;">&#41;</span><span style="color: #080;">/</span><span style="color: #ff0000;">10</span><span style="color: #080;">==</span><a href="http://astrostatistics.psu.edu/su07/R/html/graphics/html/as.integer.html"><span style="color: #0000FF; font-weight: bold;">as.<span style="">integer</span></span></a><span style="color: #080;">&#40;</span><a href="http://astrostatistics.psu.edu/su07/R/html/graphics/html/seq.html"><span style="color: #0000FF; font-weight: bold;">seq</span></a><span style="color: #080;">&#40;</span>a, b<span style="color: #080;">&#41;</span><span style="color: #080;">/</span><span style="color: #ff0000;">10</span><span style="color: #080;">&#41;</span><span style="color: #080;">&#93;</span><span style="color: #080;">=</span><span style="color: #ff0000;">0.2</span>
numSlot<span style="color: #080;">&#91;</span><span style="color: #080;">&#93;</span><span style="color: #080;">=</span>numSlot<span style="color: #080;">&#91;</span><span style="color: #080;">&#93;</span><span style="color: #080;">==</span><a href="http://astrostatistics.psu.edu/su07/R/html/graphics/html/as.integer.html"><span style="color: #0000FF; font-weight: bold;">as.<span style="">integer</span></span></a><span style="color: #080;">&#40;</span>numSlot<span style="color: #080;">&#91;</span><span style="color: #080;">&#93;</span><span style="color: #080;">&#41;</span>
x<span style="color: #080;">&#91;</span>numSlot<span style="color: #080;">&#91;</span><span style="color: #080;">&#93;</span><span style="color: #080;">==</span><span style="color: #ff0000;">1</span><span style="color: #080;">&#93;</span>
<span style="color: #080;">&#125;</span>
<span style="color: #228B22;"># x=seq(1, 10000); nixu(x)</span></pre></td></tr></table></div><p>受计算资源限制, 我只验证了10亿以内的整数. 结果分布如下:</p><blockquote><p> 8712 9801<br /> 87912 98901<br /> 879912 989901<br /> 8799912 9899901<br /> 87128712 87999912 98019801 98999901<br /> 871208712 879999912 980109801 989999901</p></blockquote><p>下面是其他人给出的, 100亿以内的结果:</p><blockquote><p> 8712 9801<br /> 87912 98901<br /> 879912 989901<br /> 8799912 9899901<br /> 87128712 87999912 98019801 98999901<br /> 871208712 879999912 980109801 989999901<br /> 8712008712 8791287912 8799999912 9801009801 9890198901 9899999901</p></blockquote><p>可以看到结果中始终没有出现除了87*12和98*01这两个类型之外的数字. 是不是可以猜想, 扩展到n位时, 87*12和98*01始终将保持这种性质呢?</p><p>和数学中众多的"好"问题一样, 连这个问题也是早就有人研究过了. Dan Hoey于1991-1992年间<a href="http://stason.org/TULARC/self-growth/puzzles/69-arithmetic-digits-palintiples-p.html", target="blank">在这里</a>给出了palintiples的一般形式. 并且说明了全部的palintiples并没有"form a regular language"的事实. 他的证明很漂亮. <a href="http://users.skynet.be/worldofnumbers/em27.htm", target="blank">这里</a>还有9801这个数字一些有意思的其他性质.</p><p>后来居然还有一群无聊人士继续对这个问题的扩展进行了深入研究. 2007年, 有人在《Mathematics Magazine》上发了一片内容和回顾兼有而标题有点幽默的:《Digit Reversal Without Apology》, 在<a href="http://faculty.valpo.edu/lpudwell/papers/mm005281.pdf", target="blank">这里</a>可以看到. 此文分类Number Theory, 我看着看着就睡着了. 文章最后给出了几个Open Questions, 有能力的同学可以挑战一下.</p><p>一个随便的quote都能引发血案, 哈代无愧为一代纯数学宗师.</p> ]]></content:encoded> <wfw:commentRss>http://www.road2stat.com/cn/mathematics/palintiples.html/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>《一个数学家的辩白》那些牛x闪闪的片段</title><link>http://www.road2stat.com/cn/mathematics/a_mathematicians_apology.html</link> <comments>http://www.road2stat.com/cn/mathematics/a_mathematicians_apology.html#comments</comments> <pubDate>Tue, 12 Oct 2010 13:19:53 +0000</pubDate> <dc:creator>Xiao Nan</dc:creator> <category><![CDATA[数字之美]]></category> <category><![CDATA[一个数学家的辩白]]></category> <category><![CDATA[哈代]]></category><guid isPermaLink="false">http://www.road2stat.com/cn/?p=586</guid> <description><![CDATA[我买到的是商务印书馆的那一版, 正文字体好像是方正博雅宋, 较一般书宋要扁一些, 行气足一些. 可能是为了缩减成本, 版面整体看起来很囧, 下次最好用大一点的纸张, 以免出现不能容忍的, pp. 57中英对照诗文里单字换行的扯淡效果. 薄薄的一本小书, 只有约摸100页, C. P. Snow所撰前言和正文几乎一样长, 正文由29节构成. 在我看来, 哈代几乎是以一种那个领域中精神领袖的高度写就了全文. 读完他的"辩白", 更是能体会到他作为一个纯粹数学研究者的强烈自尊和无可言说的寂寞. 同时, 字里行间也浸透了他在年事已高无法继续做出创造性工作之时的伤感之情, 让人想起了简媜的: "深情即是一桩悲剧 必得以死来句读." 哈代以一种非平凡的方式, 为(纯)数学和自己进行了"辩白", 同时夹杂了一些对数学, 对美丑标准的讨论. 有志于进行纯数学研究的同学们可以一读, 此书也可以作为那些做着更偏重"应用"数学的同仁们的一本参考读物. 遗憾的是里面对哈代和Ramanujan的合作情况介绍得还是太少, 这也许需要去那本《The Man Who know Infinity》中寻找了. 摘录一些片段于此: 政治家轻视政论家, 画家瞧不起艺术评论家, &#8230; <a href="http://www.road2stat.com/cn/mathematics/a_mathematicians_apology.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p><a href="http://www.road2stat.com/cn/attachments/2010/10/Hardy.jpg"><img class="alignright size-full wp-image-587" title="Hardy" src="http://www.road2stat.com/cn/attachments/2010/10/Hardy.jpg" alt="Hardy" width="312" height="368" /></a>我买到的是商务印书馆的那一版, 正文字体好像是方正博雅宋, 较一般书宋要扁一些, 行气足一些. 可能是为了缩减成本, 版面整体看起来很囧, 下次最好用大一点的纸张, 以免出现不能容忍的, pp. 57中英对照诗文里单字换行的扯淡效果.</p><p>薄薄的一本小书, 只有约摸100页, C. P. Snow所撰前言和正文几乎一样长, 正文由29节构成. 在我看来, 哈代几乎是以一种那个领域中精神领袖的高度写就了全文. 读完他的"辩白", 更是能体会到他作为一个纯粹数学研究者的强烈自尊和无可言说的寂寞. 同时, 字里行间也浸透了他在年事已高无法继续做出创造性工作之时的伤感之情, 让人想起了简媜的: "深情即是一桩悲剧 必得以死来句读." 哈代以一种非平凡的方式, 为(纯)数学和自己进行了"辩白", 同时夹杂了一些对数学, 对美丑标准的讨论. 有志于进行纯数学研究的同学们可以一读, 此书也可以作为那些做着更偏重"应用"数学的同仁们的一本参考读物. 遗憾的是里面对哈代和Ramanujan的合作情况介绍得还是太少, 这也许需要去那本《The Man Who know Infinity》中寻找了.</p><p>摘录一些片段于此:</p><p>政治家轻视政论家, 画家瞧不起艺术评论家, 生理学家、物理学家或者数学家常常具有同感; 再没有比对解释者所怀有的藐视更深刻, 或者从总体上看更合理的了. 解释、评判、欣赏都是二流头脑干的事情.</p><p>为什么对数学进行严肃的研究确实是值得的? 什么能合理地证明数学家生涯的价值? 从大体上来看, 我的答案类似于数学家常被期待做出的那种: 我认为它是值得做的, 这可以有大量证明.</p><p>没有数学家会允许自己忘记这一点: 数学比任何其他的艺术或科学都更加是年轻人的游戏.</p><p>我所知道的每个真正有天分的年轻数学家都对数学忠心不二, 而且原因不是由于他们缺少抱负, 相反倒是由于他们充满抱负. 他们都认识到, 如果有成名成家的道路的话, 它就着落在数学上面.</p><p>抱负是高尚的激情, 它可以合理地以许多形式显现出来. 在阿提拉和拿破仑的抱负中有一些高尚的东西: 但最高尚的志向是在死后留下某些具有永恒价值的东西.</p><p>可能会有很多值得高度尊敬的动机促使人们开展研究工作, 但其中有三个比其他的更为重要. 第一个(没有它则其他的都谈不上)是智力上的好奇心, 知道真理的欲望.</p><p>在所有的成就中, 数学成就的生命力乃是最持久的. ... 阿基米德(Archimedes)在埃斯库罗斯(Aeschylus)被忘却后, 仍将长留在人们的记忆里, 因为语言会灭亡, 而数学思想则不会.</p><p>一位数学家就像一位画家或诗人, 是模式(pattern)的创造者. 如果他的模式比画家或诗人的模式的生命更加长久的话, 那是因为他的模式使用思想(idea)所造就的.</p><p>... 这些思想, 就像色彩或者字词一样, 必须以和谐的方式统一起来. 优美性是第一道检验标准: <strong>这个世界没有为丑陋数学准备长久的地盘</strong>.</p><p>最好的数学既是严肃的, 又是优美的 ... 一个数学定理的"严肃性", 不在于它在实践上的效果——那往往是可以忽略不计的, 而在于它所关联着的数学思想是"重要的". ... 一个严肃的数学定理, 联系着重要的数学思想, 很可能导致数学, 乃至其他科学的重要进展.</p><p>任何一流的数学定理都有某种程度的普遍性, 但若普遍性过强, 则定理无可避免地趋向平淡乏味. ... "被恰当的特殊性所限制了的巨大的普遍性, 才是富有成果的概念."</p><p>任何名副其实的职业数学家生涯的价值, 是不可能在其工作的"有用性"的基础上得到证明的.<br /> <em>(评: 从这个角度, 炸药奖如果真的设立数学奖, 那还真是对数学的侮辱.)</em></p><p>我相信<strong>数学实在是外在于我们的</strong>, 我们的作用是发现或观察它, 我们证明了的, 我们卖弄般地描述为我们"创造"的定理, 只不过是我们的观察笔记.</p><p>数学家和物理学家在立场上的差别, 也许比通常所想的要小. 在我看来, 其中最重要的差别似乎是: 数学家与实在有更直接的接触. ... 实在论观点对于数学实在比对于物理实在更有可能是正确的, 因为数学对象与它们看上去的样子是那样的一致. ... 现代物理学或许最为符合某种唯心论哲学的框架 ... 对我来说, <strong>纯粹数学像是岩石, 所有的唯心论都在它上面碰得头破血流</strong>.<br /> <em>(评: 某些物理真的相当唯心)</em></p><p>正是数学中常识和枯燥的东西, 对实际生活才具有重要性.</p><p>如果我想要的是合情合理地舒适和快乐的生活, 那我的选择就是正确的. 事务律师和股票经纪人和出版家常常会过上舒适和快乐的生活, 但很难看出世界因他们的存在而变得更加丰富多彩了.</p><p>如果在伦敦的一个纪念柱上刻一幅雕像, 我们是宁愿让这个柱子高得使雕像看不见、还是愿意让柱子低得足以使雕像的容貌可以被辨认出来呢? 我将挑选第一种可能, 而可以想见, 斯诺博士会挑选第二种.</p> ]]></content:encoded> <wfw:commentRss>http://www.road2stat.com/cn/mathematics/a_mathematicians_apology.html/feed</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>复化Gauss-Legendre求积</title><link>http://www.road2stat.com/cn/mathematics/composite_gauss_legendre_quadrature.html</link> <comments>http://www.road2stat.com/cn/mathematics/composite_gauss_legendre_quadrature.html#comments</comments> <pubDate>Thu, 27 May 2010 17:33:21 +0000</pubDate> <dc:creator>Xiao Nan</dc:creator> <category><![CDATA[数字之美]]></category> <category><![CDATA[勒让德]]></category> <category><![CDATA[复化]]></category> <category><![CDATA[数值积分]]></category> <category><![CDATA[高斯]]></category><guid isPermaLink="false">http://www.road2stat.com/cn/?p=484</guid> <description><![CDATA[高斯型求积公式是数值积分中一个比较成熟的想法. 速度快, 精度高, 公式优雅. 一般Gauss-Legendre求积公式 对于一般的Gauss型求积公式 取权函数, 积分区间设定为, 则得到一般的Gauss-Legendre求积公式 取Legendre多项式的零点作为Gauss点, 通过计算得到Gauss点个数和时的求积公式 以及 变量替换方法 上述分析中, 积分区间固定为, 实际应用时做变量替换 将被积区间化为 复化Gauss-Legendre求积公式 将被积区间m等分, 记, 作变换 在每个小区间上应用Gauss-Legendre公式, 累加即得复化Gauss-Legendre求积公式 不妨设 则有: Gauss点个数时, Gauss点个数时, 总结复化Gauss-Legendre求积过程如下: 1. 分割区间, 记录区间端点值； 2. 通过查表或求解非线性方程组, 在所有小区间上, 将Gauss系数和Gauss点的值代入变量替换后的公式； 3. 将所有区间的结果累加, 即得到整个区间上的积分近似值. 针对Gauss点个数和的复化Gauss-Legendre求积公式编写的一个简单的MATLAB函数 compgauss() &#8230; <a href="http://www.road2stat.com/cn/mathematics/composite_gauss_legendre_quadrature.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>高斯型求积公式是数值积分中一个比较成熟的想法. 速度快, 精度高, 公式优雅.</p><h4>一般Gauss-Legendre求积公式</h4><p>对于一般的Gauss型求积公式<br /> <span class='MathJax_Preview'><img src='http://www.road2stat.com/cn/wp-content/plugins/latex/cache/tex_cbb6402feed2986e6cd7e67c600e177c.gif' style='vertical-align: middle; border: none; ' class='tex' alt="\int_a^b f(x) \rho (x) dx \approx \sum_{k=0}^{n} A_k f(x_k)" /></span><br /> 取权函数<span class='MathJax_Preview'><img src='http://www.road2stat.com/cn/wp-content/plugins/latex/cache/tex_0e81df54457f80f77a4d22ced4cc48e9.gif' style='vertical-align: middle; border: none; ' class='tex' alt="\rho (x)=1" /></span>, 积分区间设定为<span class='MathJax_Preview'><img src='http://www.road2stat.com/cn/wp-content/plugins/latex/cache/tex_d7455a676b32c077860f75f351322de3.gif' style='vertical-align: middle; border: none; ' class='tex' alt="\left[-1, 1 \right]" /></span>, 则得到一般的Gauss-Legendre求积公式<br /> <span class='MathJax_Preview'><img src='http://www.road2stat.com/cn/wp-content/plugins/latex/cache/tex_f7d42cf638b519655f81de468a9d4a26.gif' style='vertical-align: middle; border: none; ' class='tex' alt="\int_{-1}^{1} f(x) dx \approx \sum_{k=0}^{n} A_k f(x_k)." /></span><br /> 取Legendre多项式的零点作为Gauss点, 通过计算得到Gauss点个数<span class='MathJax_Preview'><img src='http://www.road2stat.com/cn/wp-content/plugins/latex/cache/tex_c303081f7a16f603112b0375bdc84883.gif' style='vertical-align: middle; border: none; padding-bottom:1px;' class='tex' alt="n=2" /></span>和<span class='MathJax_Preview'><img src='http://www.road2stat.com/cn/wp-content/plugins/latex/cache/tex_f4b339682e05755eb7408448ef87e1ca.gif' style='vertical-align: middle; border: none; padding-bottom:1px;' class='tex' alt="n=3" /></span>时的求积公式<br /> <span class='MathJax_Preview'><img src='http://www.road2stat.com/cn/wp-content/plugins/latex/cache/tex_4996429cb5eb2c1a6ef161dd84f64adb.gif' style='vertical-align: middle; border: none; ' class='tex' alt="\int_{-1}^{1} f(x) dx \approx f(-\frac{1}{\sqrt{3}})+f(\frac{1}{\sqrt{3}})" /></span><br /> 以及<br /> <span class='MathJax_Preview'><img src='http://www.road2stat.com/cn/wp-content/plugins/latex/cache/tex_91623eda84c561645dea6c193a8289a9.gif' style='vertical-align: middle; border: none; ' class='tex' alt="\int_{-1}^{1} f(x) dx \approx \frac{5}{9} f(-\frac{\sqrt{15}}{5})+\frac{8}{9}f(0)+\frac{5}{9}f(\frac{\sqrt{15}}{5})." /></span></p><h4>变量替换方法</h4><p>上述分析中, 积分区间固定为<span class='MathJax_Preview'><img src='http://www.road2stat.com/cn/wp-content/plugins/latex/cache/tex_52e0f4e8efc463057bb180a1d986b979.gif' style='vertical-align: middle; border: none; ' class='tex' alt="\left[-1, 1\right]" /></span>, 实际应用时做变量替换<br /> <span class='MathJax_Preview'><img src='http://www.road2stat.com/cn/wp-content/plugins/latex/cache/tex_ae47cec1b3904a1a24eb1c15d5dc4da5.gif' style='vertical-align: middle; border: none; ' class='tex' alt="x=\frac{a+b}{2}+\frac{b-a}{2}t." /></span><br /> 将被积区间<span class='MathJax_Preview'><img src='http://www.road2stat.com/cn/wp-content/plugins/latex/cache/tex_aa8a2f2a8b3a6d086d150cad4e3d1975.gif' style='vertical-align: middle; border: none; ' class='tex' alt="\left[a, b \right]" /></span>化为<span class='MathJax_Preview'><img src='http://www.road2stat.com/cn/wp-content/plugins/latex/cache/tex_d7997c900aea82b9da9f930172b1eb20.gif' style='vertical-align: middle; border: none; ' class='tex' alt="\left[-1, 1 \right]." /></span></p><h4>复化Gauss-Legendre求积公式</h4><p>将被积区间m等分, 记<span class='MathJax_Preview'><img src='http://www.road2stat.com/cn/wp-content/plugins/latex/cache/tex_0b4d54cec22e337628dae6982090cbba.gif' style='vertical-align: middle; border: none; ' class='tex' alt="h=\frac{b-a}{m}" /></span>, <span class='MathJax_Preview'><img src='http://www.road2stat.com/cn/wp-content/plugins/latex/cache/tex_dd577f01acd27de265409e155b73a9ef.gif' style='vertical-align: middle; border: none; ' class='tex' alt="x_k=a+kh, k=0, 1, 2 \ldots, m." /></span> 作变换<br /> <span class='MathJax_Preview'><img src='http://www.road2stat.com/cn/wp-content/plugins/latex/cache/tex_df7f57aebd2ed7e7c418b4940036c0c9.gif' style='vertical-align: middle; border: none; ' class='tex' alt="x=\frac{x_k+x_{k-1}}{2}+\frac{h}{2} t" /></span></p><p>在每个小区间上应用Gauss-Legendre公式, 累加即得复化Gauss-Legendre求积公式<br /> <span class='MathJax_Preview'><img src='http://www.road2stat.com/cn/wp-content/plugins/latex/cache/tex_ca51f3107e0e41ba607e878f064bbaf4.gif' style='vertical-align: middle; border: none; ' class='tex' alt="\int_a^b f(x) dx=\frac{h}{2}\sum\sum A_k f(x_k)." /></span></p><p>不妨设<br /> <span class='MathJax_Preview'><img src='http://www.road2stat.com/cn/wp-content/plugins/latex/cache/tex_487728105b5a3b177fc27f840cf6d46e.gif' style='vertical-align: middle; border: none; ' class='tex' alt="G(t)=f(\frac{x_k+x_{k+1}}{2}+\frac{h}{2} t)" /></span></p><p>则有:</p><p>Gauss点个数<span class='MathJax_Preview'><img src='http://www.road2stat.com/cn/wp-content/plugins/latex/cache/tex_c303081f7a16f603112b0375bdc84883.gif' style='vertical-align: middle; border: none; padding-bottom:1px;' class='tex' alt="n=2" /></span>时,<br /> <span class='MathJax_Preview'><img src='http://www.road2stat.com/cn/wp-content/plugins/latex/cache/tex_a001240ae6b324d5035ce39634ec6b27.gif' style='vertical-align: middle; border: none; ' class='tex' alt="\int_a^b f(x) dx \approx\frac{h}{2}\sum G(-\frac{1}{\sqrt{3}})+G(\frac{1}{\sqrt{3}})," /></span></p><p>Gauss点个数<span class='MathJax_Preview'><img src='http://www.road2stat.com/cn/wp-content/plugins/latex/cache/tex_f4b339682e05755eb7408448ef87e1ca.gif' style='vertical-align: middle; border: none; padding-bottom:1px;' class='tex' alt="n=3" /></span>时,<br /> <span class='MathJax_Preview'><img src='http://www.road2stat.com/cn/wp-content/plugins/latex/cache/tex_0ff62bc68e2a31dacbc7f6b711b0aaad.gif' style='vertical-align: middle; border: none; ' class='tex' alt="\int_a^b f(x) dx \approx \frac{h}{2}\sum \frac{5}{9}G(-\frac{\sqrt{15}}{5})+\frac{8}{9}G(0)+\frac{5}{9}G(\frac{\sqrt{15}}{5})." /></span></p><p>总结复化Gauss-Legendre求积过程如下:</p><p>1. 分割区间, 记录区间端点值；<br /> 2. 通过查表或求解非线性方程组, 在所有小区间上, 将Gauss系数和Gauss点的值代入变量替换后的公式；<br /> 3. 将所有区间的结果累加, 即得到整个区间上的积分近似值.</p><p>针对Gauss点个数<span class='MathJax_Preview'><img src='http://www.road2stat.com/cn/wp-content/plugins/latex/cache/tex_c303081f7a16f603112b0375bdc84883.gif' style='vertical-align: middle; border: none; padding-bottom:1px;' class='tex' alt="n=2" /></span>和<span class='MathJax_Preview'><img src='http://www.road2stat.com/cn/wp-content/plugins/latex/cache/tex_f4b339682e05755eb7408448ef87e1ca.gif' style='vertical-align: middle; border: none; padding-bottom:1px;' class='tex' alt="n=3" /></span>的复化Gauss-Legendre求积公式编写的一个简单的MATLAB函数 compgauss() 如下:</p><div class="wp_codebox_msgheader wp_codebox_hide"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p484code4'); return false;">View Code</a> SCILAB</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p4844"><td class="code" id="p484code4"><pre class="scilab" style="font-family:monospace;"><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000000; font-weight: bold;">function</span></a> <span style="color: #009900;">&#91;</span> <span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> compgauss<span style="color: #009900;">&#40;</span>a<span style="color: #339933;">,</span> b<span style="color: #339933;">,</span> n<span style="color: #009900;">&#41;</span>
<span style="color: #339933;">%</span> Composite Gauss Integration
<span style="color: #339933;">%</span> Equation <a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">Type</span></a><span style="color: #339933;">:</span> n<span style="color: #339933;">=</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">,</span> n<span style="color: #339933;">=</span><span style="color: #cc66cc;">3</span>
<span style="color: #339933;">%</span> Coded by Nan.Xiao <span style="color: #cc66cc;">2010</span><span style="color: #339933;">-</span>05<span style="color: #339933;">-</span><span style="color: #cc66cc;">25</span>
<span style="color: #339933;">%</span> Step.1 Divide Interval
<span style="color: #339933;">%</span> Step.2 Calculate
<span style="color: #339933;">%</span> Step.3 Sum Results
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">format</span></a> long
f <span style="color: #339933;">=</span> <span style="color: #339933;">@</span><span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span> <a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">exp</span></a><span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span>.<span style="color: #339933;">*</span><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">sin</span></a><span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
h<span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span>b<span style="color: #339933;">-</span>a<span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span>n<span style="color: #339933;">;</span>
xk<span style="color: #339933;">=</span><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">zeros</span></a><span style="color: #009900;">&#40;</span>n<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
xk<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span>a<span style="color: #339933;">;</span>
xk<span style="color: #009900;">&#40;</span>n<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span>b<span style="color: #339933;">;</span>
fk1<span style="color: #339933;">=</span><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">zeros</span></a><span style="color: #009900;">&#40;</span>n<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
fk2<span style="color: #339933;">=</span><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">zeros</span></a><span style="color: #009900;">&#40;</span>n<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">for</span></a> i<span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">:</span>n<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span>
    xk<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span>a<span style="color: #339933;">+</span>h<span style="color: #339933;">*</span>i<span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">for</span></a> j<span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">:</span>n
    fk1<span style="color: #009900;">&#40;</span>j<span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span>f<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>xk<span style="color: #009900;">&#40;</span>j<span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>xk<span style="color: #009900;">&#40;</span>j<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>h<span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">/</span><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">sqrt</span></a><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>...
        f<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>xk<span style="color: #009900;">&#40;</span>j<span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>xk<span style="color: #009900;">&#40;</span>j<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>h<span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">/</span><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">sqrt</span></a><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">for</span></a> r<span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">:</span>n
    fk2<span style="color: #009900;">&#40;</span>r<span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">5</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">9</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>f<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>xk<span style="color: #009900;">&#40;</span>r<span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>xk<span style="color: #009900;">&#40;</span>r<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>h<span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">sqrt</span></a><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">15</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>...
        <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">8</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">9</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>f<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>xk<span style="color: #009900;">&#40;</span>r<span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>xk<span style="color: #009900;">&#40;</span>r<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>h<span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>...
        <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">5</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">9</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>f<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>xk<span style="color: #009900;">&#40;</span>r<span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>xk<span style="color: #009900;">&#40;</span>r<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>h<span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">sqrt</span></a><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">15</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">5</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a>
mysum1<span style="color: #339933;">=</span>h<span style="color: #339933;">*</span><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">sum</span></a><span style="color: #009900;">&#40;</span>fk1<span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
mysum2<span style="color: #339933;">=</span>h<span style="color: #339933;">*</span><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">sum</span></a><span style="color: #009900;">&#40;</span>fk2<span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">disp</span></a><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'Result of 2 Nodes:'</span><span style="color: #009900;">&#41;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">disp</span></a><span style="color: #009900;">&#40;</span>mysum1<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">disp</span></a><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'Result of 3 Nodes:'</span><span style="color: #009900;">&#41;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">disp</span></a><span style="color: #009900;">&#40;</span>mysum2<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a></pre></td></tr></table></div><h4>总结</h4><p>1. Gauss求积公式较一般的机械求积公式的进步之处, 在于其针对插值型求积公式进行了改进. Gauss公式将插值节点设为未知, 成功地将代数精度由<span class='MathJax_Preview'><img src='http://www.road2stat.com/cn/wp-content/plugins/latex/cache/tex_7b8b965ad4bca0e41ab51de7b31363a1.gif' style='vertical-align: middle; border: none; padding-bottom:2px;' class='tex' alt="n" /></span>次提高到<span class='MathJax_Preview'><img src='http://www.road2stat.com/cn/wp-content/plugins/latex/cache/tex_d2b2d9fec288403faf6e85ebf2c58972.gif' style='vertical-align: middle; border: none; ' class='tex' alt="2n+1" /></span>次. 计算过程简单, 速度快, 达到要求精度所需步骤较少.</p><p>2. (复化) Gauss 求积的一个问题在于, 增加Gauss点个数, 继续求解Gauss系数和Gauss点值时, 需要解一系列非线性方程组. 其解析解较难求得. 而取数值解作为公式中的参数, 不如解析解理想.</p> ]]></content:encoded> <wfw:commentRss>http://www.road2stat.com/cn/mathematics/composite_gauss_legendre_quadrature.html/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>时间换空间/空间换时间？</title><link>http://www.road2stat.com/cn/mathematics/time_and_space_complexity_of_algorithms.html</link> <comments>http://www.road2stat.com/cn/mathematics/time_and_space_complexity_of_algorithms.html#comments</comments> <pubDate>Sun, 23 May 2010 20:57:43 +0000</pubDate> <dc:creator>Xiao Nan</dc:creator> <category><![CDATA[数字之美]]></category> <category><![CDATA[MATLAB]]></category> <category><![CDATA[Romberg's Method]]></category> <category><![CDATA[时间换空间]]></category> <category><![CDATA[空间换时间]]></category> <category><![CDATA[算法复杂度]]></category> <category><![CDATA[龙贝格算法]]></category><guid isPermaLink="false">http://www.road2stat.com/cn/?p=472</guid> <description><![CDATA[经常看到网上有人在讨论算法时用时间换空间/空间换时间的说法. 可惜神人们使用的例子都很专业, 再加上一两句晦涩而潇洒的写法, 我等凡人基本上就很难看懂了. 今天在实现数值积分中的龙贝格 (Romberg) 算法时, 算是遇到了一个这方面有点关系的问题, 简单记录一下. 首先上一段800字的原理说明: ...... 由于作者心里很清楚读者将会人肉Skip上面一段, 所以这里直接人肉省略其中的797字. 如果执意想看一下, 参考 Wikipedia 好了. 下面是一个很好懂的 MATLAB 实现: ?Download romberg.m1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 &#8230; <a href="http://www.road2stat.com/cn/mathematics/time_and_space_complexity_of_algorithms.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>经常看到网上有人在讨论算法时用时间换空间/空间换时间的说法. 可惜神人们使用的例子都很专业, 再加上一两句晦涩而潇洒的写法, 我等凡人基本上就很难看懂了. 今天在实现数值积分中的龙贝格 (Romberg) 算法时, 算是遇到了一个这方面有点关系的问题, 简单记录一下.</p><p>首先上一段800字的原理说明:</p><p>......</p><p>由于作者心里很清楚读者将会人肉Skip上面一段, 所以这里直接人肉省略其中的797字.</p><p>如果执意想看一下, 参考 <a href="http://en.wikipedia.org/wiki/Romberg%27s_method" target="_blank">Wikipedia</a> 好了.</p><p>下面是一个很好懂的 MATLAB 实现:</p><div class="wp_codebox_msgheader wp_codebox_hide"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Download <a href="http://www.road2stat.com/cn/wp-content/plugins/wp-codebox/wp-codebox.php?p=472&amp;download=romberg.m">romberg.m</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p4727"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
</pre></td><td class="code" id="p472code7"><pre class="scilab" style="font-family:monospace;"><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000000; font-weight: bold;">function</span></a> <span style="color: #009900;">&#91;</span> <span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> romberg<span style="color: #009900;">&#40;</span>aa<span style="color: #339933;">,</span> bb<span style="color: #339933;">,</span> kk<span style="color: #339933;">,</span> iter<span style="color: #009900;">&#41;</span>
<span style="color: #339933;">%</span> Romberg Integral Method
<span style="color: #339933;">%</span> Coded by Nan.Xiao <span style="color: #cc66cc;">2010</span><span style="color: #339933;">-</span>05<span style="color: #339933;">-</span><span style="color: #cc66cc;">23</span>
<span style="color: #339933;">%</span> Step <span style="color: #cc66cc;">1</span>. Calc TrapeStep
<span style="color: #339933;">%</span> Step <span style="color: #cc66cc;">2</span>. Calc Romberg Method
<span style="color: #339933;">%</span> Step <span style="color: #cc66cc;">3</span>. Extract Diagnal <span style="color: #339933;">&amp;</span> Output
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000000; font-weight: bold;">function</span></a> <span style="color: #009900;">&#91;</span> <span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> trapestep<span style="color: #009900;">&#40;</span>a<span style="color: #339933;">,</span> b<span style="color: #339933;">,</span> k<span style="color: #009900;">&#41;</span>
    <a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">format</span></a> long
<span style="color: #339933;">%</span>     <a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000000; font-weight: bold;">function</span></a> y <span style="color: #339933;">=</span> f<span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span>
<span style="color: #339933;">%</span>         y<span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">/</span><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">sqrt</span></a><span style="color: #009900;">&#40;</span>pi<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">exp</span></a><span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span>x<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">%</span>     <a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a>
<span style="color: #339933;">%</span>     Examples Can Also Be<span style="color: #339933;">:</span>
<span style="color: #339933;">%</span>     <a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000000; font-weight: bold;">function</span></a> y <span style="color: #339933;">=</span> f<span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span>
<span style="color: #339933;">%</span>         y<span style="color: #339933;">=</span>x<span style="color: #339933;">*</span><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">sin</span></a><span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">%</span>     <a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a>
<span style="color: #339933;">%</span>     Or
    <a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000000; font-weight: bold;">function</span></a> y <span style="color: #339933;">=</span> f<span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span>
        y<span style="color: #339933;">=</span>x<span style="color: #339933;">*</span><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">sqrt</span></a><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">+</span>x.^<span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a>
k1<span style="color: #339933;">=</span><span style="color: #cc66cc;">2</span>^<span style="color: #009900;">&#40;</span>k<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
temp<span style="color: #339933;">=</span><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">zeros</span></a><span style="color: #009900;">&#40;</span>k<span style="color: #339933;">,</span>k1<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
mysum<span style="color: #339933;">=</span><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">zeros</span></a><span style="color: #009900;">&#40;</span>k<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
t<span style="color: #339933;">=</span><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">zeros</span></a><span style="color: #009900;">&#40;</span>k<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">for</span></a> i<span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">:</span>k
    <a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">for</span></a> j<span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span>^<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    temp<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span>j<span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span>f<span style="color: #009900;">&#40;</span>a<span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">*</span>j<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>b<span style="color: #339933;">-</span>a<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span>^i<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">for</span></a> p<span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">:</span>k
    mysum<span style="color: #009900;">&#40;</span>p<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">sum</span></a><span style="color: #009900;">&#40;</span>temp<span style="color: #009900;">&#40;</span>p<span style="color: #339933;">,:</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a>
t<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0.5</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>f<span style="color: #009900;">&#40;</span>a<span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>f<span style="color: #009900;">&#40;</span>b<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">for</span></a> q<span style="color: #339933;">=</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">:</span>k<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span>
    t<span style="color: #009900;">&#40;</span>q<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0.5</span><span style="color: #339933;">*</span>t<span style="color: #009900;">&#40;</span>q<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>b<span style="color: #339933;">-</span>a<span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>mysum<span style="color: #009900;">&#40;</span>q<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span>^<span style="color: #009900;">&#40;</span>q<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a>
    <a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">format</span></a> long
trapestep<span style="color: #009900;">&#40;</span>aa<span style="color: #339933;">,</span> bb<span style="color: #339933;">,</span> kk<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
diagonal<span style="color: #339933;">=</span><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">zeros</span></a><span style="color: #009900;">&#40;</span>kk<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
tt<span style="color: #339933;">=</span><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">zeros</span></a><span style="color: #009900;">&#40;</span>kk<span style="color: #339933;">,</span>kk<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">for</span></a> v<span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">:</span>kk
    tt<span style="color: #009900;">&#40;</span>v<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span>t<span style="color: #009900;">&#40;</span>v<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">for</span></a> r<span style="color: #339933;">=</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">:</span>kk
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">for</span></a> s<span style="color: #339933;">=</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">:</span>r
    tt<span style="color: #009900;">&#40;</span>r<span style="color: #339933;">,</span>s<span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">4</span>^<span style="color: #009900;">&#40;</span>s<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>tt<span style="color: #009900;">&#40;</span>r<span style="color: #339933;">,</span>s<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span>tt<span style="color: #009900;">&#40;</span>r<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>s<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">4</span>^<span style="color: #009900;">&#40;</span>s<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">save</span></a><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'tt.txt'</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">'tt'</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">'-ascii'</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">'-double'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #339933;">%</span> Save the Table
<span style="color: #339933;">%</span> Extract Table Diagonals
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">for</span></a> w<span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">:</span>kk
    diagonal<span style="color: #009900;">&#40;</span>w<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span>tt<span style="color: #009900;">&#40;</span>w<span style="color: #339933;">,</span>w<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">disp</span></a><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'Romberg Table Diagonals:'</span><span style="color: #009900;">&#41;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">disp</span></a><span style="color: #009900;">&#40;</span>diagonal<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">%</span> Output Final Result
cc<span style="color: #339933;">=</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">while</span></a> <a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">abs</span></a><span style="color: #009900;">&#40;</span>diagonal<span style="color: #009900;">&#40;</span>cc<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span>diagonal<span style="color: #009900;">&#40;</span>cc<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&gt;=</span>iter <span style="color: #339933;">||</span> <a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">abs</span></a><span style="color: #009900;">&#40;</span>diagonal<span style="color: #009900;">&#40;</span>cc<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span>diagonal<span style="color: #009900;">&#40;</span>cc<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&gt;=</span>iter
    cc<span style="color: #339933;">=</span>cc<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">disp</span></a><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'The Final Result is:'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">disp</span></a><span style="color: #009900;">&#40;</span>diagonal<span style="color: #009900;">&#40;</span>cc<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a></pre></td></tr></table></div><p>与网上其他程序不同, 我在这里没有做太多的判断, 将二分的次数k作为一个参数手动设定, 是为了观察计算的具体过程. 同时, 为了方便移植, 仅使用最基本的矩阵操作语句, 没有使用 MATLAB 中的 feval() 函数, 要改变被积函数, 直接修改函数体. 最终目的是, 我要取得计算产生的含有<span class='MathJax_Preview'><img src='http://www.road2stat.com/cn/wp-content/plugins/latex/cache/tex_4457b0e2fc3d33294979a989a1dc08e9.gif' style='vertical-align: middle; border: none; ' class='tex' alt="T_m^{(k)}" /></span>的表格, 以方便完成笔头的作业. 懒到一定程度了是不是?<br /> <span id="more-472"></span><br /> 如果我们把前两个作为Example的被积函数注释掉, 计算第三个积分<span class='MathJax_Preview'><img src='http://www.road2stat.com/cn/wp-content/plugins/latex/cache/tex_0870249e58ae0c035ff0d97b6bae428b.gif' style='vertical-align: middle; border: none; ' class='tex' alt="int_0^3 xsqrt{1+x^2},dx" /></span>, 设定iter=1e-6, 将 k 值提高至23, 输入语句 romberg(0, 3, 23, 1e-6), 将会华丽地出现如下错误：</p><p><code>Out of memory. Type HELP MEMORY for your options.</code></p><p>这是因为, 变步长梯形法的递推公式<br /><p style='text-align:center;'><span class='MathJax_Preview'><img src='http://www.road2stat.com/cn/wp-content/plugins/latex/cache/tex_8290fc0e66eacbbb34efc4162fe65dca.gif' style='vertical-align: middle; border: none;' class='tex' alt="T_{2n}=frac{1}{2}T_n+frac{h}{2}sum_{k=0}^{n-1}f(x_{k+frac{1}{2}})" /></span></p><br /> 在懒人版的 trapestep() 函数中实现时, 将直接去生成一个 k 行, 2^(k-1) 列的矩阵. 而 2^(23-1)=4194304, MATLAB 觉得似乎没那么大的内存来生成一个有着四百万列的矩阵(64位版本未测).</p><p>好, 大不了不生成了, 改掉上面完全不管内存的写法, 特别是改写 25-27 行的 for 循环:</p><div class="wp_codebox_msgheader wp_codebox_hide"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left2">Download <a href="http://www.road2stat.com/cn/wp-content/plugins/wp-codebox/wp-codebox.php?p=472&amp;download=romberg2.m">romberg2.m</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p4728"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
</pre></td><td class="code" id="p472code8"><pre class="scilab" style="font-family:monospace;"><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000000; font-weight: bold;">function</span></a> <span style="color: #009900;">&#91;</span> <span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> romberg2<span style="color: #009900;">&#40;</span>aa<span style="color: #339933;">,</span> bb<span style="color: #339933;">,</span> kk<span style="color: #339933;">,</span> iter<span style="color: #009900;">&#41;</span>
<span style="color: #339933;">%</span> Romberg Integral Method
<span style="color: #339933;">%</span> Coded by Nan.Xiao <span style="color: #cc66cc;">2010</span><span style="color: #339933;">-</span>05<span style="color: #339933;">-</span><span style="color: #cc66cc;">23</span>
<span style="color: #339933;">%</span> Step <span style="color: #cc66cc;">1</span>. Calc TrapeStep
<span style="color: #339933;">%</span> Step <span style="color: #cc66cc;">2</span>. Calc Romberg Method
<span style="color: #339933;">%</span> Step <span style="color: #cc66cc;">3</span>. Extract Diagnal <span style="color: #339933;">&amp;</span> Output
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000000; font-weight: bold;">function</span></a> <span style="color: #009900;">&#91;</span> <span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> trapestep2<span style="color: #009900;">&#40;</span>a<span style="color: #339933;">,</span> b<span style="color: #339933;">,</span> k<span style="color: #009900;">&#41;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">format</span></a> long
      <a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000000; font-weight: bold;">function</span></a> y <span style="color: #339933;">=</span> f<span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span>
          y<span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">/</span><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">sqrt</span></a><span style="color: #009900;">&#40;</span>pi<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">exp</span></a><span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span>x<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a>
<span style="color: #339933;">%</span>     Examples Can Also Be<span style="color: #339933;">:</span>
<span style="color: #339933;">%</span>     <a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000000; font-weight: bold;">function</span></a> y <span style="color: #339933;">=</span> f<span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span>
<span style="color: #339933;">%</span>         y<span style="color: #339933;">=</span>x.<span style="color: #339933;">*</span><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">sin</span></a><span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">%</span>     <a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a>
<span style="color: #339933;">%</span>     Or
<span style="color: #339933;">%</span>     <a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000000; font-weight: bold;">function</span></a> y <span style="color: #339933;">=</span> f<span style="color: #009900;">&#40;</span>x<span style="color: #009900;">&#41;</span>
<span style="color: #339933;">%</span>         y<span style="color: #339933;">=</span>x<span style="color: #339933;">*</span><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">sqrt</span></a><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">+</span>x.^<span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">%</span>     <a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a>
temp<span style="color: #339933;">=</span><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">zeros</span></a><span style="color: #009900;">&#40;</span>k<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
t<span style="color: #339933;">=</span><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">zeros</span></a><span style="color: #009900;">&#40;</span>k<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">for</span></a> i<span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">:</span>k
    <a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">for</span></a> j<span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">:</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span>^<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    temp<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span>temp<span style="color: #009900;">&#40;</span>i<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>f<span style="color: #009900;">&#40;</span>a<span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">*</span>j<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>b<span style="color: #339933;">-</span>a<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span>^i<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a>
mysum<span style="color: #339933;">=</span>temp<span style="color: #339933;">;</span>
t<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0.5</span><span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>f<span style="color: #009900;">&#40;</span>a<span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>f<span style="color: #009900;">&#40;</span>b<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">for</span></a> q<span style="color: #339933;">=</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">:</span>k<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span>
    t<span style="color: #009900;">&#40;</span>q<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0.5</span><span style="color: #339933;">*</span>t<span style="color: #009900;">&#40;</span>q<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>b<span style="color: #339933;">-</span>a<span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>mysum<span style="color: #009900;">&#40;</span>q<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">2</span>^<span style="color: #009900;">&#40;</span>q<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a>
    <a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">format</span></a> long
trapestep2<span style="color: #009900;">&#40;</span>aa<span style="color: #339933;">,</span> bb<span style="color: #339933;">,</span> kk<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
diagonal<span style="color: #339933;">=</span><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">zeros</span></a><span style="color: #009900;">&#40;</span>kk<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
tt<span style="color: #339933;">=</span><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">zeros</span></a><span style="color: #009900;">&#40;</span>kk<span style="color: #339933;">,</span>kk<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">for</span></a> v<span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">:</span>kk
    tt<span style="color: #009900;">&#40;</span>v<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span>t<span style="color: #009900;">&#40;</span>v<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">for</span></a> r<span style="color: #339933;">=</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">:</span>kk
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">for</span></a> s<span style="color: #339933;">=</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">:</span>r
    tt<span style="color: #009900;">&#40;</span>r<span style="color: #339933;">,</span>s<span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">4</span>^<span style="color: #009900;">&#40;</span>s<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>tt<span style="color: #009900;">&#40;</span>r<span style="color: #339933;">,</span>s<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span>tt<span style="color: #009900;">&#40;</span>r<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span>s<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">4</span>^<span style="color: #009900;">&#40;</span>s<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">save</span></a><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'tt.txt'</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">'tt'</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">'-ascii'</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">'-double'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #339933;">%</span> Save the Table
<span style="color: #339933;">%</span> Extract Table Diagonals
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">for</span></a> w<span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">:</span>kk
    diagonal<span style="color: #009900;">&#40;</span>w<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">=</span>tt<span style="color: #009900;">&#40;</span>w<span style="color: #339933;">,</span>w<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">disp</span></a><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'Romberg Table Diagonals:'</span><span style="color: #009900;">&#41;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">disp</span></a><span style="color: #009900;">&#40;</span>diagonal<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">%</span> Output Final Result
cc<span style="color: #339933;">=</span><span style="color: #cc66cc;">2</span><span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">while</span></a> <a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">abs</span></a><span style="color: #009900;">&#40;</span>diagonal<span style="color: #009900;">&#40;</span>cc<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span>diagonal<span style="color: #009900;">&#40;</span>cc<span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&gt;=</span>iter <span style="color: #339933;">||</span> <a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">abs</span></a><span style="color: #009900;">&#40;</span>diagonal<span style="color: #009900;">&#40;</span>cc<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span>diagonal<span style="color: #009900;">&#40;</span>cc<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&gt;=</span>iter
    cc<span style="color: #339933;">=</span>cc<span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">disp</span></a><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'The Final Result is:'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">disp</span></a><span style="color: #009900;">&#40;</span>diagonal<span style="color: #009900;">&#40;</span>cc<span style="color: #339933;">,</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #b1b100;">end</span></a></pre></td></tr></table></div><p>理论上只要CPU时间足够, 这样做基本上可以得出正确结果. 我们需要的计算过程保存在 tt.txt 中.</p><p>写这个小函数的时候, 还遇到了一个有意思的事情. 在使用 while 语句判断哪个是最终积分结果时, 不仅要与前一项作差, 还要与后一项作差, 否则, 一旦遇到前两项之差较小, 但与真实值相差很大的情况时将判断失误. 试一下第二个被积函数就知道了. 计算过程大致是这样的:</p><p><code><br /> -0.000000000000001<br /> 0.000000000000001<br /> -7.018385351885766<br /> -6.266954014124826<br /> -6.283266463460164<br /> -6.283185210826781<br /> -6.283185307207264<br /> -6.283185307179584</p><p> ......</code></p><p>如果作的是前一种简单判断, 显然将输出 0.000000000000001 作为最终积分结果.</p><p>如果你有兴趣的话, 这里附上一份 <a href="http://www.road2stat.com/cn/attachments/2010/05/romberg.pdf">Dirty Work</a>.</p><p>写程序是一门艺术, 而不仅仅是一门技术(又有几人能够达到大神的Literate Programming境界呢？), 在这方面, 用一句名言来形容一下自己, 仍然是 Too simple, sometimes naive.</p> ]]></content:encoded> <wfw:commentRss>http://www.road2stat.com/cn/mathematics/time_and_space_complexity_of_algorithms.html/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>In god we trust, or in love?</title><link>http://www.road2stat.com/cn/mathematics/in_god_we_trust_or_in_love.html</link> <comments>http://www.road2stat.com/cn/mathematics/in_god_we_trust_or_in_love.html#comments</comments> <pubDate>Mon, 08 Feb 2010 19:17:15 +0000</pubDate> <dc:creator>Xiao Nan</dc:creator> <category><![CDATA[数字之美]]></category> <category><![CDATA[3D]]></category> <category><![CDATA[Cardioid]]></category> <category><![CDATA[heart]]></category> <category><![CDATA[love]]></category> <category><![CDATA[MATLAB]]></category> <category><![CDATA[Visualization]]></category> <category><![CDATA[三维]]></category> <category><![CDATA[可视化]]></category> <category><![CDATA[心形]]></category> <category><![CDATA[心形线]]></category> <category><![CDATA[绘图]]></category> <category><![CDATA[隐函数]]></category><guid isPermaLink="false">http://www.road2stat.com/cn/?p=375</guid> <description><![CDATA[You don't have to believe in God, but you should believe in The Book. &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;——P. Erdos 即日启程, 在接下来几天没有网络的日子里, 我深信亲情能够温暖人心. 临行前突然又想写点东西. 标题的前半句出自《圣经》, 后半句与本文有点关系, 似乎还是王小帅一部电影的英文名. 中间还少了一环, 这环就是数学. 大神P.Erdos[1] 不太相信上帝, 但他相信世界上有一本超穷的“天书”(The Book), 那里包含了所有数学定理最简洁、最漂亮、最优雅的证明. 他对一个证明的最高赞誉就是: It is from The Book! 按照God→Math→Love的逻辑, 爱亦应有自己的数学表述. 有了数学表述自然要可视化一下. 笛卡尔心形线令人心碎的爱情故事不知其真实程度, &#8230; <a href="http://www.road2stat.com/cn/mathematics/in_god_we_trust_or_in_love.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p style="text-align: center;"><em>You don't have to believe in God, but you should believe in The Book.</em></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;——P. Erdos</p><p>即日启程, 在接下来几天没有网络的日子里, 我深信亲情能够温暖人心. 临行前突然又想写点东西. 标题的前半句出自《圣经》, 后半句与本文有点关系, 似乎还是王小帅一部电影的英文名. 中间还少了一环, 这环就是数学. 大神P.Erdos[1] 不太相信上帝, 但他相信世界上有一本超穷的“天书”(The Book), 那里包含了所有数学定理最简洁、最漂亮、最优雅的证明. 他对一个证明的最高赞誉就是:</p><p style="text-align: center;"><em>It is from The Book!</em></p><p>按照God→Math→Love的逻辑, 爱亦应有自己的数学表述. 有了数学表述自然要可视化一下. 笛卡尔心形线令人心碎的爱情故事不知其真实程度, 不过确实够浪漫的. 不过这隐函数都学完了还画心形线就太out了, 今天咱也浪漫一把, 画个隐函数方程生成的三维心. 不知此图能否有幸入选The Book的图形部分?</p><p><a href="http://www.road2stat.com/cn/attachments/2010/02/MATLAB_3D_heart.png"><img class="aligncenter size-full wp-image-376" title="MATLAB_3D_heart" src="http://www.road2stat.com/cn/attachments/2010/02/MATLAB_3D_heart.png" alt="MATLAB_3D_heart" width="490" height="400" /></a></p><p style="text-align: center;">图1: MATLAB生成三维心形</p><p>原始方程:</p><p><a href="http://www.road2stat.com/cn/attachments/2010/02/MATLAB_3D_heart_formula.png"><img class="aligncenter size-full wp-image-377" title="MATLAB_3D_heart_formula" src="http://www.road2stat.com/cn/attachments/2010/02/MATLAB_3D_heart_formula.png" alt="MATLAB_3D_heart_formula" width="400" height="95" /></a><br /> 自己画一个?</p><div class="wp_codebox_msgheader wp_codebox_hide"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p375code10'); return false;">View Code</a> SCILAB</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p37510"><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code" id="p375code10"><pre class="scilab" style="font-family:monospace;"><span style="color: #009900;">&#91;</span>x<span style="color: #339933;">,</span>y<span style="color: #339933;">,</span>z<span style="color: #009900;">&#93;</span><span style="color: #339933;">=</span><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">meshgrid</span></a><span style="color: #009900;">&#40;</span><a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">linspace</span></a><span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">3</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">3</span><span style="color: #339933;">,</span><span style="color: #cc66cc;">120</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
f<span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span>x.^<span style="color: #cc66cc;">2</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">9</span><span style="color: #339933;">*</span>y.^<span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span>.<span style="color: #339933;">/</span><span style="color: #cc66cc;">4</span><span style="color: #339933;">+</span>z.^<span style="color: #cc66cc;">2</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>.^<span style="color: #cc66cc;">3</span><span style="color: #339933;">-</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">9</span><span style="color: #339933;">*</span>y.^<span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span>.<span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>z.^<span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>.<span style="color: #339933;">/</span><span style="color: #cc66cc;">80</span><span style="color: #339933;">-</span><span style="color: #009900;">&#40;</span>x.^<span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span>.<span style="color: #339933;">*</span><span style="color: #009900;">&#40;</span>z.^<span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
p<span style="color: #339933;">=</span>patch<span style="color: #009900;">&#40;</span>isosurface<span style="color: #009900;">&#40;</span>x<span style="color: #339933;">,</span>y<span style="color: #339933;">,</span>z<span style="color: #339933;">,</span>f<span style="color: #339933;">,</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<a href="http://www.scilab.org/product/dic-mat-sci/M2SCI_doc.htm"><span style="color: #000066;">set</span></a><span style="color: #009900;">&#40;</span>p<span style="color: #339933;">,</span> <span style="color: #ff0000;">'FaceColor'</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">'r'</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">'EdgeColor'</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">'n'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
daspect<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span> <span style="color: #cc66cc;">1</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>view<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>camlight<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'right'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>lighting phong</pre></td></tr></table></div><p>[1] P.Erdos (1913-1996), 当代最伟大的数学家之一, 他一生中同485位合作者发表了<strong>1475</strong>篇数学论文. Erdos的研究领域主要是数论和组合数学, 但他的论文中涵盖的学科有逼近论、初等几何、集合论、概率论、数理逻辑、格与序代数结构、线性代数、群论、拓扑群、多项式、测度论、单复变函数、差分方程与函数方程、数列、Fourier分析、泛函分析、一般拓扑、代数拓扑、<strong>统计</strong>、数值分析、计算机科学、信息论等等. 美国数学学会(AMS)的《数学评论》杂志曾把数学划分为约六十个分支, Erdos的论文涉及了约40%.</p><p>斯人已逝, 思想长存.</p><p style="text-align: right;">2010年春节前</p><p style="text-align: right;">雪夜哈尔滨</p> ]]></content:encoded> <wfw:commentRss>http://www.road2stat.com/cn/mathematics/in_god_we_trust_or_in_love.html/feed</wfw:commentRss> <slash:comments>10</slash:comments> </item> <item><title>望生塔</title><link>http://www.road2stat.com/cn/mathematics/a_faith_tower_and_choices.html</link> <comments>http://www.road2stat.com/cn/mathematics/a_faith_tower_and_choices.html#comments</comments> <pubDate>Tue, 16 Jun 2009 08:48:52 +0000</pubDate> <dc:creator>Xiao Nan</dc:creator> <category><![CDATA[数字之美]]></category> <category><![CDATA[F22]]></category> <category><![CDATA[Lockheed Martin]]></category> <category><![CDATA[中南]]></category> <category><![CDATA[卷土重来]]></category> <category><![CDATA[变形金刚]]></category> <category><![CDATA[宿命]]></category> <category><![CDATA[望生塔]]></category> <category><![CDATA[望生塔上的歌]]></category> <category><![CDATA[超音速巡航]]></category> <category><![CDATA[选专业]]></category> <category><![CDATA[选择]]></category> <category><![CDATA[顾术理]]></category><guid isPermaLink="false">http://www.road2stat.com/cn/?p=120</guid> <description><![CDATA[顾术理，在上海复兴中学上高三时参加了新概念作文比赛，写了一篇文章，《望生塔上的歌》，不见太多技巧，记忆犹新，摘录其中一节如下： 八十年的车票 梦中，我上了一列火车，在车上遇到一位白胡子老人。我问老人：“这列火车开往何方？” 老人说：“终点站。” 我又问：“还有多久能到终点？” 老人说：“我快到了，你还有六十多年。” “六十多年？”我惊讶地问。 老人说：“每个人都拿着一张火车票，期限都是八十年。” “那我可以中途下车吗？”我问。 老人笑着说：“可以，路途中有无数站，你可以从任何一站下去，从任何一站上来，也可以换车，但这些车都开往同一个终点。” 我好奇地问：“您去过多少个站？还想去哪些站？” 老人笑笑：“这个问题我从来不想，我乘车时，总是看见话多乘客一直在问这个问题，根本没有注意到时间就这样逝去，一转眼便到了终点。他们总是背负着过去，期盼着未来，却偏偏忘记了现在。” “您老是说乘车时不问前程后路，只问是否活在当时？”我问。 老人微笑颔首。 我要在中途一站下车了，老人抚摸着胡子笑道：“记住，不要握着车票在站台上前瞻后顾，登上一列你认为应该上的火车。否则，你会错过沿途许多美丽的风景。 否则，你会错过沿途许多美丽的风景。 寓言式的答案。 就像选专业吧，两个都不错，各有长处，各有短板。让自己纠结了好一阵子。让命运来决定，也许是一个不错的想法，但是也有了一些宿命论的味道。联想到自己现在的状态，确实说的太多，做得太少，没了高中时那么明确的目标。总是想，是时候踏踏实实做一些事情了，可什么时候是时候呢？比如刚刚考完的数学分析，闭区间单调必可积。作为一个人，我们时刻都要做出选择，都有做出选择的权利，现在有的选择，那时没的选择。但是有的选不一定就比没的选好出许多。就像你把单选题的选项全部排除那么鱼闷。选择的意义何在？《The Matrix》表达了一种选择论和因果论相调和的观点。设计者Architect和先知，同Zion里的人类还有Matrix一样，都无法参透选择的奥妙。正如 我们曾经无话不说，所以现在无话可说。就让C++程序设计基础来的更猛烈些吧。 不过有一个基本点倒是让人欣慰，既然做出了选择，做下去总没有错了。在挫折和斗志重燃的过程中建立起自己对人生的一点思考，也不是很坏呀。就像Weierstrass把分析严密化的过程，很吐很不开心，但是结果很美。确实，美是唯一标准。 看到Revenge of the Fallen的OST出来了，《New Divide》of Linkin，虽然有点单纯延续前作之嫌，也无妨让我们一起Across This New Divide. 2009年6月24日，见证Michael Bay这小子的坏笑。 Lockheed Martin公司生产的F22 Raptor，第四代战机。成本1.377亿美元/架，气动外形设计先进，拥有超音速巡航能力。 （本文最初发表于xiaonei.com）]]></description> <content:encoded><![CDATA[<p>顾术理，在上海复兴中学上高三时参加了新概念作文比赛，写了一篇文章，《望生塔上的歌》，不见太多技巧，记忆犹新，摘录其中一节如下：</p><blockquote><p style="text-align: left;">八十年的车票</p><p style="text-align: left;">梦中，我上了一列火车，在车上遇到一位白胡子老人。我问老人：“这列火车开往何方？”</p><p style="text-align: left;">老人说：“终点站。”</p><p style="text-align: left;">我又问：“还有多久能到终点？”</p><p style="text-align: left;">老人说：“我快到了，你还有六十多年。”</p><p style="text-align: left;">“六十多年？”我惊讶地问。</p><p style="text-align: left;">老人说：“每个人都拿着一张火车票，期限都是八十年。”</p><p style="text-align: left;">“那我可以中途下车吗？”我问。<br /> 老人笑着说：“可以，路途中有无数站，你可以从任何一站下去，从任何一站上来，也可以换车，但这些车都开往同一个终点。”</p><p style="text-align: left;">我好奇地问：“您去过多少个站？还想去哪些站？”</p><p style="text-align: left;">老人笑笑：“这个问题我从来不想，我乘车时，总是看见话多乘客一直在问这个问题，根本没有注意到时间就这样逝去，一转眼便到了终点。他们总是背负着过去，期盼着未来，却偏偏忘记了现在。”</p><p style="text-align: left;">“您老是说乘车时不问前程后路，只问是否活在当时？”我问。</p><p style="text-align: left;">老人微笑颔首。<br /> 我要在中途一站下车了，老人抚摸着胡子笑道：“记住，不要握着车票在站台上前瞻后顾，登上一列你认为应该上的火车。否则，你会错过沿途许多美丽的风景。</p><p style="text-align: left;"></blockquote><p>否则，你会错过沿途许多美丽的风景。 寓言式的答案。</p><p style="text-align: center;"><img class="size-full wp-image-121 aligncenter" title="life_and_bottle" src="http://www.road2stat.com/cn/attachments/2009/11/b_11476a017016.jpg" alt="life_and_bottle" width="500" height="496" /></p><p style="text-align: center;"><p>就像选专业吧，两个都不错，各有长处，各有短板。让自己纠结了好一阵子。让命运来决定，也许是一个不错的想法，但是也有了一些宿命论的味道。联想到自己现在的状态，确实说的太多，做得太少，没了高中时那么明确的目标。总是想，是时候踏踏实实做一些事情了，可什么时候是时候呢？比如刚刚考完的数学分析，闭区间单调必可积。作为一个人，我们时刻都要做出选择，都有做出选择的权利，现在有的选择，那时没的选择。但是有的选不一定就比没的选好出许多。就像你把单选题的选项全部排除那么鱼闷。选择的意义何在？《The Matrix》表达了一种选择论和因果论相调和的观点。设计者Architect和先知，同Zion里的人类还有Matrix一样，都无法参透选择的奥妙。正如 我们曾经无话不说，所以现在无话可说。就让C++程序设计基础来的更猛烈些吧。</p><p style="text-align: center;"><img class="size-full wp-image-122 aligncenter" title="pencil_and_choices" src="http://www.road2stat.com/cn/attachments/2009/11/b_11582g017018.jpg" alt="pencil_and_choices" width="357" height="500" /></p><p style="text-align: center;"><p>不过有一个基本点倒是让人欣慰，既然做出了选择，做下去总没有错了。在挫折和斗志重燃的过程中建立起自己对人生的一点思考，也不是很坏呀。就像Weierstrass把分析严密化的过程，很吐很不开心，但是结果很美。确实，美是唯一标准。</p><p>看到Revenge of the Fallen的OST出来了，《New Divide》of Linkin，虽然有点单纯延续前作之嫌，也无妨让我们一起Across This New Divide. 2009年6月24日，见证Michael Bay这小子的坏笑。</p><p style="text-align: center;"><img class="size-full wp-image-123 aligncenter" title="lockheed_martin_F22" src="http://www.road2stat.com/cn/attachments/2009/11/b_12332m017013.jpg" alt="lockheed_martin_F22" width="500" height="333" /></p><p style="text-align: center;"><p>Lockheed Martin公司生产的F22 Raptor，第四代战机。成本1.377亿美元/架，气动外形设计先进，拥有超音速巡航能力。</p><p>（本文最初发表于xiaonei.com）</p> ]]></content:encoded> <wfw:commentRss>http://www.road2stat.com/cn/mathematics/a_faith_tower_and_choices.html/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>空间解析的老师实在是很nice～</title><link>http://www.road2stat.com/cn/mathematics/nice_teacher_of_space_analytic_geometry.html</link> <comments>http://www.road2stat.com/cn/mathematics/nice_teacher_of_space_analytic_geometry.html#comments</comments> <pubDate>Tue, 23 Sep 2008 01:01:23 +0000</pubDate> <dc:creator>Xiao Nan</dc:creator> <category><![CDATA[数字之美]]></category> <category><![CDATA[nice]]></category> <category><![CDATA[中南]]></category> <category><![CDATA[空间解析几何]]></category> <category><![CDATA[老师]]></category><guid isPermaLink="false">http://www.road2stat.com/cn/?p=67</guid> <description><![CDATA[第一节课刚下课，我就迫不及待写个小日志赞一下何伟老师，在第一堂课上，讲到了数学建模，图片数字化，MATLAB，矩阵，集合论的危机，范畴论，控制论，自动化，小孔成像 .. 爱死你了！ 第二节课又讲到了三次数学危机，拓扑，博弈论，纳什平衡，公理化数学，陈省身，吴文俊，非欧几何，泰勒公式，逻辑，量变质变，泛函分析！哈哈，巨合俺的口味！ （本文最初发表于xiaonei.com）]]></description> <content:encoded><![CDATA[<p>第一节课刚下课，我就迫不及待写个小日志赞一下何伟老师，在第一堂课上，讲到了数学建模，图片数字化，MATLAB，矩阵，集合论的危机，范畴论，控制论，自动化，小孔成像 ..<br /> 爱死你了！</p><p>第二节课又讲到了三次数学危机，拓扑，博弈论，纳什平衡，公理化数学，陈省身，吴文俊，非欧几何，泰勒公式，逻辑，量变质变，泛函分析！哈哈，巨合俺的口味！</p><p>（本文最初发表于xiaonei.com）</p> ]]></content:encoded> <wfw:commentRss>http://www.road2stat.com/cn/mathematics/nice_teacher_of_space_analytic_geometry.html/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
