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 绘制数据图的更多相关文章

  1. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 5 Octave Tutorial

    Lecture 5 Octave教程 5.1 基本操作 Basic Operations 5.2 移动数据 Moving Data Around 5.3 计算数据 Computing on Data ...

  2. 【原】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)都看 ...

  3. 【原】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 ...

  4. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 15—Anomaly Detection异常检测

    Lecture 15 Anomaly Detection 异常检测 15.1 异常检测问题的动机 Problem Motivation 异常检测(Anomaly detection)问题是机器学习算法 ...

  5. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 16—Recommender Systems 推荐系统

    Lecture 16 Recommender Systems 推荐系统 16.1 问题形式化 Problem Formulation 在机器学习领域,对于一些问题存在一些算法, 能试图自动地替你学习到 ...

  6. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 14—Dimensionality Reduction 降维

    Lecture 14 Dimensionality Reduction 降维 14.1 降维的动机一:数据压缩 Data Compression 现在讨论第二种无监督学习问题:降维. 降维的一个作用是 ...

  7. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 13—Clustering 聚类

    Lecture 13 聚类 Clustering 13.1 无监督学习简介  Unsupervised Learning Introduction 现在开始学习第一个无监督学习算法:聚类.我们的数据没 ...

  8. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 12—Support Vector Machines 支持向量机

    Lecture 12 支持向量机 Support Vector Machines 12.1 优化目标 Optimization Objective 支持向量机(Support Vector Machi ...

  9. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 11—Machine Learning System Design 机器学习系统设计

    Lecture 11—Machine Learning System Design 11.1 垃圾邮件分类 本章中用一个实际例子: 垃圾邮件Spam的分类 来描述机器学习系统设计方法.首先来看两封邮件 ...

随机推荐

  1. 点击bindingNavigatorAddNewItem 关联的dataGridView不会新增一行

    方法一. 在设计界面,修改bindingNavigator1的属性AddNewItem 为“(无)”: 方法二. 在设计器自动生成的代码中找到这一行:             // bindingNa ...

  2. Java加载jar文件并调用jar文件当中有参数和返回值的方法

    在工作当中经常遇到反编译后的jar文件,并要传入参数了解其中的某些方法的输出,想到Java里面的反射可以实现加载jar文件并调用其中的方法来达到自己的目的.就写了个Demo代码. 以下的类可以编译生成 ...

  3. H5 pattern

    pattern:正则表达式验证 例如: <input pattern="1[3578]\d{9}">  可以省略^和$ 必须和required配合使用,否则在用户没有输 ...

  4. android wifi 热点、socket通讯

    WiFi管理工具类 package com.wyf.app.common; import java.lang.reflect.InvocationTargetException; import jav ...

  5. 微软白板Excel xls列号数字转字母

    Excel xls列号数字转字母 https://blog.csdn.net/lf124/article/details/53432817?utm_source=itdadao&utm_med ...

  6. Servlet概念入门

    什么是Servlet Servlet 为创建基于 web 的应用程序提供了基于组件.独立于平台的方法,可以不受 CGI 程序的性能限制.Servlet 有权限访问所有的 Java API,包括访问企业 ...

  7. Fiddler的Java抓包

    代码处理 System.setProperty("http.proxySet", "true"); System.setProperty("http. ...

  8. Windows下查看什么进程占用文件

    任务管理器→性能Tab→资源管理器→CPU→关联的句柄后面的检索框中录入文件名(关键文件夹即可). 比如我的是在删除tomcat下面的WEB-INF文件出现问题:就输入WEB-INF:mygod,发现 ...

  9. MySQL插入中文时出现ERROR 1406 (22001): Data too long for column 'name' at row 1 (转)

    使用命令行方式登陆到MySQL服务器, 建立一个数据库,数据库编码设为UTF-8.此时,如果直接在命令行窗口使用insert语句插入中文,就遇到类似 ERROR 1406 (22001): Data ...

  10. nginx.conf几个示例

    #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #erro ...