码迷,mamicode.com
首页 > 其他好文 > 详细

OpenGLES 如何在十天内掌握线性代数 - 希望这是真的!

时间:2014-05-11 03:43:02      阅读:319      评论:0      收藏:0      [点我收藏+]

标签:android   des   cWeb   style   blog   class   

OpenGLES 如何在十天内掌握线性代数 - 希望这是真的!

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es)

本文遵循“署名-非商业用途-保持一致”创作公用协议

转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino否则,出自本博客的文章拒绝转载或再转载,谢谢合作。


以下网易公开课相比较而言,可汗学院的视频更基础一些。字幕翻译也都不错,网易精品来着,不可小觑。
可汗学院公开课:线性代数

麻省理工公开课:线性代数


                                                                                                                                              
线性代数标准教材中的内容目录,这个有助于整体把握需要学习的内容,时刻掌握当前研究的部分中,都对应哪些章节,这样可能就是后文中的快速扎实的学习方法了吧。
前 言

第一章 行列式
  1.1 n阶行列式
  1.2 行列式的性质
  1.3 行列式的计算
  1.4 Laplace定理
  1.5 Cramer法则

第二章 矩阵
  2.1 矩阵的概念
  2.2 矩阵的运算
  2.3 可逆矩阵
  2.4 矩阵的分块
  2.5 初等变换与矩阵的秩
  2.6 分块矩阵的初等变换
  2.7 高斯消元法

第三章 n维向量
  3.1 n维向量
  3.2 向量组的线性关系
  3.3 向量组的秩
  3.4 齐次线性方程组
  3.5 非齐次线性方程组

第四章 线性空间
  4.1 线性空间的概念
  4.2 维数、基与坐标
  4.3 基变换与坐标变换
  4.4 欧氏空间

第五章 矩阵的对角化
  5.1 矩阵的特征值与特征向量
  5.2 相似矩阵和矩阵的对角化
  5.3 正交阵和实对称阵的对角化

第六章 二次型
  6.1 基本概念及其标准形式
  6.2 化实二次型为标准型
  6.3 实二次型的正惯性指数
  6.4 正定二次型

第七章 线性变换
  7.1 线性变换的概念
  7.2 线性变换与矩阵
  7.3 线性变换的特征子空间、值域和核
  7.4 欧氏空间的正交变换和对称变换

                                                                                                                                              
据说这本书很牛叉,虽然当当里,买的人不错,但这个量相较其它书来说也是不错了,有几个人喜欢看这种让人头皮发麻的内容呢,除非像俺一样被程序里逼得麻了N回了,最终还是觉得用这本书来麻一回,总比以后接着被麻要强。谁说不是呢?!
希望明天能送到,赶周末加加班,研究研究,要不真就黔驴技穷了。要想黔驴有技可施,那得先吃草料,没草料,哪来的东西吐出来再嚼呢,这个学名好像叫反刍吧,不知道驴是否反刍,我只知道,学习东西,俺总是先在有草的时侯,尽量开大胃口;有空的时侯,再吐出来嚼烂再咽。吃饭的话,可能真不行,还没那功夫bubuko.com,布布扣
bubuko.com,布布扣
bubuko.com,布布扣
bubuko.com,布布扣

                                                                                                                                              
上面的两部视频教程,想起个早些年做公司内培训的事情。
Visual Studio 有一套自已的版本控制系统,以前叫 Visual SourceSafe,简称VSS,后来随着 VS 功能的强大,推出了 Team Foundation Server ,简称 TFS,详细参考这里了解更多。
我当时负责一个项目,一方面要用 VS 做 WEB管理端,另一方面要兼顾 C++ 硬件控制部分,最后就是核心控制部分,是在 SQLSERVER 中使用存储过程完全全部控制逻辑,此种方案的时效性足以满足项目需要。
三方代码,要统一管理起来,进行定期的代码审核 (虽然质管部门负责审核,但正像部门经理跟质管部所讲,这个项目太高深,你们审不了!不过在我看来,以前的项目,好像也都是我们自已在审,然后请他们这些闲人帮忙写我们不熟的那些个文档,而实际上,这个项目也真的没那么高深,只是一个较好的技术组合而已),最终选择了以SVN作为版本库。
经过一段时间的研究和对一个开源VS下使用的SVN插件的修改扩展,很好解决了这些融合问题。接下来,就是要普及,需要做个培训,当前讲稿必不可少。
关于PPT真的不太在行,并不是怎么做,而是做些什么,经多方请教之后,总结出来一句话:
1、PPT 上只列提纲,尽量少的内容,不超过三句话最好;
2、培训时多说,针对每个提纲能说个不停。
刚开始很疑惑,后来找个“明白人”打听了一下,才知道其中道理:
写得少,说明你有高度;
说得多,说明你有深度!
我了个去,就这一条理论,确实很管用,后来到公司的知识库中,逐个看了别人讲过的讲稿,确实都是这一风格,而且都很受追捧和领导赏识。

上面说了这些,其实并不是我想推荐大家去效仿的,相反,感觉如果你能把说出来的东西再补充到讲稿中去,这份讲稿才有份量,也是值得作为公司级优质文件长期保留的,要不然,浪费那么多磁盘空间,更浪费想要从知识库中复用知识人的时间和精力。

下面这张图是从网上截的,完全是书本上的删减,并不能给我们带来更多有益的东西,这可能就叫“形式主义”吧,也许还有更好的形容词,不过本人才疏学浅,一时想不到,留给看客们更多的想像空间吧......
bubuko.com,布布扣


                                                                                                                                              
终于把下面这篇文章的 译言 网的链接带上了,原来就是多选一块儿,细心和耐心往往可能节约你很多时间和精力!

斯考特·杨在12个月内自学完成了4年麻省理工学院计算机科学的33门课程,并通过了MIT的实际测试。平均算来,杨修完每门课程大概只需要一个半星期。诀窍在于,他有一套加速学习的策略,而且这套策略,并不只是天才们的专利。

如何在十天内掌握线性代数

译者:MapleFlying原文作者:Study Hacks 
发布:2012-11-01 14:13:48挑错 | 查看译者版本 | 收藏本文

bubuko.com,布布扣

最近,我的朋友斯考特·杨(Scott Young)成就了一个惊人的壮举:他在一年之内,完成了传说中的MIT计算机科学课程表的全部33门课,从线性代数到计算理论。最重要的是,他是自学的,观看在线教程讲座,并用实际的考试作自我评估。(到斯考特的FAQ页面,看看他如何完成这个挑战)

按照他的进度,读完一门课程大概只需要1.5个星期。我坚信,能快速掌握复杂信息,对成就卓越事业至关重要。因此,我很自然地问起斯考特,让他给我们分享他的学习奥秘。所幸他答应了。接下来是一份斯考特的详细解说稿,深入剖析他的学习技巧(包括具体例子),展示他如何拿下这MIT挑战。以下时间交给斯考特……

看我怎么驾驭MIT计算机科学的课程

bubuko.com,布布扣我老想着学快一点,再快一点,并为此兴奋不已。掌握那些重要的学问吧,专业知识与娴熟技艺将是你的职业资本,帮你赚取金钱与享受生活。如果过得好是你的目标,学问能引你到向往之地。

尽管学得更快有很多好处,但大多数人并不愿意学习“如何学习”。大概是因为我们不肯相信有这种好事,在我们看来,学习的速度只取决于好基因与天赋。确实总有些人身怀天赋本钱,但研究表明你的学习方法也很重要。更深层次的知识加工,与时而反复的温故知新,在某些情况下会加倍你的学习效率。是的,“刻意练习”方面的研究表明,没有正确的方法,学习将永远停滞。

今天,我想分享一下学习策略,看看我如何在12个月内完成4年MIT计算机科学的课程。这套策略历经33门课的锤炼,试图弄清楚学得更快的窍门,哪些方法有用,哪些没用。

为什么临时抱佛脚没用?

很多学生可能嘲笑我,妄想只花1年的时间学会4年的课程。毕竟,我总可以临时抱佛脚,什么都不懂还能顺利通过考试,不是吗? 很可惜,这个策略在MIT行不通。首先,MIT的考试苛求解决问题的技巧,还经常出些没见过的题型。其次,MIT的课程讲究循序渐进,就算你能死记硬背侥幸通过一次考试,同系列课程的第七课可能就跟不上了。除了死记硬背,我不得不另辟蹊径,加速理解过程。

你能加速理解吗?

“啊哈!”当我们终于想通了,都曾经这样恍然大悟地欢呼过。问题是,大多数人都没有系统地思考。经典的学生求学之路,就是听讲座,读书;如果还不懂,只好枯燥地做大量习题(题海)或重看笔记。没有系统的方法,想更快地理解似乎是天方夜谭。毕竟,顿悟的心理机制,还全然不知。

更糟的是,理解本身,很难称得上是一种开关。它像洋葱的层层表皮,从最肤浅的领会到深层次的理解,逐层巩固对科学革命的认知。给这样的洋葱剥皮,则是常人知之甚少、易被忽略的理解过程。

加速学习的第一步,就是揭秘这个过程。如何洞悉问题,加深你的理解,取决于两个因素:


  1. 建立知识联系;
  2. 自我调试排错。


知识联系很重要,因为它们是了解一个想法的接入点。我曾纠结于傅里叶变换,直至我意识到它将压强转化为音高、或将辐射转化为颜色。这些见解,常在你懂的和你不懂的之间建立联系。调试排错也同样重要,因为你常常犯错,这些错误究根到底,还是知识残缺,胸无成竹。贫瘠的理解,恰似一个错漏百出的软件程序。如果你能高效地自我调试,必将大大提速学习进程。建立准确的知识联系与调试排错,就足够形成了深刻的问题见解。而机械化技能与死记硬背,通常也只在你对问题的本质有了肯定的直觉以后,才有所裨益。

钻研(The Drilldown Method):你学得更快

bubuko.com,布布扣经年累月,我完善了一个方法,可以加速逐层增进理解的过程。这个方法至今已被我用于各科目的课题,包括数学、生物学、物理学、经济学与工程学。只需些许修改,它对掌握实用技能也效果很好,比如编程、设计或语言。这个方法的基本结构是:知识面、练习、自省。我将解释每个阶段,让你了解如何尽可能有效率地执行它们,同时给出详细的例子,展示我是怎么应用在实际课程的。

第一阶段:知识面覆盖

你不可能组织一场进攻,如果你连一张地形图都没有。因此,深入研习的第一步,就是对你需要学习的内容有个大致印象。若在课堂上,这意味着你要看讲义或读课本;若是自学,你可能要多读几本同主题的书,相互考证。

学生们常犯的一个错误,就是认为这个阶段是最重要的。从很多方面来讲,这个阶段却是效率最低的,因为你每单位时间的投入只换来了最少量的知识回报。我常常加速完成这个阶段,很有好处,这样,我就可以投入更多时间到后面两个阶段。

如果你在看课程讲座的视频,最好是调到1.5x或2x倍速快进。这很容易做到,只要你下载好视频,然后使用播放器(如VLC)的“调速”功能。我用这法子两天内看完了一学期的课程视频。如果你在读一本书,我建议你不要花时间去高亮文本。这样只会让你的知识理解停留在低层次,而从长远来看,也使学习效率低下。更好的方法是,阅读时只偶尔做做笔记,或在读过每个主要章节后写一段落的总结。

这里有个例子,是我上机器视觉这门课时的笔记。

第二阶段:练习

做练习题,能极大地促进你的知识理解。但是,如果你不小心,可能会落入两个效率陷阱:


  1. 没有获得即时的反馈:研究表明,如果你想更好地学习,你需要即时的反馈。因此,做题时最好是答案在手,天下我有,每做完一题就对答案,自我审查。没有反馈或反馈迟来的练习,只会严重牵制学习效率;
  2. 题海战术:正如有人以为学习是始于教室终于教室,一些学生也认为大多数的知识理解产自练习题。是的,你总能通过题海战术最终搭起知识框架,但过程缓慢、效率低下。


练习题,应该能凸显你需要建立更好直觉的知识领域。一些技巧,比如我将会谈到的费曼技巧(the Feynman technique),对此则相当有效。对于非技术类学科,它更多的是要求你掌握概念而不是解决问题,所以,你常常只需要完成最少量的习题。对这些科目,你最好花更多的时间在第三阶段,形成学科的洞察力。

第三阶段:自省

知识面覆盖,与做练习题,是为了让你知道你还有什么不懂。这并不像听上去那么容易,毕竟知之为知之,不知为不知,难矣。你以为你都懂了,其实不是,所以老犯错;或者,你对某综合性学科心里没底,但又看不确切还有哪里不懂。

接下来的技巧,我称之为“费曼技巧”,将帮助你查漏补缺,在求知路上走得更远。当你能准确识别出你不懂的知识点时,这个技巧助你填补知识的缺口,尤其是那些最难以填补的巨大缺口。这个技巧还能两用。即使你真的理解了某个想法,它也能让你关联更多的想法,于是,你可以继续钻研,深化理解。

费曼技巧(The Feynman Technique)

bubuko.com,布布扣这个技巧的灵感,源于诺贝尔物理奖获得者,理查德·费曼(Richard Feynman)。在他的自传里,他提到曾纠结于某篇艰深的研究论文。他的办法是,仔细审阅这篇论文的辅助材料(supporting material),直到他掌握了相关的知识基础、足以理解其中的艰深想法为止。

费曼技巧,亦同此理。对付一个知识枝节繁杂如发丝、富有内涵的想法,应该分而化之,切成小知识块,再逐个对付,你最终能填补所有的知识缺口,否则,这些缺口将阻挠你理解这个想法。对此,请看这个简短的教程视频

费曼技巧很简单:


  1. 拿张白纸;
  2. 在白纸顶部写上你想理解的某想法或某过程;
  3. 用你自己的话解释它,就像你在教给别人这个想法。


最要紧的是,对一个想法分而化之,虽然可能重复解释某些已经弄懂的知识点。但你最终会到达一个临界点,无法再解释清楚。那里正是你需要填补的知识缺口。为了填补这个缺口,你可以查课本、问老师、或到互联网搜寻答案。通常来说,一旦你精准地定义了你的不解或误解,找到确切的答案则相对而言更轻松。

我已经使用过这个费曼技巧有数百次,确信它能应付各种各样的学习情境。然而,由于学习情境各有特点,它需要灵活变通,似乎显得难以入门,所以,我将尝试举些不同的例子。

对付你完全摸不着头脑的概念

对此,我仍坚持使用费曼技巧,但翻开课本,找到解释这个概念的章节。我先浏览一遍作者的解释,然后仔细地摹仿它,并也试着用自己的思维详述和阐明它。如此一来,当你不能用自己的话写下任何解释时,“引导式”费曼技巧很有用处。这里有个例子,展示我如何理解摄影测量学。

对付各种过程

你也能通过费曼技巧去了解一个你需要用到的过程。审视所有的步骤,不光解释每一步在干什么,还要清楚它是怎么执行的。我常这样理解数学的证明过程、化学的方程式、与生物学的糖酵解过程。这里有个例子,展示我如何想到怎么实现网格加速。

对付各种公式

公式,应该被理解,而不只是死记硬背。因此,当你看到一个公式,却无法理解它的运作机理时,试着用费曼技巧分而化之。这里有个例子,展示我如何理解傅里叶分析方程。

对付需要记忆的内容

费曼技巧,也可以帮你自查是否掌握非技术类学科那些博大精深的知识概念。对于某个主题,如果你能顺利应用费曼技巧,而无需参考原始材料(讲义、课本等),就证明你已经理解和记住它。这里有个例子,展示我如何回忆起经济学中的掠夺性定价概念。

形成更深刻的直觉(Deeper Intuition)

bubuko.com,布布扣结合做习题,费曼技巧能帮你剥开知识理解的浅层表皮。但它也能帮你钻研下去,走得更远,不只是浅层的理解,而是形成深刻的知识直觉。直观地理解一个想法,并非易事。它看似有些许神秘,但这不是它的本相。一个想法的多数直觉,可作以下归类:

类比、可视化、简化

类比:你理解一个想法,是通过确认它与某个更易理解的想法之间的重要相似点;可视化:抽象概念也常成为有用的直觉,只要我们能在脑海为它们构筑画面,即使这个画面只是一个更大更多样化想法的不完全表达;简化:一位著名的科学家曾说过,如果你不能给你的祖母解释一样东西,说明你还没有完全理解它。简化是一门艺术,它加强了基础概念与复杂想法之间的思维联系。

你可以用费曼技巧去激发这些直觉。对于某个想法,一旦你有了大致的理解,下一步就是深入分析,看能不能用以上三种直觉来阐释它。期间,就算是借用已有的意象喻义,也是情有可原的。例如,把复数放到二维空间里理解,很难称得上是新颖的,但它能让你很好地可视化这个概念,让概念在脑海中构图成型。DNA复制,被想象成拉开一条单向拉链,这也不是一个完美的类比,但只要你心里清楚其中的异同,它会变得有用。

学得更快的策略

在这篇文章里,我描述了学习的三个阶段:知识面、练习、与自省。但这可能让你误解,错以为它们总在不同的时期被各自执行,从不重叠或反复。实际上,随着不断地深入理解知识,你可能会周而复始地经历这些阶段。你刚开始读一个章节,只能有个大概的肤浅印象,但做过练习题和建立了直觉以后,你再回过来重新阅读,又会有更深刻的理解,即温故而知新。

钻研吧,即便你不是学生

这个过程不只是适用于学生,也同样有助于学习复杂技能或积累某话题的专业知识。学习像编程或设计的技能,大多数人遵循前两个阶段。他们阅读一本相关的基础书籍,然后在一个项目里历练。然而,你能运用费曼技巧更进一步,更好地锁定与清晰表述你的深刻见解。积累某话题的专业知识,亦同此理;唯一的差别是,你在建立知识面以前,需要搜集一些学习材料,包括相关的研究文章、书籍等。无论如何,只要你弄清楚了想掌握的知识领域,你就钻研下去,深入学习它。








OpenGLES 如何在十天内掌握线性代数 - 希望这是真的!,布布扣,bubuko.com

OpenGLES 如何在十天内掌握线性代数 - 希望这是真的!

标签:android   des   cWeb   style   blog   class   

原文地址:http://blog.csdn.net/opengl_es/article/details/25506775

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!