程序员的数学:线性代数之可视化
个人很喜欢的一本书,作者能讲到这种份儿上.我爱了~
gunplot安装,安装到路径~
ruby安装成功
验证一下
验证一下
有一说一,这两个软件不是多好下载.如果你实在搞不定.可以寻求我的帮助...如果可以的话~
打开页面,下载文件包
https://www.ituring.com.cn/book/1239
通过动画看得到的线性代数
矩阵就是映射!
矩阵可不单单是数字排列成的表而已。比如 m╳n 矩阵 A,它代表了 n 维空间到 m 维空间的“映射”。为了观察这些映射(2维空间到2维空间的情况下)带来的变换,我们提供了动画演示程序,这里汇总了演示程序的使用方法。
这里的提供的动画程序需要和《程序员的数学3:线性代数》一书配套使用。
ruby代码
要运行的ruby代码,第一次用ruby.早有耳闻ruby的美名~
一堆红,排个错?
浏览器里面先开启这个.
swf的文件
■ 首先是典型的对角矩阵(本书第 xii 页)
A = | 1.5 | 0 |
0 | 0.5 |
命令:
ruby mat_anim.rb -s=0 | gnuplot
观察要点:
水平和垂直方向上的伸缩。
水平方向上扩大(1.5倍),垂直方向上缩小(0.5倍)。
各小方格的面积变成了原来的 1.5 ╳ 0.5 = 0.75 倍。这里的面积扩大率 0.75 就是 det A 。因此,对角矩阵的行列式 =对角元素的乘积。
一个实例,其实是gif的.
作者怕一些人不会折腾这个,给录成了swf.嵌入到了网页里面
把这个index的文件,拖放到支持flash的浏览器里面
自由尝试自己想尝试的东西
自己定义矩阵
# 和 -s=3 的例子一样
ruby mat_anim.rb -a=1,-0.3,-0.7,0.6 | gnuplot自己定义向量(有向线段)
# 和 -s=4 的例子一样
ruby mat_anim.rb -a=1,-0.3,-0.7,0.6 -arrow=0.3,0.7,0.5,-0.5 | gnuplot选取斜坐标系
# 和 -s=5 的例子一样
ruby mat_anim.rb -a=1,-0.3,-0.7,0.6 -xunit=0.3,0.7 -yunit=0.5,-0.5 -figure= | gnuplot
基本工作原理
首先用 ruby 生成标准的 gnuplot 命令,然后用管道把命令与 gnuplot 连接起来画出图像。如果想详细了解其中的过程,可以通过以下命令进行查看。
ruby mat_anim.rb -batch
到了这里,有人可能喊我,你这都是泛泛而谈.没有干货,看下面
动画倒是运行出来了
我这个分辨率太感人,做出来的图太感人,而且我ruby也不太懂.准备稍微研究下再详细的写一篇东西出来.