【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 5 Octave Tutorial—5.4 绘制数据图
5.4 绘制数据图
参考视频: 5 - 4 - Plotting Data (10 min)
5.4.1 绘制曲线
1、画一个sin曲线
>> t = [:0.01:0.98];
>> y1 = sin( * pi * * t);
>> plot(t,y1);

2、画一个cos曲线
>> y2 = cos( * pi * * t);
>> plot(t,y2);

3、将两个曲线合并在一起
>> plot(t,y1);
>> hold on
>> plot(t,y2,'r');

4、给图像添加信息
> xlabel('time') % X轴标签
>> ylabel('value') % Y轴标签
>> legend('sin','cos') % 添加曲线名称
>> title('my plot') % 添加标题

5、保存到文件
>> print -dpng 'myPlot.png'
>> ls
Directory of D:\myc_learn\machine_learning\code\week2
[.] .m hello.dat myPlot.png
[..] featuresX.dat hello.txt priceY.dat
>> close
6、绘制多张图
绘制多张图,需要指定将哪个曲线放在哪个图中。否则会一直绘制在当前窗口,覆盖之前的图形
>> figure(); plot(t,y1);% 在figure1中绘制
>> figure(); plot(t,y2);% 在figure2中绘制
7、将两个图显示在一张图片中
>> subplot(,,); % 将图片划分为两个格子,访问第一个格子
>> plot(t,y1) % 画第一个图像
>> subplot(,,); % 访问第二个格子
>> plot(t,y2) % 画第二个图像

8、改变坐标轴范围
>> axis([0.5 - ])

点击一下第一张图片,再运行一下上面那行代码,图变为:

9、清空和关闭图片
>> clf % 清空
>> close % 关闭
5.4.2 绘制可视化矩阵
1、生成矩阵图
根据矩阵的值生成图像,不同的颜色对应矩阵中不同的值
>> A = magic()
A = >> imagesc(A)

2、显示颜色条
>> colorbar

或者直接使用下面的一行代码:
>> imagesc(magic(5)), colorbar;
3、生成灰度图
>> imagesc(A), colorbar, colormap gray;

生成一个15行15列灰度图
>> imagesc(magic()),colorbar,colormap gray;

以 imagesc(magic(15)),colorbar,colormap gray; 为例。
这种几个逗号隔开的命令一起运行的方式,叫做逗号连接函数调用 comma chaining of function calls 或 comma chaining commands 。
比如赋值操作可以写成:a=1, b=2, c=3;
5.4.3 散点图
plot(x,y,'rx', 'MarkerSize', );
xlabel('Population of City in 10,000s');
ylabel('Profit in $10,000s');
title('POPULATION AND PROFIT');

图像绘制在Octave官方文档的 15.2.1 Two-Dimensional Plots ,图形属性设置在15.3.3.4 Line Properties。
如果想设置某个属性,直接写属性名,后面跟一个值。plot (x, y, property, value, …)
例如 plot (x, y, 'linewidth', 2, …);

【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 5 Octave Tutorial—5.4 绘制数据图的更多相关文章
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 5 Octave Tutorial
Lecture 5 Octave教程 5.1 基本操作 Basic Operations 5.2 移动数据 Moving Data Around 5.3 计算数据 Computing on Data ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 5 Octave Tutorial—5.6 向量化 Vectorization
5.6 向量化 Vectorization 参考视频: 5 - 6 - Vectorization (14 min).mkv 下面是向量化的小例子,如果将所有u(j) .所有v(j).所有w(j)都看 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 5 Octave Tutorial—5.5 控制语句: for, while, if 语句
5.5 控制语句: for, while, if 语句 参考视频: 5 - 5 - Control Statements_ for, while, if statements (13 min).mkv ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 15—Anomaly Detection异常检测
Lecture 15 Anomaly Detection 异常检测 15.1 异常检测问题的动机 Problem Motivation 异常检测(Anomaly detection)问题是机器学习算法 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 16—Recommender Systems 推荐系统
Lecture 16 Recommender Systems 推荐系统 16.1 问题形式化 Problem Formulation 在机器学习领域,对于一些问题存在一些算法, 能试图自动地替你学习到 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 14—Dimensionality Reduction 降维
Lecture 14 Dimensionality Reduction 降维 14.1 降维的动机一:数据压缩 Data Compression 现在讨论第二种无监督学习问题:降维. 降维的一个作用是 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 13—Clustering 聚类
Lecture 13 聚类 Clustering 13.1 无监督学习简介 Unsupervised Learning Introduction 现在开始学习第一个无监督学习算法:聚类.我们的数据没 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 12—Support Vector Machines 支持向量机
Lecture 12 支持向量机 Support Vector Machines 12.1 优化目标 Optimization Objective 支持向量机(Support Vector Machi ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 11—Machine Learning System Design 机器学习系统设计
Lecture 11—Machine Learning System Design 11.1 垃圾邮件分类 本章中用一个实际例子: 垃圾邮件Spam的分类 来描述机器学习系统设计方法.首先来看两封邮件 ...
随机推荐
- 20165210 Java第五次实验报告
20165210 实验五 网络编程与安全 网络编程与安全一: 实验要求: 两人一组结对编程: 参考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA ...
- Kotlin 第一弹:自定义 ViewGroup 实现流式标签控件
古人学问无遗力, 少壮工夫老始成.纸上得来终觉浅, 绝知此事要躬行. – 陆游 <冬夜读书示子聿> 上周 Google I/O 大会的召开,宣布了 Kotlin 语言正式成为了官方开发语言 ...
- OpenCV中阈值(threshold)函数: threshold 。
OpenCV中提供了阈值(threshold)函数: threshold . 这个函数有5种阈值化类型,在接下来的章节中将会具体介绍. 为了解释阈值分割的过程,我们来看一个简单有关像素灰度的图片,该图 ...
- JMX心得 -- Server端
关于什么是JMX,这里引用了网上找来的一个介绍:JMX(JavaManagement Extensions)是一个为应用程序植入管理功能的框架.JMX是一套标准的代理和服务,实际上,用户可以在任何Ja ...
- MpVue开发之swiper的使用
用到的关键字如下: class :class current :current bindchange @change circular 是否实现无限滑动 true/false skip-hidden ...
- LINUX 修改本机yum源为163镜像源
进入yum源配置目录 [root@localhost yum.repos.d]# cd /etc/yum.repos.d/ 备份系统yum源,用于日后恢复. [root@localhost yum.r ...
- 为什么要使用ORM技术?和 JDBC 有何不一样?
为什么要使用ORM技术?和 JDBC 有何不一样? 1.繁琐的代码问题: 用JDBC的API编程访问数据库,代码量较大,特别是访问字段较多的表的时候,代码显得繁琐.累赘,容 ...
- hexo搭建个人主页托管于github
之前学习了 如何利用Github免费搭建个人主页,今天利用hexo来快速生成个人网页托管于github上. hexo系列教程:(一)hexo介绍 什么是hexo hexo是一个基于Node.js的静态 ...
- Git 的 cherry-pick 功能
简而言之,cherry-pick就是从不同的分支中捡出一个单独的commit,并把它和你当前的分支合并.如果你以并行方式在处理两个或以上分支,你可能会发现一个在全部分支中都有的bug.如果你在一个分支 ...
- tomcat部署去掉项目名称
1.在tomcat下的conf路径找到server.xml文件. 2.找到Host如图 <Host name="localhost" appBase="webapp ...