程序员的数学:线性代数之可视化

个人很喜欢的一本书,作者能讲到这种份儿上.我爱了~

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也不太懂.准备稍微研究下再详细的写一篇东西出来.

(0)

相关推荐