读书笔记:MATLAB(02)

2.2 基本数学运算

2.2.1 矩阵的代数运算

矩阵转置:如果矩阵元素含有复数元素,则转置后取其共轭复数值,称为Hermit转置,记为B=A*,MATLAB中用A’表示。而矩阵的一般转置用A.’表示。

加减法运算:A和B的维数若相同,则相应元素相加减;若二者之一为标量,则遍加减于每个元素;否则报错。

矩阵乘法:C=A*B,并不需要指定二者的维数,若不相容则报错

矩阵的左除:A\B表示A-1B

矩阵的右除:B/A表示B A-1

矩阵翻转:fliplr(A)左右翻转,flipud(A)上下翻转,rot90(A)逆时针翻转90度

矩阵乘方运算:只有方阵可进行乘方运算,B=A^x

点运算:这是一种特殊且非常重要的运算,即对应元素的直接运算,这要求二者维数相同。A.*B、A.^x、A.^A

2.2.2 矩阵的逻辑运算

逻辑运算的结果是一个矩阵,矩阵的元素非0即1。
与运算:C=A&B,只有当AB所有元素非0,C才为1,否则C取0
或运算:C=A|B,只有当AB所有元素为0,C才为0,否则C取1
非运算:C=~A,只有当A元素为0,C为1,否则C取0
异或运算:C=xor(A,B),只有当AB元素一个非0,一个为0,C才为1,否则取0,即只有二者逻辑结果不同才可取1,若相同则取0
继续阅读 »

读书笔记:MATLAB(01)

今天开始写读书笔记,第一本书是《高等应用数学问题的MATLAB求解》。

MATLAB语言是科学研究者首选的计算机数学语言。大多数学生缺乏对应用数学问题的全面了解,不清楚什么问题能用数学描述,什么样的数学问题能求解,以至于走了很多弯路。通过学习MATLAB语言可以使数学问题求解能力显著提高,即使对某些数学公式理解不够深刻,只要学习了MATLAB语言也能容易地求解类似问题,毕竟科学研究者和工程技术人员通常不考虑为什么这样做,而只考虑结果是什么。借助MATLAB数学基础不深厚的人同样能轻易利用计算机解决高深的应用数学问题。

第1章 计算机数学语言概述


1.1为什么学习计算机数学语言

并不是所有数学问题都能手工推导的,手工推导有时是不易、不可靠、不精确甚至是不可能的,所以需要计算机的帮助。用计算机的方式有两种,其一是数值分析,其二是计算机语言,前者只能解数值计算问题,后者还可以解决像公式推导这样的问题。
许多专门的学科在介绍原理与方法时一般采用简单的例子,回避高阶和复杂的例子,这样得到的方法和结论只是理论上的,用于解决现实的实际问题往往是比较困难的,所以需要借助计算机数学语言。

1.2 数学问题的解析解与数值解
数学家往往关注解析解以及解的存在性的严格证明,而工程技术人员通常只关心最后的数值解。数学上,解析解不存在的情况很普遍,例如圆周率就没有解析解,工程技术人员也不关心圆周率是怎么求得的,只是想知道能满足精度要求的数值,一般的计算取3.1416即可,粗略的计算取3.14也未尝不可。 继续阅读 »

文件加密软件TrueCrypt简要教程

0.概述

  每个人的电脑上总有些不想让别人看到的文件,例如商业机密、犯罪证据、间谍情报、冠西摄影作品、日本小电影、个人日记等等,有很大一部分人用层层的文件夹加上隐藏文件的方法藏东西,并自以为别人不会找到,稍懂点电脑的人可能会更改扩展名,或者使用一些加密文件夹的软件,我也曾经这么做过,发现不少问题:

  1.这些加密方式多不是对文件本身进行数据加密处理,只是在操作系统层面进行隐藏,仅仅在电脑显示器上看不到这些文件,并非真正的加密;

  2.数据安全难以保障,有些软件加密文件后,如果卸载了这个软件重新安装,被加密文件就难以解密;

  3.依赖当前操作系统,也就是只能在本机上解密,转移到其他电脑就难以解密。

  这些缺陷导致被加密文件可能被非授权使用或对所有者不可用,造成损失。鉴于此,使用专业的加密软件进行文件加密是很有必要的,软件市场上有多家公司出售专业的加密软件,而且售价不菲,这对政府和商业机构来说或许物有所值,但对普通个人用户来说完全没有必要,免费的加密软件就足以保证个人数据安全。在此介绍一款知名的开源免费的文件加密软件——TrueCrypt。

  TrueCrypt的特点:
  1. 真正的加密,绝非仅仅“隐藏”。TrueCrypt提供三种加密算法:AES、Serpent、Twofish。可以单独使用其中的一种加密算法,也可以两种或三种加密算法叠加使用,越是复杂的算法越难以被破解(比如,单独使用一种算法,破解需要100万年,叠加使用多种算法,破解则需要150万年),但加密步骤越复杂,加密过程耗时越长,而破解难度的提高并没有什么实际意义。三种算法中默认使用的AES算法是美国联邦政府认证的加密算法,加密规则也是公开的,所有具备数学和密码学知识的人都可以尝试破解,但至今无人宣称已成功破解,但是AES算法掌握在美国联邦政府手中,到底有没有破解方法或许只有少数的几个美国要人知道。综上,除非涉及国家机密,单独使用AES算法加密是足够安全的。

  2. 由于TrueCrypt的加密原理是采用AES等加密算法进行加密,跟操作系统关系不大,所以被加密文件具有良好的可移植性,即使TrueCrypt被卸载后重新安装,或将被加密文件移植到其他电脑上,也可以保证密钥持有者能安全地解密文件。

  3. 针对高强度安全要求,TrueCrypt设计了“隐藏加密卷”的功能。就是说,如果密钥持有者人身安全受到威胁,不得不交出密钥,也可以选择交出一个假的密钥,使用假密钥对文件进行解密后看到的并不是真正的文件,而是事先放在那里的“貌似很机密”的文件。

  4. TrueCrypt的缺点主要是:只能保证被加密文件不被非法获取,不能保证不被恶意破坏。就是说别人虽然不可能看到这些文件,但却可以彻底删除它们,所以使用TrueCrypt需要做好备份工作。

  TrueCrypt支持对文件(夹)、分区、硬盘加密,但对分区和硬盘加密有较大风险,除非特别需要不推荐使用,一般我们需要的仅仅是加密文件(夹),下面用一句话介绍下TrueCrypt的工作原理:首先使用TrueCrypt创建一个加密卷,只有使用正确的密钥才能打开此加密卷,加密卷可用于储存文件。

  名词解释
  加密卷:在Windows系统的资源管理器中,加密卷就是一个普通的文件(可以像普通文件那样被复制、分发),并且其扩展名可以是任意的,甚至可以为空,例如01.jpg、02.avi、03.dat、04.doc、05等等,这会让人觉得加密卷是图片、视频、文档,能骗过不少人。使用TrueCrypt加载加密卷,就可以让加密卷在“我的电脑”或“计算机”中以一个分区的形式被“打开”,姑且称其为“虚拟盘”,我们平时常说的C盘、D盘、E盘都是真正在硬盘上被划分出来的分区,但这个“虚拟盘”并不是真正存在的,只是TrueCrypt虚拟出来的,但虚拟盘也会占用一个盘符(例如F盘)并可以向里面拷入文件。宋瑞华 www.songruihua.com

下载TrueCrypt:http://www.truecrypt.org/downloads
下载语言包(中文):http://www.truecrypt.org/localizations

首先安装TrueCrypt,然后将语言文件Language.zh-cn.xml解压缩到TrueCrypt的安装文件夹(默认C:\Program Files\TrueCrypt),然后在菜单栏中选择:Settings>Language>简体中文>OK

1.创建一个文件型加密卷宋瑞华 www.songruihua.com

  加密卷有两种类型,标准加密卷和隐藏加密卷。标准加密卷只有一个密钥,而隐藏加密卷有两个密钥,一个真密钥一个假密钥,密钥持有者使用真密钥加载加密卷可以看到真正被加密的文件,如果有人用暴力等手段威胁密钥持有者,密钥持有者可以说出假密钥,威胁者使用假密钥加载加密卷看到的是伪装的加密文件,而密钥持有者从技术角度完全可以否认真密码的存在。

1.1创建标准加密卷

点击“创建加密卷”按钮

继续阅读 »

微软将不再向Mozilla提供Firefox庆祝蛋糕

在世界网络浏览器市场上,Microsoft Internet Explorer 和 Mozilla Firefox 是两大竞争对手,但他们一直相敬如宾,微软IE团队有一个不成文的习俗,每当最大对手Mozilla的Firefox更新到新版本,他们就会向对方的团队送出一个蛋糕用于祝贺,这在Firefox2发布的时候就已经开始了,不过由于Mozilla改变了产品发布方式,更新速度急剧提升,每6周就有一个大版本放出,这也就意味着微软每6周就要送出蛋糕。起先微软会尝试将蛋糕越做越小,直到最后的纸杯蛋糕甚至就是一块奶油,后来Firefox 8又在不到6周的时间里更新,摆明了骗微软蛋糕吃,虽然微软不缺蛋糕钱,可感到压力很大,因此今天IE团队表示,将不再向Mozilla提供祝贺蛋糕,Firefox团队表示希望微软在Firefox每更新10个大版本的时候送一份蛋糕,作为回报Firefox团队也将按此规则送IE团队蛋糕,IE团队蛋疼地表示他们不会为了一块蛋糕而等上个二三十年,因为他们的IE浏览器每隔两三年才会有一次大版本更新。


微软IE团队为Firefox 2赠送的蛋糕(2006年10月24日)微软IE团队为Firefox 2赠送的蛋糕(2006年10月24日)
继续阅读 »

突破人类承受极限——蛋疼?分娩痛?

科学松鼠会是一个致力于在大众文化层面传播科学的非营利机构,成立于2008年4月。松鼠会汇聚了当代最优秀的一批华语青年科学传播者,旨在“剥开科学的坚果,帮助人们领略科学之美妙”。关于蛋疼,松鼠会有话说。

微博上流传这么一个说法:“一个人类可以承受45del(单位)的痛楚。但是当女人生孩子的时候,要承受57del的痛楚,大概就是碎了20根骨头的样子。But,如果一个男人被T到蛋了,那种痛楚是9000del,换算过来就是同时分娩160个孩子或者断了3200根骨头。所以,女生们你确定你懂蛋疼吗?”
这条内容是真的吗?蛋疼和分娩痛真的如此难以承受,乃至双双突破人类极限吗?

考据:并无确凿的医学证据

若在网络搜索这条微博内容,对分娩痛描述的出现时间为9月20日前后,此前并未见有类似的网络描述。不过,若是将该内容转换为英文再进行搜索,就会发现有意思的事情了。两年前的yahoo问答就出现过类似的描述[1] ,仔细阅读会发现,中文的这条“生孩子的时候,要承受57del的痛楚”就是这条英文问答的翻译体。

这条关于“母亲分娩疼痛是57,人体所能承受的疼痛是45”的说法,到底是由何而来的呢?很遗憾,搜索网络、美国国立医学图书馆的PubMed,都没有找到这方面的文献。至于蛋疼那个骇人的9000数字更是无据可查。换句话说,人体所能承受的疼痛限度与分娩疼痛的数值,很可能是一次网络上的以讹传讹,并无确凿的医学证据或研究做支持。

其实,若较真这条微博,你就会发现尴尬的搞笑点——如果人体最多只能承受45单位疼痛,但女人分娩时疼痛达到57单位,而男人蛋疼居然能达到9000单位,那说明无论男女,都已经不是人类了嘛。 继续阅读 »

Top