吴恩达机器学习——Octave常用操作指令
【摘要】 为什么使用Octave构建大规模机器学习项目,大多数使用octave/matlab构建算法原型,快速实现算法。机器学习最常用语言:Octave(开源)/matlab/python、numpy/R。Octave是开源免费的,而matlab是非常昂贵的。Python是高级编程语言,实现复杂度较高。 Octave的基础操作指令含义piπdisp()显示Sprint(‘…’)转换成字符串forma...
为什么使用Octave
构建大规模机器学习项目,大多数使用octave/matlab构建算法原型,快速实现算法。
机器学习最常用语言:Octave(开源)/matlab/python、numpy/R。
Octave是开源免费的,而matlab是非常昂贵的。Python是高级编程语言,实现复杂度较高。
Octave的基础操作
| 指令 | 含义 |
|---|---|
| pi | π |
| disp() | 显示 |
| Sprint(‘…’) | 转换成字符串 |
| format long/short | 修改浮点数默认显示格式,多小数/少小数 |
| v=[1 2 3]与v=[1;2;3] | 分号换行 |
| v=1:0.1:2 | 从1开始,步长为0.1,一直增加到2 |
| v=1:6 | 默认步长为1 |
| ones(2,3) | 2*3矩阵,所有元素都为1 |
| zeros(2,3) | 2*3矩阵,所有元素都为0 |
| w=rand(1,3) | 1*3矩阵,随机数,介于0~1之间 |
| randn(1,3) | 1*3矩阵,随机数服从高斯分布,均值为0,标准差或方差为1 |
| -6+sqrt(10)*(randn(1,10000)) | 均值为-6,随机变量的方差为10,标准差为 |
| eye(4) | 单位矩阵 |
| help 需要帮助的指令 |
Octave移动数据
| 指令 | 含义 |
|---|---|
| sz=size(A) | 返回矩阵的行数与列数,作为一个矩阵 |
| length(V) | 返回向量/矩阵的最大维度的大小 |
| pwd | 查看当前路径 |
| dir, ls | 显示当前路径下的文件 |
| load filename.dat | 加载数据 |
| load(‘filaname.dat’) | 加载数据 |
| who | 显示所有变量名 |
| whos | 显示所有变量名及详细信息 |
| clear 变量名 | 删除某个变量 |
| v=priceY(1:10) | 将priceY的前10个元素赋值给v |
| save filename.mat v; | 保存矩阵到文件,mat格式(压缩程度高) |
| save filename.txt v –ascii; | 保存矩阵到文件,txt格式 |
| A(2,:) | 冒号表示某一行或某一列的全部元素 |
| A([1,3],:) | A第一行与第三行的全部元素 |
| A=[A, [10;100;1000]] | A增加一列 |
| A=[A; [7,8]] | A增加一行 |
| A(:) | 将A所有内容拼接为一个列向量 |
| C=[A B] | |
| C=[A; B] |
octave 计算数据
| A*B | 矩阵乘法 |
|---|---|
| A.*B | 元素分别相乘 |
| exp(A) | e为底数,A中的元素为指数的幂运算 |
| log(A) | 返回自然对数,相当于ln(A) |
| abs(A) | 求绝对值 |
| A+1 | A中的每个元素都+1 |
| A’ | 转置 |
| [val, ind]=max(A) | 数组中的最大元素,若A为矩阵,则返回每一列的最大值的行向量。 |
| [row, col]=find(A<3) | 返回索引 |
| A=magic(3) | 幻方矩阵(任意行、列,对角线和相当等) |
| sum(A) | 求和 |
| prod(A) | 求乘积 |
| floor(A) | 向下取整 |
| ceil(A) | 向上取整 |
| rand(rows, cols) | 随机数 |
| max(rand(3), rand(3)) | 两个随机数矩阵,求最大值后构成的矩阵 |
| max(A, [], 1) | A的第一个维度(每一列)上的最大值(结果为行向量) |
| max(A, [], 2) | A的第二个维度(每一行)上的最大值(结果为列向量) |
| flipud(A) | 矩阵垂直反转 |
| pinv(A) | 逆矩阵 |
数据绘制
| plot(t, y, ‘r’) | 绘图 |
|---|---|
| hold on | 在旧图像的基础上绘图 |
| axis([XMIN XMAX YMIN YMAX]) 设置二维图的x-y坐标范围axis([XMIN XMAX YMIN YMAX ZMIN ZMAX]) 设置三维图的x-y-z坐标范围 | 设置坐标轴范围 |
| title(‘myplot’) | 图的标题 |
| legend(‘sin’, ’cos’) | 图线标记![]() |
| close | 关闭图像窗口 |
| figure(1) | 标记图像窗口 |
subplot(1,2,1) ![]() |
前两个参数表示将图像窗口划分为1*2个格子,第三个参数表示使用第一个格子 |
| clf | 清楚一个图像 |
| A=magic(5);imagesc(A);imagesc(A), colorbar, colormap gray; |
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者


评论(0)