程序员的数学:线性代数之可视化
时间:2022-07-23
本文章向大家介绍程序员的数学:线性代数之可视化,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
个人很喜欢的一本书,作者能讲到这种份儿上.我爱了~
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也不太懂.准备稍微研究下再详细的写一篇东西出来.
- C#用链式方法表达循环嵌套2
- 【开源】1句代码搞定图片批量上传,无需什么代码功底【无语言界限】
- C#异步调用的方法
- 【David Silver 深度强化学习教程代码实战07】 DQN的实现
- AutoMapper随笔记
- 简析.NET Core 以及与 .NET Framework的关系
- 1627: [Usaco2007 Dec]穿越泥地
- 1651: [Usaco2006 Feb]Stall Reservations 专用牛棚
- 1615: [Usaco2008 Mar]The Loathesome Hay Baler麻烦的干草打包机
- Polyspace不认识Interrupt,肿么办?
- 1639: [Usaco2007 Mar]Monthly Expense 月度开支
- 1638: [Usaco2007 Mar]Cow Traffic 奶牛交通
- 1642: [Usaco2007 Nov]Milking Time 挤奶时间
- 1625: [Usaco2007 Dec]宝石手镯
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 实践 | 目前最快精度最高检测框架(EfficientDet)
- 解决拉取github仓库报错“gnutls_handshake() failed”问题
- HTML 学习
- Go 语言学习之数组
- 坐姿不对,屏幕就变模糊!小姐姐教你用TensorFlow做一款“隐形背背佳”
- 七日Python之路--第九天(blog与Django)
- Python数据可视化-seaborn Iris鸢尾花数据
- pythonGUI -- pyside安装与初试
- TS 设计模式02 - 建造者模式
- 艺术鬼才!Unicode 字符还能这么玩?
- TS 设计模式03 - 单例模式
- MySQL 案例:Limit 分页查询优化
- 白话Xavier | 神经网络初始化的工程选择
- matplotlib 设置绘图时显示中文
- JavaScript 学习(1)