在Octave中绘制图表

cd,路径命令。
figure,
suplot(1,2,1),将图像分成格子。
axis,改变轴的刻度。
clf,清除图表。
title
legen
imagesc
magic
colorbar
colormap



0:00

当开发学习算法时往往几个简单的图可以让你更好地理解算法的内容并且可以完整地检查下算法是否正常运行是否达到了算法的目的例如在之前的视频中 我谈到了绘制成本函数J(θ)可以帮助确认梯度下降算法是否收敛通常情况下 绘制数据或学习算法所有输出也会启发你如何改进你的学习算法幸运的是 Octave有非常简单的工具用来生成大量不同的图当我用学习算法时 我发现绘制数据绘制学习算法等往往是我获得想法来改进算法的重要部分在这段视频中我想告诉你一些Octave的工具来绘制和可视化你的数据这是我的 Octave 窗口我们先来快速生成一些数据用来绘图我先设置t等于这个数列这是t是从0到0.98的集合让我们设置y1等于sin2*pi*4*t (此处pi表示π)

1:12

plot(t, y1)
这个图横轴是t变量 纵轴是y1也就是我们刚刚所输出的正弦函数
让我们设置y2等于cos2*pi*4*t而如果我输入plott逗号y2Octave将会消除之前的正弦图并且用这个余弦图来代替它这里纵轴cos(x)从1开始如果我要同时表示正弦和余弦曲线我要做的就是输入plot(t, y1)这是我的正弦函数我使用函数hold onhold on函数的功能是将新的图像绘制在旧的之上我现在绘制t y2我要以不同的颜色绘制余弦函数所以我在这里输入带引号的r我将绘制余弦函数在这之上而不是替换了现有的图r表示所使用的颜色再加上命令xlabel('time')来标记X轴即水平轴输入ylabel('value')来标记垂直轴的值同时我也可以

2:54

来标记我的两条函数曲线用这个命令 legend('sin', 'cos')将这个图例放在右上方表示这两条曲线表示的内容最后输入title('myplot')在图像的顶部显示这幅图的标题如​​果你想保存这幅图像,你输入print -dpng'myplot.png'png是一个图像文件格式如果你这样做了 它可以让你保存为一个文件如果我这样做让我先改一下路径像这样然后我将它打出来这需要一点时间而这取决于你的Octave的配置设置可能需要几秒钟 但改变路径到我的桌面现在Octave需要几秒钟​​的时间来保存它如果我现在去到我的桌面 先最小化这些窗口这就是Octave所保存的myplot.png这就是保存为PNG的文件Octave也可以保存为很多其他的格式你可以键入help plot如果你想试试其他格式的文件 而不是PNG 你可以把图片保存为其他格式最后如​​果你想删掉这个图像命令close会让这个图像关掉如果我键入close 这个图像就从我的桌面消失了Octave也可以让你为图像标号你键入figure(1); plot(t, y1);将显示第一张图 绘制了变量t y1如果你想绘制第二个图 你可以指定一个不同的数字编号键入figure(2); plot(t, y2);正如这样现在我的桌面上 其实有2个图图1和图2此时一个绘制正弦函数 另一个绘制了余弦函数这是另一个我经常使用的命令subplot命令我们要使用subplot(1,2,1)它将图像分为一个1*2的格子也就是前两个参数然后它使用第一个格子也就是最后一个参数1的意思所以,将我的图像分成1*2的格子我现在使用第一个格子如果我键入这个那么这个图像显示在左边如果键入plot(t, y1)现在这个图显示在第一个格子如果我键入subplot(1,2,2)那么我就要使用第二个格子 键入plot(t, y2);现在y2显示在右边也就是第二个格子最后一个命令 你可以改变轴的刻度比如改成

6:02

也就是设置了右边图的x轴和y轴的范围具体而言 它将右图中的横轴的范围调整至0.5到1竖轴的范围为-1到1而且 你不需要记住所有这些命令如果你需要改变坐标轴或者需要知道axis命令你可以用Octave中help命令了解细节最后 还有几个命令clf清除一幅图像 这里有一个独特的特点让我们设置A等于一个5×5magic方阵现在A是这个5*5的矩阵我有时用一个巧妙的方法来可视化矩阵也就是imagesc(A)它将会绘制一个5*5的矩阵一个5*5的彩色格图不同的颜色对应A矩阵中的不同值具体地说 我还可以使用函数colorbar让我用一个更复杂的命令 imagesc(A)colorbarcolormap gray这实际上是在同一时间运行三个命令运行imagesc然后运行colorbar 然后运行colormap gray它生成了一个颜色图像一个灰度分布图 并在右边也加入一个颜色条所以这个颜色条显示不同深浅的颜色所对应的值具体地 左上A矩阵的元素是17 所以对应的是这样中等的灰度而与此相反的第二个元素 也就是A(1,2)元素代表的值为24它对应于这里的这个方块是接近白色的灰度较小的值比如A多少呢A(4,5)为3对应着你可以看到在我的颜色条它对应于一个更暗的灰度这里是另一个例子我可以绘制一个较大的比如magic(15)给你一个15* 15magic方阵这将会是一幅15*15的magic方阵值的图最后总结一下这段视频你看到我所做的是使用逗号连接函数调用这里是你如何真正做到这一点如果我键入a=1b=2 c=3然后按Enter键其实这是将这三个命令同时执行或者是将三个命令一个接一个执行它将输出所有这三个结果这很像a=1; b=2;c=3;如果我用分号来代替逗号没有输出出任何东西所以你知道这里我们称之为逗号连接的命令或函数调用只是另一种Octave中更便捷的方式将多条命令例如imagesccolorbar colormap将这多条命令写在同一行中就是这样现在你知道如何绘制Octave中不同的图像在下面的视频中下一个主要内容我将告诉你怎样在Octave中写控制语句 比如ifwhile for语句并且定义和使用函数

你可能感兴趣的:(在Octave中绘制图表)