<?xml version="1.0" encoding="utf-8" ?>
<!-- generator="FEEDCREATOR_VERSION" -->
<rss version="2.0" xmlns:sns="http://blog.sina.com.cn/sns">
    <channel>
        <title>曾是惊鸿照影来</title>
        <description></description>
        <link>http://blog.sina.com.cn/noncloudfly</link>
        <lastBuildDate>Thu, 31 Dec 2009 07:33:08 GMT+8</lastBuildDate>
        <generator>FEEDCREATOR_VERSION</generator>
        <language>zh-cn</language>
        <copyright>Copyright 1996 - 2009 SINA Inc. All Rights Reserved.</copyright>
        <pubDate>Wed, 30 Dec 2009 23:33:08 GMT+8</pubDate>
        <item>
            <title>回家</title>
            <link>http://blog.sina.com.cn/s/blog_49d77e6301008byu.html</link>
            <description><![CDATA[<div>想不到今年回家这么难</DIV>
<div>百年难遇的大雪把江西和湖南段的铁路完全搞瘫痪</DIV>
<div>k149连续三四天停开</DIV>
<div>而今天又开始下大雪了</DIV>
<div>估计大年初一之前是回不去的了</DIV>
<div>希望这场雪快点下完</DIV>
<div>铁路早点畅通</DIV>
<div>要是能在初三前能回去就好了</DIV>
<div>毕竟一年没有回去了</DIV>
<div>爷爷奶奶小侄子等都非常希望我回去.....</DIV>
<div>哎</DIV>
<div>流年不利</DIV>
<div>还是说点有趣的吧</DIV>
<div>&nbsp;</DIV>
<div>Episode 1 ---人算不如天算</DIV>
<div>&nbsp;</DIV>
<div>上交大那几个老乡好不容易买到1.25号回家的火车票</DIV>
<div>那个高兴啊</DIV>
<div>特别是那个小笨孩学妹Z更是开心的不得了</DIV>
<div>25好早上8点50分的车</DIV>
<div>Z早早就一个人到了南站等着了</DIV>
<div>大概七点多就到了</DIV>
<div>票是一起买的</DIV>
<div>几张票都在买票的那个老乡手上</DIV>
<div>Z是医学校区的</DIV>
<div>其他几个老乡不是</DIV>
<div>这个几小子可能觉得宿舍离南站近</DIV>
<div>不想起床太早</DIV>
<div>睡个懒觉</DIV>
<div>时间算好的了</DIV>
<div>就在开车前几分钟到就是了</DIV>
<div>不想在候车室浪费时间</DIV>
<div>可是人算不如天算</DIV>
<div>当这几个男生出现在南站的时候</DIV>
<div>看到的是</DIV>
<div>徐徐渐行渐远的k149</DIV>
<div>和仰天大哭的Z君</DIV>
<div>那个哭声和当年孟姜女哭长城一样</DIV>
<div>撕心裂肺</DIV>
<div>肝肠寸断</DIV>
<div>见者落泪</DIV>
<div>闻者心碎</DIV>
<div>她伤心她无奈她后悔</DIV>
<div>伤心那些那票的老乡没有及时来到会车站</DIV>
<div>无奈地看着k149慢慢的启动和离去</DIV>
<div>后悔当初没去把自己的票拿过来自己保管</DIV>
<div>&nbsp;</DIV>
<div>Episode 2 ----做人还是细心点的好</DIV>
<div>这还是和交大人有关</DIV>
<div>不过是西安交大的</DIV>
<div>上交西交</DIV>
<div>三十年河西</DIV>
<div>三十年河东</DIV>
<div>以前西风压东风</DIV>
<div>现在东风压西风</DIV>
<div>本是同根生</DIV>
<div>.....</DIV>
<div>哎</DIV>
<div>扯远了</DIV>
<div>原归正传</DIV>
<div>西交大的老乡朱</DIV>
<div>这次来上海面试</DIV>
<div>叫朋友买好25好回去的票了</DIV>
<div>24号面试完25号就走人的</DIV>
<div>25号早上他屁踮屁踮地就去南站坐车回家了</DIV>
<div>好不容易检了票</DIV>
<div>进了站</DIV>
<div>上了车</DIV>
<div>放了行李</DIV>
<div>躺在舒适的床铺上等着火车开动了</DIV>
<div>突然上来一个人</DIV>
<div>跟他是同一个床铺的</DIV>
<div>床铺冲突了</DIV>
<div>怎么办呢</DIV>
<div>当然是大家拿票出来对一下了</DIV>
<div>这一对票</DIV>
<div>惨了</DIV>
<div>床位号没错</DIV>
<div>但时间有问题了</DIV>
<div>朱这才发现自己的票是31号的</DIV>
<div>而不是25号的</DIV>
<div>这人咋就这么搞呢</DIV>
<div>拿了票也不看看票上写的车次和日期对不对</DIV>
<div>就直接去坐车了</DIV>
<div>比上面那几个上交大的老乡还有搞</DIV>
<div>莫非今年是交大玉林老乡的搞笑年</DIV>
<div>&nbsp;</DIV>
<div>Episode 3 漫漫回家路</DIV>
<div>老乡Q</DIV>
<div>28号的火车</DIV>
<div>31号下午才到家</DIV>
<div>火车因为江西湖南段被冰雪瘫痪而在路上多滞留了两天</DIV>
<div>幸好他有先见之明</DIV>
<div>料到会晚点</DIV>
<div>故多带了很多吃的在车上</DIV>
<div>因此没有饿着或者渴着</DIV>
<div>就是在火车上多睡了两天而已</DIV>
<div>八十小时的火车</DIV>
<div>我想都不敢想</DIV>
<div>那些坐票或者是站票的同志们</DIV>
<div>不只是如何度过这漫长的八十小时的</DIV>
<div>而且有一大部分时间是没水没电的</DIV>
<div>人间炼狱啊</DIV>
<div>&nbsp;</DIV>
<div>&nbsp;</DIV>
<div>&nbsp;</DIV>
]]></description>
            <author>cloudfly</author>
            <comments>http://blog.sina.com.cn/s/blog_49d77e6301008byu.html#comment</comments>
            <pubDate>Fri, 01 Feb 2008 14:31:56 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_49d77e6301008byu.html</guid>
        </item>
        <item>
            <title>我爱周杰伦</title>
            <link>http://blog.sina.com.cn/s/blog_49d77e6301000b3x.html</link>
            <description><![CDATA[<div><a HREF="http://album.sina.com.cn/pic/49d77e6343f7cade0eee8" TARGET="_blank"><img SRC="http://album.sina.com.cn/pic_3/49d77e6343f7cade0eee8" BORDER="0"></IMG></A></DIV>
<div>&nbsp;</DIV>
<div>
&nbsp;&nbsp;&nbsp;&nbsp;
我心爱的Jay Chou</DIV>
<div>&nbsp;</DIV>
<div>
&nbsp;&nbsp;&nbsp;&nbsp;
虽然你灵魂出窍，</DIV>
<div>
&nbsp;&nbsp;&nbsp;&nbsp;
化作牛身！</DIV>
<div>
&nbsp;&nbsp;&nbsp;&nbsp;
但你那高傲的眼神，</DIV>
<div>
&nbsp;&nbsp;&nbsp;&nbsp;
修长的脸蛋，</DIV>
<div>
&nbsp;&nbsp;&nbsp;&nbsp;
还有那独一无二的mouth,</DIV>
<div>
&nbsp;&nbsp;&nbsp;&nbsp;
都深深地出卖了你！</DIV>
<div>
&nbsp;&nbsp;&nbsp;&nbsp;
你就像漆黑中的萤火虫，</DIV>
<div>
&nbsp;&nbsp;&nbsp;&nbsp;
那样鲜明！</DIV>
<div>
&nbsp;&nbsp;&nbsp;&nbsp;
那样出众！</DIV>
<div>
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;</DIV>
]]></description>
            <author>cloudfly</author>
            <comments>http://blog.sina.com.cn/s/blog_49d77e6301000b3x.html#comment</comments>
            <pubDate>Thu, 22 Nov 2007 03:58:37 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_49d77e6301000b3x.html</guid>
        </item>
        <item>
            <title>中韩会议——班师回朝</title>
            <link>http://blog.sina.com.cn/s/blog_49d77e6301000azo.html</link>
            <description><![CDATA[<DIV ALIGN="center">&nbsp;（五）班师回朝</DIV>
<P>&nbsp;&nbsp;&nbsp;
在返回上海的途中，我们顺便游玩了一下新安江，号称江南小三峡，水质不行，混浊不堪，水流不急，真不知道为什么被称为小三峡的，也许是古时候，这里的水流较急吧，不然当年伍子胥也不需要那个老渔夫送他过江了，今天也就没有“胥江野渡”这个景点了。两岸都是郁郁葱葱的树木，这天天色不太好，没有白天蓝云，否则的话，景色会更好看点。</P>
<P>&nbsp;&nbsp;
上岸后，爬了个小山丘，看看那个所谓的“葫芦飞瀑”，这些所谓的景点都是名字取得玄乎又玄，引人入胜，要真到那里了，也就那么回事，没有啥好看的。叫毛毛拍了几张照片做留念，证明老子曾经到此一游。</P>
<P>&nbsp;&nbsp;&nbsp;
回上海的车上，还是和过来时候一样——打牌消遣时光，不过这次打的是固定队友的，我和戴靓仔对家，不过把人家高人给拖累坏了，我们被裴氏传人打得体无完肤，惶惶若丧假之犬，我们想投降都no
way，他们一定要慢慢地把我们折磨到死，简直就是没人性啊，现在我终于明白为什么美国老说我国没有人权了。</P>
<P>&nbsp;&nbsp;
嘉兴小便期间，杨老师给大家买了些粽子，每人五个，很赞啊！这些粽子放在lab402的冰箱里面，是后来几天我的夜宵。</P>
<P>&nbsp;&nbsp;
回到学校后，大家去国定365搓了一顿再回宿舍休息。</P>
]]></description>
            <author>cloudfly</author>
            <comments>http://blog.sina.com.cn/s/blog_49d77e6301000azo.html#comment</comments>
            <pubDate>Mon, 05 Nov 2007 14:10:19 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_49d77e6301000azo.html</guid>
        </item>
        <item>
            <title>中韩会议——建德激战</title>
            <link>http://blog.sina.com.cn/s/blog_49d77e6301000azn.html</link>
            <description><![CDATA[<DIV>&nbsp;
<P ALIGN="center">（四）建德激战</P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;
周一早上六点二十分我就醒了，其实由于紧张过度，基本是彻夜未眠。起床后，洗个澡，然后再整理整理就下去吃早餐，八点左右开会去了。</P>
<P>&nbsp;&nbsp;&nbsp; Coffee
break之前我是听别人讲，不过也是身在曹营心在汉了，哪能听得进去啊，都在想着自己的讲稿。本来还以为report时可以拿个讲稿看看呢，后来发现情况不允许，因为一个手得拿话筒，一个手得拿激光笔。Coffee
break之后，第三个是我，没办法，硬着头皮上了，死就死，怕什么啊。说实话，开讲之前很紧张的，”good
morning……”之后，就一点都不怕了，感觉就跟下面没有人似的，我就是不停的blablabla…….,主持人提醒我还有一分钟时候，我刚好结束，时间还挺凑巧的，不过就是英语太烂，说起来不连贯，发音带广西口音。可能是下面的人也没有听懂，所以也没有什么问题，就那个最爱提问题的韩国人问了我个问题，后来一个问题也被这个家伙帮我回答了，Over了！解放了！之后就是认认真真的听别人讲了。</P>
<P>&nbsp;&nbsp;&nbsp;
说真的，参加这种会议还是挺有好处的，可以了解到当前光学的研究领域，和大家的研究兴趣所在，开阔了视野，不仅仅局限于自己实验室那几个课题。</P>
<P>&nbsp;&nbsp;
下午有个poster。做poster的同学终于出场了，我也就转了一圈而已，没怎么认真看。吃点点心，喝喝coffee，跟导游小姐瞎侃了一下。</P>
&nbsp;&nbsp;&nbsp;
星期二早上还有几个report，之后是拍集体照留念。中午饭后，就兵分两路了，一路杀回上海，顺便千岛湖上游的新安江游玩了一趟，另一路人马，主要是韩国人，杀奔黄山胜地。</DIV>
]]></description>
            <author>cloudfly</author>
            <comments>http://blog.sina.com.cn/s/blog_49d77e6301000azn.html#comment</comments>
            <pubDate>Mon, 05 Nov 2007 14:01:26 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_49d77e6301000azn.html</guid>
        </item>
        <item>
            <title>中韩会议——征战途中</title>
            <link>http://blog.sina.com.cn/s/blog_49d77e6301000azl.html</link>
            <description><![CDATA[<DIV>&nbsp;
<P ALIGN="center">（三）征战途中</P>
</DIV>
<DIV>
<P>&nbsp;&nbsp;&nbsp;
整军待发，誓师科学楼。周日下午一点各路人马汇集科学楼门口，车分两辆，人分两群。其中一车是韩国人为主，再加几个中方负责人，陈公，郑公，戴公皆在此列；另一车则全为我炎黄子孙。我就挑了最后面的位子坐下来，然后掏出前一天准备好的ppt讲稿，好生默念，以求第二天在棒子面前少丢点我泱泱中华的脸。</P>
<P>&nbsp;&nbsp;&nbsp;
车开不久，几位同仁，就回后面打牌了，打牌者，裴，戴，徐，毛，杨，皆乃我科学楼五虎将也！这杀得黄沙漫天，刀光剑影，鼓角争鸣，天昏地暗，日月无光，飞沙走石，惊天动地，鬼哭神嚎，惨绝人寰……，看得我是那个惊心动魄，触目惊心，两股颤颤，几欲跳车啊！</P>
<P>&nbsp;&nbsp;&nbsp;
奶牛这小子，不知道是中午吃称了还是怎么地，突然萎靡不振，脸色发白，去休息了，缺一个，没办法，盛情难却，只好菜鸟闯江湖了，在这勾心斗角的棋牌江湖里面，我一个初出茅庐的无名小卒，任人鱼肉，被打得是体无完肤，摇摇欲坠。杨，牌中的千年老妖，横扫光华无敌手，杀人于无形之中；裴，裴氏传人，集牌品人品智慧美貌于一身，江湖人称牌中一枝花，上海滩新赌圣；戴，横扫宁波各赌场，逐鹿上海滩，所谓强龙难压地头蛇；毛，牌品无敌，牌运无双，常常拿到天下无敌的牌。在这个角逐当中，作为菜鸟的我只能指望于傍颗大树好乘凉了，输了我背黑锅，赢了我沾光，亦然然自得矣。</P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;&nbsp;
车开了老半天了，突然司机发现开错了，妈的！刚上车时候，导游小姐还说这是多年的经验丰富的老司机呢，让我们安安心心好了，这不是懵人吗！管它呢，开错了，你就得给我开回去。我们几个无所谓了，继续打牌，恐怕那些没事干的人就没那么爽了。</P>
<P>&nbsp;</P>
<P>&nbsp;&nbsp;
下午六点左右，终于到目的地了，建德市黄龙月亮湾大酒店。大家肚子都饿得不行了，把行李放好后就到餐厅吃饭了。饭局期间，发现那些韩国人英语真他妈的好，心里想明天report丢人了，本来大家都说韩国人英语不行，心里还挺踏实的，可今天遇到的都是牛人，惨了！吃完饭后，急忙借小潘的电脑回房间再准备准备……</P>
</DIV>
]]></description>
            <author>cloudfly</author>
            <comments>http://blog.sina.com.cn/s/blog_49d77e6301000azl.html#comment</comments>
            <pubDate>Mon, 05 Nov 2007 13:51:39 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_49d77e6301000azl.html</guid>
        </item>
        <item>
            <title>中韩会议——大战在即</title>
            <link>http://blog.sina.com.cn/s/blog_49d77e6301000azk.html</link>
            <description><![CDATA[<DIV ALIGN="center">&nbsp;（二）大战在即</DIV>
<P>&nbsp;&nbsp;&nbsp;
之前大多数时间都是在净化楼做实验，很少呆在科学楼，因此很多消息都不知道，就如同驻外大使，远离中央，既无法参与中央的决定，也无法及时获得中央的决议，导致出发开会前的三天我才知道我要在会议上作report，时间紧，任务急，只能没日没夜加班加点地prepare了，虽然知道自己很烂，但也应该尽一切可能地准备好一点了，好歹也是个国际会议，总不能丢国家的脸吧。</P>
<P>&nbsp;&nbsp;&nbsp;
一般情况下，你没事的话，就会一直都没什么事情的，当你忙的时候，事情会一件又一件的给你冒出来的。本来就为这个report搞死了，ZXGJ的笔试面试恰好在这个时候过来，在本来就不够的三天时间中还得抽出一天去张江笔试和面试，这不是火上加油，雪中送冰吗！面试是没法准备的了，只好匆忙应战了，幸好有逃之夭夭姐姐帮忙。</P>
<P>&nbsp;&nbsp;&nbsp;
周五早上6点起床，七点坐校车到张江校区，然后打的到ZXGJ，逃之夭夭姐姐请我吃公司的早餐，不过一心想着笔试面试的事情，没什么胃口，吃了两口就吃不下了。九点半hr的小姐先给我们几个人介绍一下ZXGJ的概况，十点开始笔试，内容就是英语和逻辑题，英语是四段短文阅读，和CET6差不多，逻辑题嘛，本来就是我的强项，一点也不怕，不过太紧张了，我最拿手的那两道数列题居然没做出来，SHIT!,十一点开始是性格测试题。</P>
<P>&nbsp;&nbsp;&nbsp;
考完试后，逃之夭夭姐姐请我去公司的饭堂吃饭，感觉还挺不错，和学校的差不多。</P>
<P>&nbsp;&nbsp;&nbsp;
下午就是面试了，先是hr部门的chen小姐面试我，hr嘛，半桶水一堆，就是问些漫无边际抽象无比的SB问题，这瞎扯蛋也是我的强项，对于这种问题，答案就是瞎扯蛋，问到我最想感谢的三个人时候，我用最煽情最感人的方式回答了她我要感谢的人以及原因，当我回答完之后，发现她眼泪都快要流出来了，哎！太投入了。至于其他问题嘛，信手捏来，从容不迫，侃侃而谈，谈笑风生，时光在不知不觉中流逝，刹那间已面了三十多分钟，面我的时间比其它几个人的加起来都长，唉！我这人就有这毛病，侃起来就没法stop，这下侃多了。之后是部门主管面试，有三个主管，其中两个chinese，一个korean。对于Chinese，我当然不怕了，这辈子咱们怕过谁啊，不过面试那个高丽人还真是有点紧张，因为要用到英语，这English啊，我是烂到没法再烂了。第一个面试的是chinese，我靠！碰上狗屎运了我，居然是老乡，老乡嘛，当然是聊聊家乡的情况了，再跟他套套公司的前景和前途如何，聊得不亦乐乎！开心啊，有个老乡助阵，成功的概率突然从0提高到了50%。Next
one,
高丽人，据逃之夭夭姐姐说这个人还挺好的，不过我看他横看竖看正看侧看都像个十足的大色狼；忘了带个英文版简历过去，那个中文版的他又看不懂，所以剩下的就是还是瞎扯蛋，他夸我英文好，我夸他中文好，娘的！这家伙居然问我专业问题，没办法了，只能使出我的杀手锏了“I
understand the questions you asked, but I can not answer you in
English, because my English is so bad! I can answer you in Chinese
if you can understand
Chinese…..”，他就无语了，转而聊其它非技术类的问题了，比如爱好等。OK!
The last one, a Chinese
guy，人挺好的，头有点秃，一看就是高技术类，他就问了些比较实际的问题，比如，学过什么半导体相关的知识，对这个部门有兴趣吗，以前在学生会做部长时主要是做什么东西的啊，公司的薪水这么低你为什么还愿意过来啊……。面试结束时，恰好逃之夭夭姐姐过来，跟他们聊了一会儿，说这是我是她师弟，希望大家多多关照之类的；然后带我到她那里坐了一会儿聊了聊。之后我就匆匆赶回学校了，因为还得准备中韩会议的report呢。</P>
]]></description>
            <author>cloudfly</author>
            <comments>http://blog.sina.com.cn/s/blog_49d77e6301000azk.html#comment</comments>
            <pubDate>Mon, 05 Nov 2007 13:46:29 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_49d77e6301000azk.html</guid>
        </item>
        <item>
            <title>中韩会议——楔子</title>
            <link>http://blog.sina.com.cn/s/blog_49d77e6301000azj.html</link>
            <description><![CDATA[<DIV ALIGN="center">&nbsp;（一）楔子</DIV>
<DIV ALIGN="center">&nbsp;</DIV>
<DIV>
&nbsp;&nbsp;&nbsp;浮生偷得半日闲，尽付新浪博客中。</DIV>
<P>&nbsp;&nbsp;
这段时间确实太忙了，忙到我根本找不出个合适的词来形容了，不过总算忙过去了。回首这段时间真是不胜唏嘘，从中韩光学会议前的没日没夜的准备，到大会上的演讲，再到新安江上赏景，最后回到学校修改文章……</P>
]]></description>
            <author>cloudfly</author>
            <comments>http://blog.sina.com.cn/s/blog_49d77e6301000azj.html#comment</comments>
            <pubDate>Mon, 05 Nov 2007 13:39:37 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_49d77e6301000azj.html</guid>
        </item>
        <item>
            <title>人生不如意十之八九!</title>
            <link>http://blog.sina.com.cn/s/blog_49d77e6301000aqw.html</link>
            <description><![CDATA[<DIV><FONT FACE="宋体">昨天在北区体馆定了今天两点到三点的羽毛球主场和一个三点到四点的边场<br/>

hanson和coco姐说要过来玩的<br/>
shit! 都放我鸽子，说下次请客赔罪<br/>
最后只好找小东过去陪我练练球了<br/>
小东何许人也？复旦校队数一数二的牛人!<br/>
老乡一场，当然得来陪我玩玩了</FONT>
<P><FONT FACE="宋体">两点到了北馆，远远就看见那个师傅跟我笑眯眯地打招呼了<br/>
“你是那个***同学吧”<br/>
“是啊”，心一愣，妈的，他怎么认识我的<br/>
“你定的是两点到三点的主场？”<br/>
“yes!”<br/>
“不好意思啊，跟你说啊，那个场地现在有学校领导来玩，你去玩玩乒乓好吗，免费任你玩......”<br/>

......<br/>
不好也只能好了，有什么办法呢，谁叫人家是领导<br/>
顶你个肺!
老子大半年不来玩一次羽毛球了，怎么就那么倒霉呢，遇上这些<br/>
所谓的领导，想起了唐伯虎点秋香里面的："蛮横不留情，占我大屋夺我田....."</FONT></P>
<P><FONT FACE="宋体">“那我定的那个三点到四点的边场呢？能玩吗”<br/>
“你还定了个边场啊？可以，可以...”<br/>
“那我买票了”<br/>
“这个不用了，免费给你玩，还真不好意思，把你的主场让给那些领导了，谢谢你的体谅啊...”<br/>

......</FONT></P>
<P><FONT FACE="宋体">就这样拣了个场地玩玩，省了10块钱<br/>
.....<br/>
.....</FONT></P>
<P><FONT FACE="宋体">国庆节这几天哪里都没去，<br/>
就整天呆在净化楼大炉子那里研究停判算法<br/>
本来雄心壮志的——“匈奴未破，何以为家”，“不破楼兰终不还”<br/>
几天下来，机关算尽，天不遂人愿<br/>
折戟沉沙，翦羽而归<br/>
被打击坏了我，能想得到的算法都用过了，还是不行<br/>
现在已是心疲力竭，无可奈何了<br/>
要么rp用完了，要么就是江郎才尽了<br/>
认命了！<br/>
妈的！怪不得当年就没有人想来搞这个项目</FONT></P>
<P><FONT FACE="宋体">我的青春和心血就这样无私的奉献给了这个实验室<br/>
现在连找工作投简历的时间都没有<br/>
搞不好到最后，毕业就失业<br/>
想想就觉得不寒而栗，毛骨悚然</FONT></P>
<P><FONT FACE="宋体">等这项目验收了，打死都不干了<br/>
这冤大头不能再做了<br/>
也许也不能说是冤大头<br/>
应该说是这种不是自己能胜任的活绝对不能干了<br/>
管它学位不学位的<br/>
能找到好工作才是王道啊<br/>
找不到好工作，给个博士学位都没意思</FONT></P>
</DIV>
]]></description>
            <author>cloudfly</author>
            <comments>http://blog.sina.com.cn/s/blog_49d77e6301000aqw.html#comment</comments>
            <pubDate>Sat, 06 Oct 2007 16:41:19 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_49d77e6301000aqw.html</guid>
        </item>
        <item>
            <title>海上明月共潮生</title>
            <link>http://blog.sina.com.cn/s/blog_49d77e6301000an2.html</link>
            <description><![CDATA[<DIV>不知不觉已经在复旦过了三个中秋了</DIV>
<DIV>还是惯例，玉林老乡出去聚一下，每年端午和中秋都如此</DIV>
<DIV>虽说是玉林老乡聚会，但也会叫上一些较熟悉的不是玉林的</DIV>
<DIV>每次都会叫上桂林美女历史系系花赵mn</DIV>
<DIV>昨晚我还叫了歌神hanson</DIV>
<DIV>
这次是在大佬馆，不过今天生意太好了，服务员忙不过来，上菜慢</DIV>
<DIV>依旧是惯例，老乡聚会时，都会调戏女服务员</DIV>
<DIV>昨晚就把那个服务员搞火了，后来她一直板着脸</DIV>
<DIV>呵呵，我玩笑开过头了</DIV>
<DIV>&nbsp;</DIV>
<DIV>MD!这是怎么回事啊，后来大家都灌我，差点就醉了。</DIV>
<DIV>&nbsp;</DIV>
<DIV>当时老千他们茶版的人在北区搞个品茶赏月活动</DIV>
<DIV>饭后，我就过去参加了一下</DIV>
<DIV>借着他们的好茶醒酒</DIV>
<DIV>他们每个人都拿出自己最好的茶来share</DIV>
<DIV>太赞了，我是醉醺醺的空手过去的</DIV>
<DIV>现在还觉得不好意思呢</DIV>
<DIV>当时也有个挪威的朋友在场</DIV>
<DIV>酒壮熊人胆，我豁开了用英语跟他交流</DIV>
<DIV>其实我都是瞎扯，只是OMTV看多了，就照着上面的台词套</DIV>
<DIV>如果让我写的话，那些单词我都写不出来</DIV>
<DIV>当时人都醉了，哪管得了这么多啊，开口就speak</DIV>
<DIV>读音差不多差不多就是了</DIV>
<DIV>他们那些没喝酒的清醒之人，爱面子不敢说</DIV>
<DIV>这一对比，ND! 他们居然说我英语口语好</DIV>
<DIV>汗啊.......</DIV>
<DIV>了解我的人，还不说我是个傻×，在那瞎扯，忽悠革命同志</DIV>
<DIV>看来喝酒有时候还真是好事</DIV>
<DIV>现在酒醒了，再让我在那么多人面前说英语，我绝对不敢</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
]]></description>
            <author>cloudfly</author>
            <comments>http://blog.sina.com.cn/s/blog_49d77e6301000an2.html#comment</comments>
            <pubDate>Wed, 26 Sep 2007 02:47:56 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_49d77e6301000an2.html</guid>
        </item>
        <item>
            <title>I Dit It !</title>
            <link>http://blog.sina.com.cn/s/blog_49d77e6301000aas.html</link>
            <description><![CDATA[<DIV>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
昨天和周薇溪，毛毛，刘明辉打完两个多小时的羽毛球后，去南区游泳。哈哈......终于把我之前第一次去南去游泳池游泳时候的目标---潜到对岸实现了。非常的有成功感，太高兴了，这种感觉好多年没有过了。</DIV>
<DIV>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
I dit it!</DIV>
<DIV>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
由于刚打完两个多小时的羽毛球，特别的累，泡在游泳池时，浑身都放松了，以最休闲，最不好体力的姿势在水里漂游了几十分钟，后来决定试试看能否潜水潜到对岸。于是纵身一跃，不知道为什么这时候，感觉十分休闲放松，有人水合一之感，几乎贴着游泳池底潜进，不知不觉，对岸已经在目，这时候我也几乎没有气了，但看到对岸就近在眼前，心里就想：目标就快要实现了，就算死也要潜到，虽然觉得心房和整个肺</DIV>
<DIV>快要爆炸了......</DIV>
<DIV>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
坚持就是胜利！</DIV>
<DIV>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;到达对岸后，顿感有心旷神怡，宠辱皆忘。回首来时路，天下英雄，谁与争锋！</DIV>
]]></description>
            <author>cloudfly</author>
            <comments>http://blog.sina.com.cn/s/blog_49d77e6301000aas.html#comment</comments>
            <pubDate>Fri, 24 Aug 2007 09:45:30 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_49d77e6301000aas.html</guid>
        </item>
        <item>
            <title>物价上涨</title>
            <link>http://blog.sina.com.cn/s/blog_49d77e6301000a9k.html</link>
            <description><![CDATA[<DIV>
&nbsp;&nbsp;&nbsp;&nbsp;
最近切身体验到了物价上涨了，前两天在北区波利牧场牛奶店买早餐，发现原先卖一块钱的面包一律上涨到一块二了。昨天去南区游泳后去乘风豆浆店晚饭，发现原先一块的油条已变为一块二，原先一块八一碗的绿豆粥已变为两块了；饭后觉得不太饱，而且想吃小杨生煎了，于是辗转到五角场小杨生煎店，发现已经由三块五每两变为四块了......</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;
从前几个月的猪肉价格飞涨，和这几年的房价上涨，再结合最近物价的全面上涨，感觉我国经济问题的越来越严重了，山雨欲来风满楼，黑云压城城欲摧</DIV>
]]></description>
            <author>cloudfly</author>
            <comments>http://blog.sina.com.cn/s/blog_49d77e6301000a9k.html#comment</comments>
            <pubDate>Wed, 22 Aug 2007 04:29:08 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_49d77e6301000a9k.html</guid>
        </item>
        <item>
            <title>何去何从</title>
            <link>http://blog.sina.com.cn/s/blog_49d77e63010008lv.html</link>
            <description><![CDATA[<DIV>&nbsp;&nbsp;&nbsp;
昨晚家人打电话过来，问我是否想从政，说只要我考公务员过线，凭关系在京桂粤地区找个一官半职没问题。从政是我一只都不感兴趣的东西，处处要讲究，从穿着到住行，人际关系勾心斗角，要处处防止同僚之暗算，特别是你处于一个比较好的位置，大家都眼红，都想抢你的位子。十八现在梧州武警消防，他刚毕业就能被招进去，坐一个较好的位子，很多同僚们在那里混了好多年了，都没有混进这个位子，你一个大学生刚毕业就进来坐了，所以那些人多少有些不服，都想把他弄下来，所以他得处处都要谨慎，防止落人把柄。寒假聚会时他说，官场上的勾心斗角比普通人想象的要激烈得多，当然了，如果你不在一个很抢手的位子的话，没有什么人跟你抢的。虽然从政能图个清闲，面子也很了不起，但觉得那终非我向往之地。再者，像我这种人胆子太大，思想又不是很好，进了官场肯定是个贪官，难免最后锒铛入狱，害人害己。话虽如此，面对如今这么激烈的就业环境，毕业就意味着事业，看看师兄师姐们的就业状况，让人忧心忡忡啊，也难免起了些从政之意，虽从政不是我之好，但总比失业好。</DIV>
<DIV>&nbsp;&nbsp;&nbsp;
前些天，Boss陈问我是否想读博，本意应该是希望我继续留在实验室继续读博士吧，后来Boss郑也极力劝我读博士，我最后还是婉言谢绝了。最了解自己的人还是自己，一个人不管做什么都应该先评估一下自己的能力，看看要做的事情自己能否胜任，不要“为赋新词强说愁”，对于读博，不是心有余而力不足，而是心没有力也不足，郑也开导我说，能力是够的，就看我想不想读了。郑对于我有知遇之恩，但他显然不可能比我还了解我自己,有没有能力我比他清楚。另外，我个人觉得，读了个博士出来，除了头衔好听一点，基本上没多大意义，除非是想以后从事这个领域的研究工作，而做研究也是我比较抵触的东东，我人生中最不喜欢的工作就是从医从政做学问。</DIV>
<DIV>&nbsp;&nbsp;
也许上天爱抓弄人吧，如今摆在我面前的三条路中，有两条就是我不喜欢的--从政和做学问。在如今的就业环境下，虽然这两条路我不喜欢，但也得考虑考虑。前方的路多了，行人就容易犹豫，不知何去何从。可以说这些都是没有回头的路，不管选择了哪条，后半辈子都必须一直走下去的了，正因为这样，更让人在这三岔路口迷茫了。</DIV>
]]></description>
            <author>cloudfly</author>
            <comments>http://blog.sina.com.cn/s/blog_49d77e63010008lv.html#comment</comments>
            <pubDate>Sun, 15 Apr 2007 02:19:10 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_49d77e63010008lv.html</guid>
        </item>
        <item>
            <title>Bless U</title>
            <link>http://blog.sina.com.cn/s/blog_49d77e63010008j0.html</link>
            <description><![CDATA[<DIV>&nbsp;&nbsp; 秋水伊人虽渺茫</DIV>
<DIV>&nbsp;&nbsp; 子衿青青今尚在</DIV>
<DIV>&nbsp;&nbsp; ......</DIV>
<DIV>&nbsp;</DIV>
<DIV>
&nbsp;&nbsp;&nbsp;任何语言文字表达都显得那么苍白无力！</DIV>
<DIV>&nbsp;&nbsp;
还是一切尽在不言的bless中吧......</DIV>
]]></description>
            <author>cloudfly</author>
            <comments>http://blog.sina.com.cn/s/blog_49d77e63010008j0.html#comment</comments>
            <pubDate>Wed, 04 Apr 2007 11:49:39 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_49d77e63010008j0.html</guid>
        </item>
        <item>
            <title>再谈谈RTTI以及typeid和dynamic_cast运算符</title>
            <link>http://blog.sina.com.cn/s/blog_49d77e63010008i1.html</link>
            <description><![CDATA[<DIV>这两天可能我c++瘾又犯了，狂看C++的书。现在谈谈RTTI
以及typeid和dynamic_cast运算符。错误应该很多，请大家指正！相关的例子依然在vc6上运行过，最后的结果也是vc6运行的结果。</DIV>
<DIV>//**************************************************//</DIV>
<DIV>
<P><FONT STYLE="FONT-SIZE: 12px"># RTTI的typeid()
和dynamic_cast&lt;&gt;()算符。</FONT><FONT STYLE="FONT-SIZE: 12px">只有在有动态机制下，这两个算符才起作用，也就是在类中必须有虚函数。</FONT></P>
<P><FONT STYLE="FONT-SIZE: 12px"><br/>
#include&lt;iostream&gt;<br/>
#include&lt;string&gt;<br/>
using namespace std;</FONT></P>
<P><FONT STYLE="FONT-SIZE: 12px">class A<br/>
{<br/>
public:<br/>
&nbsp;&nbsp;&nbsp; virtual void
foo(){cout&lt;&lt;"A
foo"&lt;&lt;endl;}//虚函数的出现会带来动态机制<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
//因为启动了动态机制，故必须将编译<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
//器的编译选项"允许 RTTI"选上，在vc6<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
//上这样设置：工程-&gt;设置-&gt;c/c++ -&gt;c++ language
-&gt;允许时间类型信息(RTTI)</FONT></P>
<P><FONT STYLE="FONT-SIZE: 12px">};<br/>
class B:public A<br/>
{<br/>
public:<br/>
&nbsp;&nbsp; void
foo(){cout&lt;&lt;"B&nbsp; foo"&lt;&lt;endl;}<br/>
&nbsp;&nbsp; void shit(){cout&lt;&lt;"you
are shit!"&lt;&lt;endl;}<br/>
};</FONT></P>
<P><FONT STYLE="FONT-SIZE: 12px">void main()<br/>
{<br/>
&nbsp;B b;<br/>
&nbsp;A *pa=&amp;b;<br/>
&nbsp;pa-&gt;foo(); //调用B::foo()<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(*pa).foo();//调用B::foo()<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(*pa).shit();//编译错误:'shit' : is not a member of 'A'<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
cout&lt;&lt;typeid(pa).name()&lt;&lt;endl;//输出 class A*<br/>
&nbsp;cout&lt;&lt;typeid(*pa).name()&lt;&lt;endl;//输出
class B<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
B *pb;<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
pb=dynamic_cast&lt;B*&gt;(pa);//将父类指针转化为子类指针<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
//只有当该父类指针在运行时刻指向它的子类<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
//时候，这个转化才会成功，否则返回0值<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
//只有父类具有多态性时，才能使用dynamic_cast<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
//运算符，否则会编译错误<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
cout&lt;&lt;typeid(pb).name()&lt;&lt;endl;//输出 class B*<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
cout&lt;&lt;typeid(*pb).name()&lt;&lt;endl;//输出 class B<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
pb-&gt;foo();//调用B::foo()<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
pb-&gt;shit();//ok!<br/>
}<br/>
对比一下面的非动态机制的结果<br/>
class A<br/>
{<br/>
public:<br/>
&nbsp;&nbsp;&nbsp; void
foo(){cout&lt;&lt;"A foo"&lt;&lt;endl;}//没有了虚函数<br/>
};<br/>
class B:public A<br/>
{<br/>
public:<br/>
&nbsp;&nbsp; void
foo(){cout&lt;&lt;"B&nbsp; foo"&lt;&lt;endl;}<br/>
&nbsp;&nbsp; void shit(){cout&lt;&lt;"you
are shit!"&lt;&lt;endl;}<br/>
};</FONT></P>
<P><FONT STYLE="FONT-SIZE: 12px">void main()<br/>
{<br/>
&nbsp;B b;<br/>
&nbsp;A *pa=&amp;b;<br/>
&nbsp;pa-&gt;foo(); //调用A::foo()<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
//因为在A,B类的继承关系中，它们都没有虚函数，故没有启动<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
//动态机制，一切东西都在编译阶段就决定了</FONT></P>
<P><FONT STYLE="FONT-SIZE: 12px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(*pa).foo();//调用A::foo()</FONT></P>
<P><FONT STYLE="FONT-SIZE: 12px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
(*pa).shit();//编译错误:'shit' : is not a member of 'A'</FONT></P>
<P><FONT STYLE="FONT-SIZE: 12px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
cout&lt;&lt;typeid(pa).name()&lt;&lt;endl;//输出 class
A*</FONT></P>
<P><FONT STYLE="FONT-SIZE: 12px">&nbsp;cout&lt;&lt;typeid(*pa).name()&lt;&lt;endl;//输出
class A</FONT></P>
<P><FONT STYLE="FONT-SIZE: 12px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
B *pb;<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
pb=dynamic_cast&lt;B*&gt;(pa);//编译错误：'A' is not a polymorphic
type<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
//只有dynamic_cast&lt;type&gt;(expression)中的<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
//expression具有多态性时，才能这么用,也就是<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
expression所属的类必须要有虚函数才行<br/>
}</FONT></P>
<P><FONT STYLE="FONT-SIZE: 12px">&nbsp;
(pa)虽然是指向一个它的子类父类指针，也就是说，(pa)虽然是(A*)型的，但它根据<br/>

&nbsp;
动态机制，可以调用子类override的虚数，所调用的函数必须在A类中有接口的，如<br/>

&nbsp;
上面的B::foo(),不能调用在A类中没有接口的函数，如B::shit().<br/>
&nbsp;
指向动态机制下的子类的父类指针(pa)解引用后(*pa)是一个子类的对象，这就是动态<br/>

&nbsp;
机制的奥妙之处，父类指针解出子类对象；但该对象(*pa)只能调用基类A中声明有的接<br/>

&nbsp; 口，如(*pa).foo()---B::foo();
(*pa)对象虽然是B的对象，但不能调用B的特有接口，<br/>
&nbsp; 也就是没有在A类中声明的接口，如B::shit().
可以这样感性的理解，(*pa)是一个B对<br/>
&nbsp;
象，但只能当作A对象用，但用的东西是动态邦定的。<br/>
&nbsp;
(pa)和(*pa)的奥妙要好好的体会，这都是面向对象和动态机制的奥妙之处！</FONT></P>
<P><FONT STYLE="FONT-SIZE: 12px">#
dynamic_cast&lt;type&gt;(expression)运算符的出现，弥补了虚函数的不足之处，两者相得益彰，<br/>

&nbsp; 绝代双骄也！<br/>
&nbsp; 如上面(pa)或者(*pa)是无法访问
B::shit()函数的，因为它不是基类A中声明的虚函数接口，<br/>
&nbsp;
但可以通过dynamic_cast运算符将(pa)转化后，去访问B::shit().<br/>
&nbsp;
B*pb=dynamic_cast&lt;B*&gt;(pa);//将(A*)类型的pa转化为(B*)型<br/>
&nbsp; if(pb)//如果转换成功<br/>
&nbsp;&nbsp;&nbsp;
pb-&gt;shit();//访问B::shit()</FONT></P>
<P><FONT STYLE="FONT-SIZE: 12px">&nbsp;
如果转换成功的话，pb=pa,否则的话，pb=0;只有父类指针pa在运行时刻指向子类B的对象时，<br/>

&nbsp;
dynamic_cast才会转换成功。下面的转化是失败的<br/>
&nbsp; A* pa=new A;<br/>
&nbsp; B*
pb=dynamic_cast&lt;B*&gt;(pa);//转换失败，因为pa并没有指向一个它的子类对象，pb==0.</FONT></P>
</DIV>
]]></description>
            <author>cloudfly</author>
            <comments>http://blog.sina.com.cn/s/blog_49d77e63010008i1.html#comment</comments>
            <pubDate>Mon, 02 Apr 2007 06:39:30 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_49d77e63010008i1.html</guid>
        </item>
        <item>
            <title>C++虚拟和继承</title>
            <link>http://blog.sina.com.cn/s/blog_49d77e63010008hy.html</link>
            <description><![CDATA[<DIV>
今天愚人节，在宿舍把Lippman的c++primer中关于虚拟函数，虚拟继承，多继承等章节的内容看了一下，总结了一下（出现的例子，都是我在vc6和dev验证过的）。呵呵，想不到2007年的愚人节就是这样过了的。</DIV>
<DIV><FONT STYLE="FONT-SIZE: 12px">//**************************************************************</FONT></DIV>
<DIV>
<P><FONT STYLE="FONT-SIZE: 12px">#
类域间的实例按名字的方式进行解释，在同一个类域中的实例按重载方式进行解释。<br/>

&nbsp; class A<br/>
&nbsp; {<br/>
&nbsp;&nbsp;&nbsp;&nbsp;
public: void foo(){}//A类中声明了一个函数foo<br/>
&nbsp; };<br/>
&nbsp; class B<br/>
&nbsp; {<br/>
&nbsp;&nbsp;&nbsp; public: int
foo(char){return 0;}//B类中声明了一个foo函数,和<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
//A类的函数同名而不同类型<br/>
&nbsp; };<br/>
&nbsp; class C: public A,public B//生命C类 继承与A
B类<br/>
&nbsp; {<br/>
&nbsp;&nbsp; };<br/>
&nbsp;<br/>
&nbsp; void main()<br/>
&nbsp; {<br/>
&nbsp;&nbsp;&nbsp;&nbsp;
C cc;//声明一个cc对象<br/>
&nbsp;&nbsp;&nbsp;&nbsp;
cc.foo();
//编译时刻错误,二义性,因为是按名字解释的,编译器不知道是<br/>
&nbsp;&nbsp;&nbsp;&nbsp;
cc.foo('a');//B::foo(char)还是A::foo();<br/>
&nbsp; }<br/>
&nbsp;
这就是类域间按名字进行解释，它不管你的函数的类型是否相同，只要名字相同<br/>

&nbsp; 就有二义性。上面的 A::foo() 和 int
B::foo(int)同名不同类型。这种二义性<br/>
&nbsp;
只有在调用该含有二义性的实例(函数或成员)时才会被触发.如上面的类C中虽然<br/>

&nbsp;
隐含有二义性，但如果你不去调用它里面含有二义性的foo函数时是没有问题的。</FONT></P>
<P><FONT STYLE="FONT-SIZE: 12px">&nbsp; class A<br/>
&nbsp; {<br/>
&nbsp;&nbsp;&nbsp;&nbsp;
public: void foo(){}//A类中声明了一个函数foo<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
int
foo(char){}//A类中再声明了一个函数foo，但和上一个同名不同类型<br/>
&nbsp; };<br/>
&nbsp; class B<br/>
&nbsp; {<br/>
&nbsp;&nbsp;&nbsp; public: int
fuck(char){return 0;}//B类中声明了一个fuck函数<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
void fuck(int);
//B类中再声明了一个fuck函数,和上一个同名不同类型<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>

&nbsp; };<br/>
&nbsp; class C: public A,public B//生命C类 继承与A
B类<br/>
&nbsp; {<br/>
&nbsp;&nbsp; };<br/>
&nbsp;<br/>
&nbsp; void main()<br/>
&nbsp; {<br/>
&nbsp;&nbsp;&nbsp;&nbsp;
C cc;//声明一个cc对象<br/>
&nbsp;&nbsp;&nbsp;&nbsp;
cc.foo(); //ok<br/>
&nbsp;&nbsp;&nbsp;&nbsp;
cc.foo(2);//ok 在同类域中按重载的方式去解释,故没有二义性<br/>
&nbsp;&nbsp;&nbsp;&nbsp;
cc.fuck('a');//ok<br/>
&nbsp;&nbsp;&nbsp;&nbsp;
cc.fuck();//ok<br/>
&nbsp; }<br/>
&nbsp;
这就是在同类域中按重载的方式进行解释,这也是c++函数重载的特性之一.</FONT></P>
<P><FONT STYLE="FONT-SIZE: 12px">#
虚拟函数的动态机制只有在使用指针和引用的时候才会有效,因为一个对象的动态和<br/>

&nbsp; 静态类型是一样的。使用类域操作符
type::去调用虚拟函数时，会去掉虚拟动态机<br/>
&nbsp; 制，使得虚拟函数在编译时刻就被解释<br/>
&nbsp; class A<br/>
&nbsp; {<br/>
&nbsp;&nbsp;&nbsp;&nbsp;
public: virtual void foo(){}<br/>
&nbsp; };<br/>
&nbsp; class B:public A<br/>
&nbsp; {<br/>
&nbsp;&nbsp;&nbsp; public: void
foo(){}<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>

&nbsp; };<br/>
&nbsp; class C:public B<br/>
&nbsp; {<br/>
&nbsp;&nbsp;&nbsp;&nbsp;
public: void foo(){}<br/>
&nbsp;&nbsp; };<br/>
&nbsp; void main()<br/>
&nbsp; {<br/>
&nbsp;&nbsp;&nbsp; C cc;<br/>
&nbsp;&nbsp;&nbsp; B bb;<br/>
&nbsp;&nbsp;&nbsp; A aa;<br/>
&nbsp;&nbsp;&nbsp; B* pb;<br/>
&nbsp;&nbsp;&nbsp; A
*pa=&amp;cc;<br/>
&nbsp;&nbsp;&nbsp;
pa-&gt;foo();//调用的是 C::foo()<br/>
&nbsp;&nbsp;&nbsp;
(*pa).foo();//调用的是 C::foo()<br/>
&nbsp;&nbsp;&nbsp;
pa-&gt;A::foo();//调用的是
A::foo(),因为用类域操作符A::解除了foo的虚拟动态机制<br/>
&nbsp;&nbsp;&nbsp;
aa.foo();//调用的是 A::foo()<br/>
&nbsp;&nbsp;&nbsp; aa=cc;<br/>
&nbsp;&nbsp;&nbsp;
aa.foo();//调用的是 A::foo()<br/>
&nbsp;&nbsp;&nbsp;
pa=&amp;bb;<br/>
&nbsp;&nbsp;&nbsp;
pa-&gt;foo();//调用的是 B::foo()<br/>
&nbsp;&nbsp;&nbsp;
(*pa).foo();//调用的是 B::foo()<br/>
&nbsp;&nbsp;&nbsp;
pa-&gt;A::foo();//调用的是
A::foo(),因为用类域操作符A::解除了foo的虚拟动态机制<br/>
&nbsp;&nbsp;&nbsp;
bb.foo();//调用的是 B::foo()<br/>
&nbsp;&nbsp;&nbsp; aa=bb;<br/>
&nbsp;&nbsp;&nbsp;
aa.foo();//调用的是 A::foo()<br/>
&nbsp;}<br/>
#
含有纯虚函数的类叫抽象类，抽象类不能声明独立的对象，抽象类只能作为子对象出现<br/>

&nbsp;
在后续的派生类对象中。但抽象类可以声明指针。</FONT></P>
<P><FONT STYLE="FONT-SIZE: 12px">&nbsp; class A<br/>
&nbsp; {<br/>
&nbsp;&nbsp;&nbsp; virtual void
foo()=0;//声明纯虚函数，则A类为抽象类<br/>
&nbsp;&nbsp; }<br/>
&nbsp; class B: public A<br/>
&nbsp; {<br/>
&nbsp;&nbsp;&nbsp; void foo(){
cout&lt;&lt;" B foo()"&lt;&lt;endl;}<br/>
&nbsp; }<br/>
&nbsp; void main()<br/>
&nbsp; {<br/>
&nbsp;&nbsp;&nbsp; A
a;//错误，不能生命抽象类的对象<br/>
&nbsp;&nbsp;&nbsp; A *pa;//ok!
但抽象类可以声明指针<br/>
&nbsp;&nbsp;&nbsp; B
b;//ok!,B把继承于A的虚函数foo具体化了，故B不是抽象类了，可以声明对象<br/>

&nbsp;&nbsp; }</FONT></P>
<P><FONT STYLE="FONT-SIZE: 12px">#
虚拟析构函数：在继承机制下的析构函数行为是这样的，派生类的析构函数先被调用<br/>

&nbsp;
然后才是基类的。特别是通过delete来删除一个由父类指针所指向的派生类对象时<br/>

&nbsp;<br/>
&nbsp; class A<br/>
&nbsp; {<br/>
&nbsp;&nbsp;&nbsp;
public:<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
A(){}<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
virtual ~A(){}<br/>
&nbsp; }<br/>
&nbsp; class B<br/>
&nbsp; {<br/>
&nbsp;&nbsp;&nbsp;
public:<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
B(){}<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
~B(){}<br/>
&nbsp; }<br/>
&nbsp; class C<br/>
&nbsp; {<br/>
&nbsp;&nbsp;&nbsp;
public:<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
C(){}<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
virtual ~C(){}<br/>
&nbsp; }</FONT></P>
<P><FONT STYLE="FONT-SIZE: 12px">&nbsp;void
main()<br/>
&nbsp;{<br/>
&nbsp;&nbsp; A *pa=new
C;//用父类指针指向一个派生类的对象.A(),B(),C()依次被调用<br/>
&nbsp;&nbsp; delete pa;
//通过父类指针删除派生类对象所占的内存,~C(),~B(),~A()依次被调用<br/>

&nbsp;}<br/>
&nbsp;则各个函数的调用次序为：<br/>
&nbsp;A(),B(),C(),~C(),~B(),~A()//这就确保了"先构造后析构，后构造先析构".</FONT></P>
<P><FONT STYLE="FONT-SIZE: 12px">&nbsp;如果将A类的析构函数改为非虚拟的函数的话,也就是:<br/>

&nbsp;A::~A(){}<br/>
&nbsp;则：<br/>
&nbsp;void main()<br/>
&nbsp;{<br/>
&nbsp;&nbsp; A *pa=new
C;//用父类指针指向一个派生类的对象.A(),B(),C()依次被调用<br/>
&nbsp;&nbsp; delete
pa;//只有~A()被调用<br/>
&nbsp;}<br/>
&nbsp;
A(),B(),C(),~A()//~C()~B()函数没有被调用.这一点在编程时候要特别注意，特别是<br/>

&nbsp;在类中的成员有指针的时候，一不小心就容易造成内存泄露，故作为一般的规则，Lippman<br/>

&nbsp;建议“将根基类的析构函数声明为虚拟的，且是public属性的".如果将上面的A类的析构函数<br/>

&nbsp;声明为非pretected的话，C类对象调用A的析构函数是是public的，即C类对象可以访问A的<br/>

&nbsp;protected属性的析构函数，但不能通过派生类的指针或者引用来访问基类的非public属性<br/>

&nbsp;的析构函数。如：<br/>
&nbsp; 如果将上面的~A()修改为protected的话，则：<br/>
&nbsp; A *pa=new C;<br/>
&nbsp; delete
pa;//错误！！无法通过指针或者引用来调用非public属性的析构函数<br/>
&nbsp; C
cc;//在cc生命周期结束时候，它会调用基类A的析构函数。这就是上面说的<br/>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
//"派生类对象可以访问基类的protected属性的析构函数</FONT></P>
<P><FONT STYLE="FONT-SIZE: 12px">#
以虚拟继承的方式继承了一个基类，则这个基类就叫做派生类的虚拟基类。<br/>

&nbsp; 虚拟基类的初始化变成了最终派生类(most derived
class)的责任。在非虚拟继承<br/>
&nbsp;
派生中，派生类只能显示地初始化其直接基类，不能直接初始化间接基类。<br/>

&nbsp;<br/>
&nbsp; class A{};//声明A类<br/>
&nbsp; class B:virtual public A{};//声明B类<br/>
&nbsp; B::B():A(){}<br/>
&nbsp; class C:virtual public A{};//声明C类<br/>
&nbsp; C::C():A(){}<br/>
&nbsp; class V{};//声明V类<br/>
&nbsp; class D:public B,puclic C,public virtual V
{};//声明D类<br/>
&nbsp; 则D的构造函数应该这样写：<br/>
&nbsp; D::D():A(),B(),C(),V(){}<br/>
&nbsp;
也就是最终的派生类D负责虚基类A的初始化工作，而不是由B
C类来负责A的构造，虚基<br/>
&nbsp;
类的构造函数比非虚基类的构造函数优先执行，A，V的构造函数先执行，然后是B，c的。<br/>

&nbsp; 例如：<br/>
&nbsp; D d;//声明类D的一个对象d<br/>
&nbsp; //构造函数的执行次序：A(),V(),然后才是
B()，C()，对于B,C构造函数的执行过程<br/>
&nbsp;
中，他们对于A构造函数的调用将不会被执行，这就是所谓的中间类的虚拟父类构造函数<br/>

&nbsp;
的调用被抑制了。各个中间类共享一个虚基类的对象。下面看一个详细的例子。<br/>

&nbsp; class A<br/>
&nbsp; {<br/>
&nbsp;&nbsp;&nbsp;&nbsp;
public:<br/>
&nbsp;&nbsp; A(){cout&lt;&lt; "A
constructor"&lt;&lt;endl;}<br/>
&nbsp;&nbsp; void foo(){cout&lt;&lt;" A
foo"&lt;&lt;endl;}<br/>
&nbsp;&nbsp; virtual ~A(){cout&lt;&lt;"A
destructor"&lt;&lt;endl;}<br/>
&nbsp; };<br/>
&nbsp; class B: public A<br/>
&nbsp; {<br/>
&nbsp;&nbsp;&nbsp;
public:<br/>
&nbsp;&nbsp;B():A(){cout&lt;&lt;"B&nbsp;
constructor"&lt;&lt;endl;}<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
//负责直接基类构造函数的调用<br/>
&nbsp;&nbsp;void foo(){cout&lt;&lt;" B
foo"&lt;&lt;endl;}<br/>
&nbsp;&nbsp;~B(){cout&lt;&lt;" B
destructor"&lt;&lt;endl;}</FONT></P>
<P><FONT STYLE="FONT-SIZE: 12px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>

&nbsp; };<br/>
&nbsp; class C: public A<br/>
&nbsp; {<br/>
&nbsp;&nbsp;&nbsp;&nbsp;
public:<br/>
&nbsp;&nbsp;
C():A(){cout&lt;&lt;"C&nbsp;
constructor"&lt;&lt;endl;}<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
//负责直接基类构造函数的调用<br/>
&nbsp;&nbsp; void foo(){cout&lt;&lt;" C
foo"&lt;&lt;endl;}<br/>
&nbsp;&nbsp; ~C(){cout&lt;&lt;"C
destructor"&lt;&lt;endl;}<br/>
&nbsp;&nbsp; };<br/>
&nbsp; class D: public B,public C<br/>
&nbsp; {<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
public:<br/>
&nbsp;&nbsp;&nbsp;
D():B(),C(){cout&lt;&lt;"D constructor"&lt;&lt;endl;}<br/>
&nbsp;&nbsp;&nbsp;
~D(){cout&lt;&lt;"D destructor"&lt;&lt;endl;}<br/>
&nbsp; };<br/>
&nbsp; void main()<br/>
&nbsp; {</FONT></P>
<P><FONT STYLE="FONT-SIZE: 12px">&nbsp;&nbsp; D d;<br/>
&nbsp; }<br/>
&nbsp;
各个函数的调用次序是这样的：A(),B(),A(),C(),D(),~D(),~C(),~A(),~B(),~A()<br/>

&nbsp;
这是非虚拟继承的情况，D对象中含有两份A的拷贝，这样很浪费内存，这也是虚继承<br/>

&nbsp; 被提出来的原因。<br/>
&nbsp; class A<br/>
&nbsp; {<br/>
&nbsp;&nbsp;&nbsp;&nbsp;
public:<br/>
&nbsp;&nbsp; A(){cout&lt;&lt; "A
constructor"&lt;&lt;endl;}<br/>
&nbsp;&nbsp; void foo(){cout&lt;&lt;" A
foo"&lt;&lt;endl;}<br/>
&nbsp;&nbsp; virtual ~A(){cout&lt;&lt;"A
destructor"&lt;&lt;endl;}<br/>
&nbsp; };<br/>
&nbsp; class B: virtual public A<br/>
&nbsp; {<br/>
&nbsp;&nbsp;&nbsp;
public:<br/>
&nbsp;&nbsp;B(){cout&lt;&lt;"B&nbsp;
constructor"&lt;&lt;endl;}<br/>
&nbsp;&nbsp;void foo(){cout&lt;&lt;" B
foo"&lt;&lt;endl;}<br/>
&nbsp;&nbsp;~B(){cout&lt;&lt;" B
destructor"&lt;&lt;endl;}</FONT></P>
<P><FONT STYLE="FONT-SIZE: 12px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>

&nbsp; };<br/>
&nbsp; class C: virtual public A<br/>
&nbsp; {<br/>
&nbsp;&nbsp;&nbsp;&nbsp;
public:<br/>
&nbsp;&nbsp;
C(){cout&lt;&lt;"C&nbsp;
constructor"&lt;&lt;endl;}<br/>
&nbsp;&nbsp; void foo(){cout&lt;&lt;" C
foo"&lt;&lt;endl;}<br/>
&nbsp;&nbsp; ~C(){cout&lt;&lt;"C
destructor"&lt;&lt;endl;}<br/>
&nbsp;&nbsp; };<br/>
&nbsp; class D: public B,public C<br/>
&nbsp; {<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
public:<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
D():A(),B(),C(){cout&lt;&lt;"D constructor"&lt;&lt;endl;}<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
//最终的派生类负责虚基类的构造函数调用<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
~D(){cout&lt;&lt;"D destructor"&lt;&lt;endl;}<br/>
&nbsp; };<br/>
&nbsp; void main()<br/>
&nbsp; {</FONT></P>
<P><FONT STYLE="FONT-SIZE: 12px">&nbsp;&nbsp; D d;<br/>
&nbsp; }<br/>
&nbsp;
各个函数的调用次序为：A(),B(),C(),D(),~D()~C(),~B(),~A()<br/>
&nbsp;
可见在虚继承中,中间类对象共享一个虚基类A的对象，而不像非虚继承那样<br/>

&nbsp;
每个中间类B,C的对象都有一份它们基类A的对象拷贝。首先是虚基类构造函数<br/>

&nbsp;
A()被调用，然后是B类的构造函数B()被调用，但在调用B()时，不会再去调用<br/>

&nbsp;
A()了，这点和非虚继承完全不一样，在非虚继承中还会去调用A()的，其次是<br/>

&nbsp;
C()被调用，最后才是D();析构的过程和这刚好相反.</FONT></P>
</DIV>
<DIV>//****************************************************</DIV>
]]></description>
            <author>cloudfly</author>
            <comments>http://blog.sina.com.cn/s/blog_49d77e63010008hy.html#comment</comments>
            <pubDate>Sun, 01 Apr 2007 16:23:01 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_49d77e63010008hy.html</guid>
        </item>
        <item>
            <title>MC法中关于随机数的问题</title>
            <link>http://blog.sina.com.cn/s/blog_49d77e63010008gr.html</link>
            <description><![CDATA[<DIV>&nbsp;&nbsp;&nbsp;
这学期旁听龚新高的《计算物理学》，龚老似乎对MC方法情有独钟，推崇有余！使用MC法时，关键之处在于得到随机数。第一个project已经布置下来了，下周三就上交了，这个project很easy的。我估计同僚们都会直接使用c库里面的那个随机函数-----rand()。这个函数产生的随机数并不是很好，因为它是根据线性同余法做的。一般人都是直接就用rand(),其实这是一个不太可取的方法：</DIV>
<DIV>&nbsp;&nbsp; const int N=100;
//取值范围</DIV>
<DIV>&nbsp;&nbsp; int
a=rand()%100;//#include&lt;cstdlib&gt;</DIV>
<DIV>或者取一堆随机数：</DIV>
<DIV>&nbsp;&nbsp; for(int
i=0;i&lt;100;i++)//取100个随机数</DIV>
<DIV>&nbsp;&nbsp; {</DIV>
<DIV>
&nbsp;&nbsp;&nbsp;&nbsp;
a[i]=rand()%N;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;}</DIV>
<DIV>&nbsp;</DIV>
<DIV>稍微的改进一下，可以这样：</DIV>
<DIV>&nbsp;&nbsp; int
a=(int)(N*rand()/(RAND_MAX+1.0));//产生一个0到ｎ之间的随机数,RAND_MAX是rand()能产生的最大数。<br/>
</DIV>
<DIV>另外比较好点的办法是用系统时间做产生随机数的种子：</DIV>
<DIV>&nbsp;&nbsp;
srand((UINT)(GetCurrentTime()));//#include&lt;windows.h&gt;</DIV>
<DIV>&nbsp;&nbsp; int a=rand()%N;</DIV>
<DIV>如果是产生一组随机数数组的话，可以这样：</DIV>
<DIV>//包含 &lt;windows.h&gt; &lt;cstdlib&gt;</DIV>
<DIV>&nbsp;for(int
i=0;i&lt;200;i++)//产生200个随机数</DIV>
<DIV>&nbsp;&nbsp; {</DIV>
<DIV>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
//用srand()播种</DIV>
<DIV>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
srand((UINT)(GetCurrentTime()));//&lt;windows.h&gt;&lt;cstdlib&gt;</DIV>
<DIV>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
a[i]=rand()%N;//&lt;cstdlib&gt;</DIV>
<DIV>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Sleep(100);//#include&lt;windows.h&gt;</DIV>
<DIV>&nbsp;&nbsp; }</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;
所谓线性同余法，简单来说就是这个样子的，假设r为要产生的随机数：</DIV>
<DIV>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r=(a*r+b)%c;//a
b c都是常数，等号右边的那个r就是所谓的种子。</DIV>
<DIV>当然了，rand()的内部实现要比这个原理式子复杂得多了。</DIV>
<DIV>&nbsp;</DIV>
<DIV>
如果一个人真的想搞物理理论计算的话，这个c库的rand()函数是不可取的，应该去找一些更好的随机数产生器。当然了，如果是应付老龚的project的话，这个rand已经足够了。</DIV>
]]></description>
            <author>cloudfly</author>
            <comments>http://blog.sina.com.cn/s/blog_49d77e63010008gr.html#comment</comments>
            <pubDate>Fri, 30 Mar 2007 11:54:03 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_49d77e63010008gr.html</guid>
        </item>
        <item>
            <title>瞎侃</title>
            <link>http://blog.sina.com.cn/s/blog_49d77e63010008f3.html</link>
            <description><![CDATA[<DIV>回乡偶记：</DIV>
<DIV>
六合彩依旧，依旧是男女老少，农工商学医全民参与，只是人们已经没有前几年那么狂热了，以前因为买六合彩而家破人亡的事情时有发生，而今已经很少了。似乎有些人已经认识到“小赌怡情，大赌亡家”的真谛了，不过也有些人赌出了门路来的，慢慢地赌发了。</DIV>
<DIV>&nbsp;</DIV>
<DIV>
经济依旧萧条，街上买东西的人比买东西的人还多，以前我们镇还是挺热闹的，如今是冷落惨淡，毫无生气，以前我们县是广西的富强县，现在是贫困县，以前的工厂，如今多已倒闭。年初几那几天，到街上去转了一下，发现赌摊就有好几个，正当生意的摊点倒没几个。</DIV>
<DIV>&nbsp;</DIV>
<DIV>
依旧是赌博成风，打架成风，人人会赌博，连四五岁的小孩都会，别看是小小年纪，拿了压岁钱就去杀庄家，我哥那小儿子，不到八岁，就骨牌，麻将，扑克，样样精通，拿了麻将牌用手一摸就知道是什么牌了，比我还牛B，而且很多是都全家一块上的，看得我那个心寒啊。年轻人都爱打架，喜欢拉帮结派，打架杀人之事时有发生，我回到家的前几天，东平就有个姓刘的小子，在街上被人剁了，被砍了五十几刀，受到丧子之痛的父亲从外面赶回家后，召集刘氏家族的兄弟区报仇，仇人跑了，就铲村，然后再把街上姓朱人的铺头全部砸了（因为他儿子是被姓朱的人杀的），这事情搞得整个东平人心惶惶的，晚上七点左右街上就没有行人了。由于打架成风，所以谁最不怕死，最能打，别人就是怕你，忍让你，尊重你，青少年就会以这种人为榜样，到处打架出风头，舞刀弄枪的，从而形成一些尚武之风，很多人都想去学功夫，想去当兵，我哥那个大儿子，初中都没毕业，就整天嚷着要去当兵，以为当几年兵后回来就可以打遍天下无敌手。</DIV>
<DIV>&nbsp;</DIV>
<DIV>
初中还是那个初中，只是当年的新楼已经变旧楼了，依旧是学生欺负老师，哪个学生打架最厉害就做班长，不然谁能镇住他？这种人校长都敢拿刀砍的，班主任就更不敢惹他了。大堂哥的三个儿子，啊孙大，啊孙二，啊孙三，个个都是班长，天下是孙大先闯出来的，然后孙二借着哥哥的余威，孙三也是借着哥哥的余威，然后在我们旺茂初中打天下，这些小子，有时拿着五六十公分长的西瓜大刀去学校上课的，上面讲课的老师都胆战心惊的，怕这刀是冲着他来的。这些家伙，拿刀砍人就像砍西瓜一样，孙大，初中毕业后，去云南打工，不到两个月，就砍人了，然后回家了，孙二，在我们初中读不下了，然后去县里面读，也就几个月的时间，把人打伤了，这书没法读了，回家卖鱼去了，孙三嘛，去年初中毕业后，到市里的一个职校读书，上个学期把同学砍了，回家避难了。至于老四，也就是我哥哥的大儿子，现在读初三，借着他前面三个堂哥打下的江山，继续做旺茂初中的大哥大，听我嫂子说，上学期学校打电话来说，这学生学校不敢收了，下学期别过来了。孙大，孙二虽是我侄辈，亦比我小好几岁，不过如今也已成家，也收敛些了，没以前那么猖狂了，也开始知道养家糊口了。孙大已有一女儿，唉！！不知不觉我已经是做爷爷那一辈的人了，真是不知老将至也！</DIV>
<DIV>&nbsp;</DIV>
<DIV>
宗族观念依旧那么强，同姓的就是兄弟，那怕五千年前是同一家的，现在依旧是兄弟，每逢清明重阳的都要去祭祖，有时候搞个很大规模的祭祖，其他县市的同姓兄弟都过来，浩浩荡荡几千人去祭祖，好不热闹啊，烟花炮竹尽情地放，大年三十那天回家祭祖了，我们村的人把每家都要放的鞭炮先连接在一起，然后再燃放，我们村很小，也就一百来号人，不过鞭炮连在一起有四五百米长。宗族观念太强就会出现这样的现象：1，同姓都是兄弟姐妹，大家相互帮忙。2，同姓之间不能通婚，就是完全不相干的不同省份的都不行。3，容易打族架，就两个姓氏之间打架，这种架就像原始部落之间打仗一样，太可怕了，以姓氏划分仇人。4，弱肉强食，大姓欺负小姓，对于属于小姓的人，他们为人处事都会比较谨慎和理智一点，因为他们知道惹了大姓之人，就会死的很惨。5，打人之前，先问一下对方姓什么，如果是同姓的话，那就是兄弟，往往放他一马，如果是异性，并且是小姓的话，那就会打得很惨。6，重男轻女，香火观念强，一对夫妇，一定要生到一个男孩为止，不然的话，就会一直得生下去，一般情况下，至少要生两个男孩，这样比较保险，就算一个出事了，还有另一个；有些人为了家族的人丁兴旺一点，会尽可能的多生孩子的；这样的后果是，大家只注重生，而不注重养和教育。</DIV>
<DIV>&nbsp;</DIV>
<DIV>
对联依旧是我写，不同的是，以前是爷爷想对子，我来写，现在是自己想对子自己写，字也没以前的好了，上大学后，就没练过字，现在已经是一塌糊涂了，写起毛笔字来简直就是新手涂鸦，自己都看不下去了，还要把这些字贴到自己的家门口和邻居的家门口，Sigh!!!</DIV>
<DIV>&nbsp;</DIV>
<DIV>
老莫还是那样粗鲁豪放再加一点点猥琐，不拘小节，人际关系处理不好，唯一变化的是底气足些了，因为儿子是博中的准状元啊（因为现在是高二，成绩全校最好，保持此成绩，则清华北大，甚至香港大学都任他挑），这下儿子可给老爸挣足了面子了，老莫现在走路都抬头挺胸了。好像老莫的靠山张副校长已不在了，自我们毕业后，他再也没有当过班主任了，这也落个清闲，好好在家相妻教子。如今儿子也是学业有成了，不知老婆对他好点了没有，一辈子被老婆那样压着，也是难为他了。</DIV>
<DIV>&nbsp;</DIV>
<DIV>
男同学还是那鸟样，那张老脸几乎没什么变化，不同的是，以前的话题是学习和运动，现在是房子，轿车和女人。高中班上七十多个人，如今还继续上研究生的就四五个了，其他出来工作的如今已经是混得有模有样，真是“同学少年多不贱，洋房宝马样样有”。女同学变化可就大了，正所谓“女大十八变，越变越像潘金莲”，个个都是散发着洋洋女人味的成熟女性，当年的黄毛小丫头印象早已无处可觅了。</DIV>
]]></description>
            <author>cloudfly</author>
            <comments>http://blog.sina.com.cn/s/blog_49d77e63010008f3.html#comment</comments>
            <pubDate>Sun, 25 Mar 2007 08:09:05 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_49d77e63010008f3.html</guid>
        </item>
        <item>
            <title>瞎扯蛋</title>
            <link>http://blog.sina.com.cn/s/blog_49d77e63010008f2.html</link>
            <description><![CDATA[<DIV>
&nbsp;&nbsp;&nbsp;&nbsp;
刚打了两个多小时的羽毛球回来，好几久没有运动过了，大概有几个月了吧。这一下子把几个月的积蓄的精力全部发泄出来了，感觉就是爽啊，打得刘明辉都快要吐出来了，我以为我老了，体力不支了，没想到......看来我国大学生的身体素质有待提高啊。</DIV>
<DIV>
&nbsp;&nbsp;&nbsp;&nbsp;
回到宿舍，杨兄依旧在那里唧唧歪歪，想喝点热水，刚把热水器插上去，他就唐僧起来了，说什么浪费电啊，上个季度那么多电费就是这样插出来的，你们这些坏毛病啊，一回到宿舍就知道插，插，插.....
Org!我受不了了，只能找个借口敷衍一下他了，我就说最近大姨妈来了，不能和凉水，否则小腹会疼的，很点热水也不行吗？要一人为本，构建和谐社会。每天晚上洗澡时候，他就开始啰嗦了，每天洗洗洗洗...
洗你个头啊，身上有屎吗？天天洗，天天洗....,Oh
MyGod!老子没法活了，洗澡是我的习惯，哪天不洗，我会难受的，就像不吃饭会肚子饿一样，老杨这小子还想剥夺我洗澡的权利！我看这小子十有八九是被这次的电费单吓傻了，这次电费单是：2001度电，1169块RBM。TMD，这确实有点多了，我也觉得，我们宿舍以前最多的一次才六百多，这次番了一番，比我家两年的电费还多，我很怀疑电表快了，虽然姓过那小子常常带他女友回来做饭吃，也不至于用电量番一倍吧，不然他们的夫妻生活也太浪费了吧！看来结婚确实需要结实的经济基础。也怪不得老子每次都被女生拒绝了，原来是基础未扎实。这书我是没法念下去了，赶快出来工作挣钱才是王道啊。</DIV>
<DIV>
&nbsp;&nbsp;&nbsp;&nbsp;
又开始文献报告了，我又得忙上几天了。这东西也没啥意思，纯粹是浪费时间，有那个时间还不如让我回宿舍睡睡觉，养足了精神好好干活呢。要么讲的东西和自己没有什么关系，要么就是讲自己的东西，和下面听的人没有什么关系，基本是都是鸡同鸭讲，对牛弹琴，牛头不对马嘴。讲完后，还有问一些很傻叉的问题，根本就不是一个team的人，每个人搞得东西都不一样，根本讨论不起来，纯属瞎扯，还想学人家欧美的实验，都不看国情和具体实验室的情况，还美名其曰：与国际接轨，面向世界。还不如大家出外面酒家撮一顿，聊聊天，联络联络感情来得实际，在饭桌上讨论问题大家也放得开一些，气氛也轻松一些，而且大家的积极性也会更高，不像现在这样搞得大家都紧张兮兮的，坐在那个会议室如坐针毡，特别是一些新生。以前周老大在的时候那更惨了，她娘的，开个报告会，就像仇人见面一样，对一个傻B问题，最后吵个脸红脖子粗，几欲动手，何必呢？中国人的问题都是在饭桌上解决，没听说过多少个是在会议室里面解决的。</DIV>
<DIV>
&nbsp;&nbsp;&nbsp;&nbsp;</DIV>
]]></description>
            <author>cloudfly</author>
            <comments>http://blog.sina.com.cn/s/blog_49d77e63010008f2.html#comment</comments>
            <pubDate>Sun, 25 Mar 2007 07:07:51 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_49d77e63010008f2.html</guid>
        </item>
        <item>
            <title>matlab函数的整理</title>
            <link>http://blog.sina.com.cn/s/blog_49d77e630100084g.html</link>
            <description><![CDATA[<DIV><SPAN CLASS="oblog_text">&nbsp;</SPAN>
<P><SPAN CLASS="oblog_text">===============================================<br/>
小整理：MATLAB常用的基本数学函数<br/>
abs(x)：纯量的绝对值或向量的长度<br/>
angle(z)：复数z的相角(Phase angle)<br/>
sqrt(x)：开平方<br/>
real(z)：复数z的实部<br/>
imag(z)：复数z的虚部<br/>
conj(z)：复数z的共轭复数<br/>
round(x)：四舍五入至最近整数<br/>
fix(x)：无论正负，舍去小数至最近整数<br/>
floor(x)：地板函数，即舍去正小数至最近整数<br/>
ceil(x)：天花板函数，即加入正小数至最近整数<br/>
rat(x)：将实数x化为分数表示<br/>
rats(x)：将实数x化为多项分数展开<br/>
sign(x)：符号函数 (Signum function)。</SPAN></P>
<P>当x&lt;0时，sign(x)=-1；</P>
<P>当x=0时，sign(x)=0;</P>
<P>当x&gt;0时，sign(x)=1。<br/>
rem(x,y)：求x除以y的馀数<br/>
gcd(x,y)：整数x和y的最大公因数<br/>
lcm(x,y)：整数x和y的最小公倍数<br/>
exp(x)：自然指数<br/>
pow2(x)：2的指数<br/>
log(x)：以e为底的对数，即自然对数或<br/>
log2(x)：以2为底的对数<br/>
log10(x)：以10为底的对数<br/>
===============================================<br/>
小整理：MATLAB常用的三角函数<br/>
sin(x)：正弦函数<br/>
cos(x)：馀弦函数<br/>
tan(x)：正切函数<br/>
asin(x)：反正弦函数<br/>
acos(x)：反馀弦函数<br/>
atan(x)：反正切函数<br/>
atan2(x,y)：四象限的反正切函数<br/>
sinh(x)：超越正弦函数<br/>
cosh(x)：超越馀弦函数<br/>
tanh(x)：超越正切函数<br/>
asinh(x)：反超越正弦函数<br/>
acosh(x)：反超越馀弦函数<br/>
atanh(x)：反超越正切函数<br/>
====================================================<br/>
小整理：适用於向量的常用函数有：<br/>
min(x): 向量x的元素的最小值<br/>
max(x): 向量x的元素的最大值<br/>
mean(x): 向量x的元素的平均值<br/>
median(x): 向量x的元素的中位数<br/>
std(x): 向量x的元素的标准差<br/>
diff(x): 向量x的相邻元素的差<br/>
sort(x): 对向量x的元素进行排序（Sorting）<br/>
length(x): 向量x的元素个数<br/>
norm(x): 向量x的欧氏（Euclidean）长度<br/>
sum(x): 向量x的元素总和<br/>
prod(x): 向量x的元素总乘积<br/>
cumsum(x): 向量x的累计元素总和<br/>
cumprod(x): 向量x的累计元素总乘积<br/>
dot(x, y): 向量x和y的内积<br/>
cross(x, y): 向量x和y的外积<br/>
（大部份的向量函数也可适用於矩阵，详见下述。）<br/>
====================================================<br/>
小整理：MATLAB的查询命令<br/>
help：用来查询已知命令的用法。例如已知inv是用来计算反矩阵，键入<br/>

help inv即可得知有关inv命令的用法。（键入help
help则显示help的用<br/>
法，请试看看！）<br/>
lookfor：用来寻找未知的命令。例如要寻找计算反矩阵的命令，可键入<br/>

lookfor<br/>
inverse，MATLAB即会列出所有和关键字inverse相关的指令。找到所需的<br/>

命令後，即可用help进一步找出其用法。（lookfor事实上是对所有在搜寻<br/>

路径下的M档案进行关键字对第一注解行的比对，详见後叙<br/>
===============================================<br/>
下表即为MATLAB常用到的永久常数。<br/>
小整理：MATLAB的永久常数<br/>
i或j：基本虚数单位（即）<br/>
eps：系统的浮点（Floating-point）精确度<br/>
inf：无限大， 例如1/0<br/>
nan或NaN：非数值（Not a number），例如0/0<br/>
pi：圆周率 p（= 3.1415926...）<br/>
realmax：系统所能表示的最大数值<br/>
realmin：系统所能表示的最小数值<br/>
nargin: 函数的输入引数个数<br/>
nargin: 函数的输出引数个数<br/>
====================================================<br/>
1-7、结束MATLAB</P>
<P>有三种方法可以结束MATLAB：</P>
<P>&nbsp;&nbsp; 1.键入exit<br/>
&nbsp;&nbsp; 2.键入quit<br/>
&nbsp;&nbsp;
3.直接关闭MATLAB的命令视窗（Command window）<br/>
====================================================<br/>
小整理：MATLAB基本绘图函数<br/>
plot: x轴和y轴均为线性刻度（Linear scale）<br/>
loglog: x轴和y轴均为对数刻度（Logarithmic scale）<br/>
semilogx: x轴为对数刻度，y轴为线性刻度<br/>
semilogy: x轴为线性刻度，y轴为对数刻度<br/>
====================================================<br/>
若要画出多条曲线，只需将座标对依次放入plot函数即可：<br/>
plot(x, sin(x), x, cos(x));<br/>
若要改变颜色，在座标对後面加上相关字串即可：<br/>
plot(x, sin(x), 'c', x, cos(x), 'g');<br/>
若要同时改变颜色及图线型态（Line
style），也是在座标对後面加上相<br/>
关字串即可：<br/>
plot(x, sin(x), 'co', x, cos(x), 'g*');<br/>
====================================================<br/>
小整理：plot绘图函数的叁数<br/>
字元&nbsp; 颜色 字元&nbsp; 图线型态<br/>
y&nbsp; 黄色 .&nbsp; 点<br/>
k&nbsp; 黑色 o&nbsp; 圆<br/>
w&nbsp; 白色 x&nbsp; x<br/>
b&nbsp; 蓝色 +&nbsp; +<br/>
g&nbsp; 绿色 *&nbsp; *<br/>
r&nbsp; 红色 -&nbsp; 实线<br/>
c&nbsp; 亮青色 :&nbsp; 点线<br/>
m&nbsp; 锰紫色 -.&nbsp; 点虚线<br/>
&nbsp;&nbsp; --&nbsp;
虚线<br/>
====================================================<br/>
图形完成後，我们可用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范<br/>

围：</P>
<P>axis([0, 6, -1.2, 1.2]);</P>
<P>此外，MATLAB也可对图形加上各种注解与处理：</P>
<P>xlabel('Input Value'); % x轴注解<br/>
ylabel('Function Value'); % y轴注解<br/>
title('Two Trigonometric Functions'); % 图形标题<br/>
legend('y = sin(x)','y = cos(x)'); % 图形注解<br/>
grid on; % 显示格线</P>
<P>我们可用subplot来同时画出数个小图形於同一个视窗之中：</P>
<P>subplot(2,2,1); plot(x, sin(x));<br/>
subplot(2,2,2); plot(x, cos(x));<br/>
subplot(2,2,3); plot(x, sinh(x));<br/>
subplot(2,2,4); plot(x, cosh(x));</P>
<P><br/>
MATLAB还有其他各种二维绘图函数，以适合不同的应用，详见下表。</P>
<P>====================================================<br/>
小整理：其他各种二维绘图函数<br/>
bar&nbsp; 长条图<br/>
errorbar&nbsp; 图形加上误差范围<br/>
fplot&nbsp; 较精确的函数图形<br/>
polar&nbsp; 极座标图<br/>
hist&nbsp; 累计图<br/>
rose&nbsp; 极座标累计图<br/>
stairs&nbsp; 阶梯图<br/>
stem&nbsp; 针状图<br/>
fill&nbsp; 实心图<br/>
feather&nbsp; 羽毛图<br/>
compass&nbsp; 罗盘图<br/>
quiver&nbsp; 向量场图<br/>
====================================================<br/>
以下我们针对每个函数举例。</P>
<P>当资料点数量不多时，长条图是很适合的表示方式：</P>
<P>close all; % 关闭所有的图形视窗<br/>
x=1:10;<br/>
y=rand(size(x));<br/>
bar(x,y);</P>
<P><br/>
如果已知资料的误差量，就可用errorbar来表示。下例以单位标准差来做<br/>

资料的误差量：</P>
<P>x = linspace(0,2*pi,30);<br/>
y = sin(x);<br/>
e = std(y)*ones(size(x));<br/>
errorbar(x,y,e)</P>
<P>
对於变化剧烈的函数，可用fplot来进行较精确的绘图，会对剧烈变化处进<br/>

行较密集的取样，如下例：</P>
<P>fplot('sin(1/x)', [0.02 0.2]); % [0.02 0.2]是绘图范围</P>
<P><br/>
若要产生极座标图形，可用polar：</P>
<P>theta=linspace(0, 2*pi);<br/>
r=cos(4*theta);<br/>
polar(theta, r);</P>
<P>
对於大量的资料，我们可用hist来显示资料的分　情况和统计特性。下面<br/>

几个命令可用来验证randn产生的高斯乱数分　：</P>
<P>x=randn(5000, 1); % 产生5000个 ?=0，?=1 的高斯乱数<br/>
hist(x,20); % 20代表长条的个数</P>
<P><br/>
rose和hist很接近，只不过是将资料大小视为角度，资料个数视为距离，?⒂眉座标绘制表示?<br/>

x=randn(1000, 1);<br/>
rose(x);</P>
<P>stairs可画出阶梯图：</P>
<P>x=linspace(0,10,50);<br/>
y=sin(x).*exp(-x/3);<br/>
stairs(x,y);</P>
<P>stems可产生针状图，常被用来绘制数位讯号：</P>
<P>x=linspace(0,10,50);<br/>
y=sin(x).*exp(-x/3);<br/>
stem(x,y);</P>
<P>stairs将资料点视为多边行顶点，并将此多边行涂上颜色：</P>
<P>x=linspace(0,10,50);<br/>
y=sin(x).*exp(-x/3);<br/>
fill(x,y,'b'); % 'b'为蓝色</P>
<P><br/>
feather将每一个资料点视复数，并以箭号画出：</P>
<P>theta=linspace(0, 2*pi, 20);<br/>
z = cos(theta)+i*sin(theta);<br/>
feather(z);</P>
<P>compass和feather很接近，只是每个箭号的起点都在圆点：</P>
<P>theta=linspace(0, 2*pi, 20);<br/>
z = cos(theta)+i*sin(theta);<br/>
compass(z);<br/>
--<br/>
3.基本XYZ立体绘图命令</P>
<P>在科学目视表示（Scientific
visualization）中，三度空间的立体图是<br/>
一个非常重要的技巧。本章将介绍MATLAB基本XYZ三度空间的各项绘图命<br/>

令。</P>
<P>
mesh和plot是三度空间立体绘图的基本命令，mesh可画出立体网状图，<br/>

plot则可画出立体曲面图，两者产生的图形都会依高度而有不同颜色。下<br/>

列命令可画出由函数 形成的立体网状图:<br/>
x=linspace(-2, 2, 25); % 在x轴上取25点<br/>
y=linspace(-2, 2, 25); % 在y轴上取25点<br/>
[xx,yy]=meshgrid(x, y); % xx和yy都是21x21的矩阵<br/>
zz=xx.*exp(-xx.^2-yy.^2); % 计算函数值，zz也是21x21的矩阵<br/>
mesh(xx, yy, zz); % 画出立体网状图</P>
<P><br/>
surf和mesh的用法类似：</P>
<P>x=linspace(-2, 2, 25); % 在x轴上取25点<br/>
y=linspace(-2, 2, 25); % 在y轴上取25点<br/>
[xx,yy]=meshgrid(x, y); % xx和yy都是21x21的矩阵<br/>
zz=xx.*exp(-xx.^2-yy.^2); % 计算函数值，zz也是21x21的矩阵<br/>
surf(xx, yy, zz); % 画出立体曲面图</P>
<P>
为了方便测试立体绘图，MATLAB提供了一个peaks函数，可产生一个凹凸有<br/>

致的曲面，包含了三个局部极大点及三个局部极小点，其方程式为：</P>
<P>要画出此函数的最快方法即是直接键入peaks：</P>
<P>peaks</P>
<P>z = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) ...<br/>
- 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2) ...<br/>
- 1/3*exp(-(x+1).^2 - y.^2)</P>
<P>
我们亦可对peaks函数取点，再以各种不同方法进行绘图。meshz可将曲面<br/>

加上围裙：</P>
<P>[x,y,z]=peaks;<br/>
meshz(x,y,z);<br/>
axis([-inf inf -inf inf -inf inf]);</P>
<P>waterfall可在x方向或y方向产生水流效果：</P>
<P>[x,y,z]=peaks;<br/>
waterfall(x,y,z);<br/>
axis([-inf inf -inf inf -inf inf]);</P>
<P>下列命令产生在y方向的水流效果：</P>
<P>[x,y,z]=peaks;<br/>
waterfall(x',y',z');<br/>
axis([-inf inf -inf inf -inf inf]);</P>
<P>meshc同时画出网状图与等高线：</P>
<P>[x,y,z]=peaks;<br/>
meshc(x,y,z);<br/>
axis([-inf inf -inf inf -inf inf]);</P>
<P>surfc同时画出曲面图与等高线：</P>
<P>[x,y,z]=peaks;<br/>
surfc(x,y,z);<br/>
axis([-inf inf -inf inf -inf inf]);</P>
<P>contour3画出曲面在三度空间中的等高线：</P>
<P>contour3(peaks, 20);<br/>
axis([-inf inf -inf inf -inf inf]);</P>
<P>contour画出曲面等高线在XY平面的投影：</P>
<P>contour(peaks, 20);</P>
<P>plot3可画出三度空间中的曲线：</P>
<P>t=linspace(0,20*pi, 501);<br/>
plot3(t.*sin(t), t.*cos(t), t);</P>
<P>亦可同时画出两条三度空间中的曲线：</P>
<P>t=linspace(0, 10*pi, 501);<br/>
plot3(t.*sin(t), t.*cos(t), t, t.*sin(t), t.*cos(t), -t);</P>
<P>y(2:4)-1 % 取出y的第二至第四个元素来做运算</P>
<P>同样的方法可用於产生公差为1的等差数列：x = 7:16</P>
<P>x = 7:3:16 % 公差为3的等差数列</P>
<P>x = linspace(4, 10, 6) % 等差数列：首项为4,末项为10,项数为6</P>
<P>若要重新安排矩阵的形状，可用reshape命令：B = reshape(A, 4, 2) %
4是新矩阵的列数，2是新矩阵的行数</P>
<P>举例来说，下列命令会产生一个长度为6的调和数列（Harmonic<br/>
sequence）：<br/>
x = zeros(1,6); % x是一个16的零矩阵<br/>
for i = 1:6,<br/>
x(i) = 1/i;<br/>
end</P>
<P>
for咳可以是多层的，下例产生一个16的Hilbert矩阵h，其中为於第i<br/>

列、第j行的元素为：<br/>
h = zeros(6);<br/>
for i = 1:6,<br/>
for j = 1:6,<br/>
h(i,j) = 1/(i+j-1);<br/>
end<br/>
end</P>
<P><br/>
format rat % 使用分数来表示数值<br/>
&gt;&gt;disp(x)<br/>
&nbsp;1 1/2 1/3 1/4 1/5 1/6</P>
<P><br/>
function output = fact(n)<br/>
% FACT Calculate factorial of a given positive integer.<br/>
output = 1;<br/>
for i = 1:n,<br/>
output = output*i;<br/>
end<br/>
其中fact是函数名，n是输入引数，output是输出引数，而i则是此函数用<br/>

到的暂时变数。要使用此函数，直接键入函数名及适当输入引数值即可：</P>
<P>
MATLAB的函数也可以是递渴降模≧ecursive），也就是说，一个函数可以<br/>

呼叫它本身。举例来说，n! =<br/>
n*(n-1)!，因此前面的阶乘函数可以改成递渴降男捶ǎ<br/>
function output = fact(n)% FACT Calculate factorial of a given
positive integer recursively.<br/>
if n == 1, % Terminating condition<br/>
output = 1;<br/>
return;<br/>
end<br/>
output = n*fact(n-1);<br/>
在写一个递亢数时，一定要包含结束条件（Terminating<br/>
condition），否则此函数将会一再呼叫自己，永远不会停止，直到电脑的<br/>

记忆体被耗尽为止。以上例而言，n==1即满足结束条件，此时我们直接将<br/>

output设为1，而不再呼叫此函数本身。</P>
</DIV>
]]></description>
            <author>cloudfly</author>
            <comments>http://blog.sina.com.cn/s/blog_49d77e630100084g.html#comment</comments>
            <pubDate>Fri, 09 Mar 2007 08:56:14 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_49d77e630100084g.html</guid>
        </item>
        <item>
            <title>SICKNESS</title>
            <link>http://blog.sina.com.cn/s/blog_49d77e6301000812.html</link>
            <description><![CDATA[<DIV>&nbsp;&nbsp;&nbsp;
这下真的是病倒了，从来没有这么严重过。也许是年纪大了，身体不如从前了；抑或是寒假在家天天大吃大喝狂睡无运动，导致身体免疫能力下降了；也可能是家乡和上海的温差太大，身体一时间还没有适应过来吧......</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;
以前感冒时，都是喝一杯热水（有时会吃两片维c银翘片），然后好好的睡一觉，第二天就一定会好的了。这次我也是照此方法去做，没想到第二天起来，发现病情没有好转，而且严重了许多，不停的打喷嚏，流鼻涕，扁桃体发炎很严重几乎把喉咙都堵塞了，咽喉疼痛，说话都很苦难，身体一点力气都没有，宛如一个垂死之重病人。回顾我前半生，从来没有得过这么严重的病，到今天已经四天了，病情虽然好了很多，但还没有痊愈，嗓子还是很嘶哑，还有一点咳嗽，这也可能是我没有去看医生，让病情自己好转，让身体自己康复的原因吧；因为我现在还年轻，不宜有点病就去看医生，吃药，打针，这样可能会降低了身体的免疫力，这也是我患病时候很少吃药的原因。我想，这次真的是病倒了，严重的损伤身体了，没有十天半个月的是很难回到原先的健康状态了。</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp;
每次生病时，我都回躺在床上想原因，这次依旧。把这次感冒的可能原因前前后后，仔仔细细的想了一遍，然后再好好的分析分析，觉得最主要的原因是，下火车时候，穿的太少了（就一件背心），家乡的温度很高，我就穿这么一件就去坐火车了，把其他的衣服都放在皮箱了，火车上又是有空调的，温度和家乡的一样。到上海后，我也知道上海的室外问题比车上低很多的，但是衣服都放在皮箱里，懒得再翻出来了，先忍忍，回到学校再说。千辛万苦终于冻到学校了，发现上个学期回去的时候没有带一卡通回去，shit!
进不去宿舍，还得再冻一冻，到处去借一卡通。就应该是这么一热一冷的转换，我就中镖了！看来杨老师平时在实验室时候叫我不要把室内的空调温度调太高，防止处去时温差太大受不了，容易感冒，这是很有道理的。</DIV>
<DIV>&nbsp;</DIV>
<DIV>
&nbsp;&nbsp;&nbsp;&nbsp;
回学校已经好几天了，还没有去过实验室跟那几个boss打招呼呢，心中有愧啊，当初口口声声说要早点回学校的。</DIV>
]]></description>
            <author>cloudfly</author>
            <comments>http://blog.sina.com.cn/s/blog_49d77e6301000812.html#comment</comments>
            <pubDate>Sat, 03 Mar 2007 03:48:04 GMT+8</pubDate>
            <guid>http://blog.sina.com.cn/s/blog_49d77e6301000812.html</guid>
        </item>
    </channel>
</rss>
