再会英雄

再会英雄

=============

 

因家事之扰,辞去了在盛大的工作,携妻(joy)一同来到北京。这已经是一月之
前的事了,一个月来,搬家、租房、办理网络……以及我兄长在北京的一些私务
事,忙得焦头烂额。现在总算安顿了下来,正这时优快云英难会的邀请函也寄了过
来。哈哈,当然得去,不过再也不是什么架构师的头衔了。

毕竟人在北京了,不必如去年一般经受飞机的惊骇,本以为可以欣然而往,但好
事多磨:我忘了带邀请函了。于是joy只好再开着车回到租住处,这一来一回地折
腾,到会场时已近10点。

立即被博文的海猫兄拉去:我的《JavaScript语言精髓与编程实践》也在这时做
首发。有趣的是,上一本《大道至简》也正是在去年的英雄会上首发,时隔一年,
正好发布一本新书。首发归首发,签售我是不敢做的(自认还不够格),不过答
应了海猫做一些签名本,于是抱了一些书到旁边的会议室,偷偷摸摸地写签名。
老实说,我读书时还练过五、六年字,但到现在,大概得有十来年不怎么用笔写
字了,所以这书法实在烂得可以,因此,拿到签名本的兄弟不要骂我便好。

签完出来,来到china-pub的展售点:自己写的书,还是要弄本来看的。不过这付
费成了尴尬事:博文的、互动出版的朋友不少,我这作者自己的首发书还得掏钱
下单打折扣……这个这个~~ 我一心要当自己的第一顾客,余广和海猫兄在旁边抢
着要把书送给我……俣哈哈,还是joy聪明:算我买的好吧,我要做老公的第一个
读者。光当,这才都没得争了……

再见老朋友们,第一件事就是发名片,第二件事就是收名片。这次来了北京,换
了联系方法,也换了个人身份,所以名片重印了。又是请好友colorme的设计:
一点墨迹沁在宣纸上的效果,那墨迹特地被裁去了一部分,时时提醒着自己“你
并没有那么多墨水”。这张名片可是得了许多朋友的好评,另一方面也讶异着我
为何来了北京,于是乎又一遍一遍地解释……

如此往复大概一个来小时,我也没能进了会场。待进了会场,又发现空气闷得可
以,呆了一小会儿便拖了joy出来,在外边找了沙发聊天。后来发现,这沙发选的
位置真的是好呀:就在厕所旁边。各位大牛大侠大仙有能耐不吃不喝,可没有能
耐不上厕所,于是乎一会儿蒋涛来了,一会儿曾总来了,一会儿某某老大又来了,
不一会儿,这个休息点旁边便围上了N多人然后东拉西扯不知端的……

也不知是谁怎么着地说了声“饭饭”,随即人群便作鸦雀散了。午餐时间,跟钱
宏武在一桌上,看着他超级无限好的胃口,我实在是觉得自己太亏欠了自己的胃
肠。不过这个耳界眼界却是大开:钱宏武能侃能讲,思维又跳跃。我的基本结论
是:他的大脑是集群的,而嘴大概是超线程,或独立多核……哈哈。

然后是下午场。下午场真正的重头戏是在两个论坛上,周前辈的讲话很强大很精
彩很直接,刘韧的主持仍旧很赤膊很暴力很冒泡,各位嘉宾的表现之出色更是无
需我多言,所以我也不多言了,有兴趣的狗狗一下官方新闻便好。我还是小众地
跟大家白活一下闲天,例如joy如何做了博文的托儿,以及《编程之美》的八作者
难题(注意不是八皇后问题)。

说到手上的这本《JavaScript语言精髓与编程实践》,其实也没有留下多久,就
送给了在会场外碰见的徐建明。这兄弟总是要与众不同,去年送他的《大道至简》
签名本上就多写了句“有趣的话”,哈哈今年当然也不例外。不过这“有趣的话”
是什么,有心要追问的可以找他去看,这里我先卖个关子。

随后仍是跑去厕所外的休息处与一群人聊天,只不过现下这个群体中多了孟岩欧
阳,话题便也跑得没边没沿地了……又不久,梅子和几位朋友一起过来,没想到
的是51js里的月影便在其中,直到一会儿月影发了短信过来,才知道自己有眼无
珠啊~~又失去了一次认识月影MM的机会,实在是差点悔得肠子都青了。于是又打
电话邀了月影过来一起聊天,不过不过,至于月影是GG还是MM的问题,有涉及人
家的隐私,大家自作自想或者到51js里头去翻老贴子好了,我这里只透露一点无
关紧要的:月影真的很瘦很秀气,哈哈哈哈。

答应过月影要送一本《JavaScript语言精髓与编程实践》的,于是又让joy去买,
这一下弄了两本来,除了赠给月影的,另一本也没留下多久。再后来又买一次,
又买一次……乌拉,这joy是不是博文安排的托儿呀~~

《编程之美》的作者有八个之多,这我以前也是不知的——起码没有一一地去数
过,所以听到铁锋说起来的时候,还是很惊讶。周筠老师在一边帮场,说出版社
的规定是书上的署名不能超过四个,而这八名作者谁也不愿意抢了功劳,于是只
得署成“《编程之美》小组”。不过这样的署名,其实很难得读者认可的。铁锋
随后说,这八个人署名的问题真令人挠头……我便在旁边说,再版的时候,倒是
可以把它当成面试难题:如何在封面上署名而又不让八个人存在争议呢?话音还
没落呢,旁边的某某老师就说了,可以署成赵钱、孙李、周吴、郑王这样,每人
名字中取一个字就可以了;然后封面上做一副图,包含着八个人的名字……

我彻底地被雷到了。因为我原本想着,要有一个排序算法或者优先权算法,然后
由一套可以网络化、自维护的规则驱动着,在网上公开征集个十天半个月,最后
得到一个完全客观的排名……类似于此的种种种种想法,然而最终的答案,原本
可以简单得只用赵钱孙李来排排就好。哎~~然而随后我又小心眼了一下:即便是
赵钱孙也有个姓氏的排名啊,这个排名又如何顺序呢?再则图形也有个方位呀,
比如上下左右也是分主客的,这又如何排座次呢?——直到英雄会结束,这个问
题都困扰着我,恨只恨没能拿这个问题请教下下各路神仙,没准数据库有数据库
的解法,BS有BS的路数,总比眼下拿了个赵钱孙方案,心下惴惴惶惶的好。

玩笑归玩笑,就当我顺道儿给《编程之美》做个广告好了。再说回英雄会,其时
已经是宴散了,看着各路山寨兄弟、江湖大佬、豪侠奇士们依稀散去,回顾周立
功老师所讲事业之难、英雄之艰,彼等种种啊,哪又能是一个会场、几句笑谈可
以讲得全的。

是时概叹吁唏:昨夜方泸闵,此时已京中。将相王侯府,笑谈作一梦。回见来时
路,山峦几多重。俯仰清声处,执手是英雄啊。不过感概归感概,照例地还是拖
了几个老朋友,找了个小馆子,点了些小酒菜,谈笑间不是微软就是IBM。哈哈,
怕也就在这酒桌之上,还能寻回一些程序员的本色味道来罢。

 

 

又,拍的照片都被joy征用了,有兴趣的不妨去看她的blog:
http://spaces.xinmin.cn/index.php?uid-4491

<think>好的,我现在需要帮助用户解决关于生成随机矩阵并绘制其奇异值图像的问题。首先,我需要理解用户的具体需求。用户给出的命令是B=randn(20,40),然后绘制它的奇异值图像,并生成完整的MATLAB代码。 首先,我得确认用户对MATLAB的基本操作是否熟悉。randn(20,40)会生成一个20行40列的矩阵,元素服从标准正态分布。接下来,绘制奇异值图像需要计算矩阵的奇异值,通常使用svd函数。用户可能需要的是将奇异值按降序排列后绘制成折线图或条形图,通常用semilogy来显示对数刻度,因为奇异值衰减可能很快。 然后,我需要考虑代码的完整性。除了计算和绘图,还需要包括图形标签,比如标题、坐标轴标签,以及可能的网格线,使图像更清晰。用户可能还希望了解奇异值的分布情况,比如最大值、最小值,或者衰减速度,这些可以作为附加信息添加到代码的注释或输出中。 接下来,考虑用户可能的背景。如果他们是在学习线性代数或数值分析,奇异值分解(SVD)是理解矩阵性质的重要工具,比如矩阵的秩、条件数等。绘制奇异值图像可以帮助可视化这些性质。因此,在注释或解释中加入这些点可能对用户有帮助。 然后,我需要确保代码的正确性。例如,使用svd(B)返回的奇异值已经是按降序排列的,所以不需要额外排序。绘图时,semilogy适合显示数量级的变化,而stem可能更适合显示离散值,但用户可能更倾向于简单的折线图。需要确定哪种更适合,通常semilogy更常见于奇异值图。 另外,考虑代码的可读性。变量命名清晰,添加必要的注释,让用户容易理解每一步的作用。例如,解释svd函数的作用,以及绘图命令的参数意义。 可能的错误点:用户可能混淆randn和rand,前者是正态分布,后者是均匀分布,但用户明确用了randn,所以没问题。另一个点是绘图时的索引,奇异值数量等于矩阵较小的维度,这里是20,所以横轴应该是1到20。 最后,生成完整的代码,并附带简要说明,解释代码的功能和结果的含义,帮助用户理解他们得到的结果是什么,以及如何解读奇异值图像。比如,奇异值的衰减速度可以反映矩阵的可逆性、稳定性等性质。</think>以下是生成随机矩阵并绘制其奇异值图像的完整 MATLAB 代码及解释: ```matlab % 生成20×40的随机矩阵(元素服从标准正态分布) B = randn(20, 40); % 计算奇异值分解(Singular Value Decomposition) [U, S, V] = svd(B); % 提取奇异值(S矩阵的对角线元素) singular_values = diag(S); % 绘制奇异值分布图(对数坐标系) figure; semilogy(singular_values, 'bo-', 'LineWidth', 1.5); grid on; xlabel('奇异值序号'); ylabel('奇异值大小(对数刻度)'); title('随机矩阵B的奇异值分布'); axis tight; % 显示前5个奇异值 disp('前5个奇异值:'); disp(singular_values(1:5)); ``` 代码执行效果: 1. 生成 20×40 的随机矩阵 B,元素服从 N(0,1) 分布 2. 计算矩阵的奇异值(共20个,因为矩阵行数更小) 3. 绘制对数坐标下的奇异值衰减曲线 4. 在命令窗口显示前5个最大奇异值 现象解释: - 奇异值会呈现典型的指数衰减趋势 - 最大的奇异值约为矩阵维度的平方根(√20≈4.47) - 最小奇异值接近0(说明矩阵是满秩的,但存在数值上的微小奇异性) 扩展应用建议: 1. 可用 `stem` 代替 `semilogy` 绘制离散杆状图 2. 添加 `hold on; plot(diag(S), 'r--')` 可同时显示线性坐标系曲线 3. 计算条件数可用 `cond(B)`,它等于最大奇异值与最小奇异值的比值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值