Octave基本使用

 

目录

Octave下载(windows版本)

Octave的基本操作

基本运算

Octave变量

向量和矩阵

​help命令

移动数据

数据的读取和存储

矩阵索引

矩阵组合

计算数据

数据绘制

函数图像绘制

矩阵图像绘制

控制语句:for、while、if语句

for语句

while语句

if语句

定义和调用函数


Octave下载(windows版本)

https://www.gnu.org/software/octave/download.html

Octave的基本操作

基本运算

Octave基本使用_第1张图片

改变默认的Octave提示符: PS1('<<');

Octave变量

  • ;可以阻止打印
  • disp命令表示显示,sprintf命令用于生成字符串

Octave基本使用_第2张图片

  • format short默认输出打印少量的小数点后位数;format long默认显示更多的小数点后位数

Octave基本使用_第3张图片

向量和矩阵

  • 用[]表示一个矩阵,用;来隔离每一行

Octave基本使用_第4张图片

  • 行向量与列向量的表示:

Octave基本使用_第5张图片

  • v = 1:0.1:2   //v是一组值,从1开始,步长为0.1,一直增加到2;默认步长为1

Octave基本使用_第6张图片

  • ones(m,n)    生成元素均为1的m行n列矩阵
  • zeros(m,n)    生成元素均为0的m行n列矩阵

Octave基本使用_第7张图片

  • rand(m,n)      生成随机的m行n列矩阵,每个元素都介于0到1之间
  • randn(m,n)    生成高斯随机变量(正态分布的随机变量),均值为0,方差为1
  • w = -6 + sqrt(10) * (randn(1,100000))     生成一个有10000个元素的向量,均值为-6,方差为10
  • hist(w)  将w绘制成一个直方图

Octave基本使用_第8张图片

eye(n)   生成n阶单位矩阵

Octave基本使用_第9张图片
help命令

如help eye 显示单位矩阵的帮助函数。键入Q可以退出

移动数据

数据的读取和存储

  • 求矩阵、向量的维度(通常矩阵用size,向量用length)

Octave基本使用_第10张图片

  • pwd命令显示Octave当前所在的路径
  • cd命令表示改变路径,load用于加载文件
  • who命令显示当前Octave储存的所有变量
  • whos命令显示更详细的变量信息
  • save命令将数据存入硬盘
  • clear命令清除所有当前储存的变量

Octave基本使用_第11张图片

Octave基本使用_第12张图片

矩阵索引

  • A(m,n)    矩阵A第m行第n列的元素
  • A(m,:)     矩阵第m行的所有元素
  • A(:,n)      矩阵第n列的所有元素
  • A([m,n],:)    矩阵第m、n行的所有元素

Octave基本使用_第13张图片

Octave基本使用_第14张图片

矩阵组合

  • A(:)   将A中所有的元素放入一个单独的列向量

Octave基本使用_第15张图片

  • C =  [A B]   将A B左右拼组合成新的矩阵C
  • C = [A ; B]   将A B上下拼组合成新的矩阵C

Octave基本使用_第16张图片

计算数据

  • A * B   两个矩阵相乘
  • A .* B  两个矩阵元素对应分别相乘
  • A .^ 2   A矩阵每个元素分别平方

Octave基本使用_第17张图片

  • log(V) 、exp(V)、abs(V)对矩阵或向量的每个数求对数、以e为底的对数、绝对值

Octave基本使用_第18张图片Octave基本使用_第19张图片

  • A'   求A的转置
  • pinv(A)  求A的逆矩阵

Octave基本使用_第20张图片Octave基本使用_第21张图片

  • 求向量的最大值或最大值及其索引值   如果是矩阵会返回每列的最大值
  • 将向量的每个元素都与某个数比较
  • 找出满足某种条件的索引值

Octave基本使用_第22张图片

  • magic(n)函数生成n阶矩阵(幻方矩阵)—— 每一行、每一列、每一斜对角线加起来为同一个数
  • [r,c] = find(A > 7)     返回大于7的元素的行和列号
  • max(A,[],1)  返回每一列的最大值 (默认)   max(A,[],2)返回每行的最大值   max(max(A))或max(A(:))返回矩阵中的最大值

Octave基本使用_第23张图片Octave基本使用_第24张图片

  • sum(V)   返回向量中所有元素的和
  • prod(V)   返回向量中所有元素的乘积
  • floor(V)、ceil(V)

Octave基本使用_第25张图片

  • sum(A,1)  求每一列的和(默认)      sum(A,2)   求每一行的和
  • 求两条对角线之和   flipud(A) 将矩阵A进行垂直翻转

Octave基本使用_第26张图片Octave基本使用_第27张图片

数据绘制

函数图像绘制

  • plot(x,y)   绘制y关于x的图像;
  • hold on函数让Octave在原有的图像上绘制新的图像,其中plot中的‘r’表示线条的颜色;
  • xlable、ylable函数分别为x轴、y轴加上标签,legend('','')标记曲线的内容,title()在图像顶部显示图像标题;
  • print -dpng ‘myPlot.png’ 将图像保存到当前路径
  • close命令关闭当前图像

Octave基本使用_第28张图片

 

 

  • figure(x)为图像标号;
  • subplot(m,n,x)将图像分为m*n个格子,使用第x个格子;
  • axis([xstart,xend,ystart,yend])设置坐标轴的范围;
  • clf命令清除图像;

Octave基本使用_第29张图片

矩阵图像绘制

  • imagesc(A)  用不同颜色来代表不同的值

Octave基本使用_第30张图片

控制语句:for、while、if语句

for语句

Octave基本使用_第31张图片

while语句

Octave基本使用_第32张图片

if语句

Octave基本使用_第33张图片

定义和调用函数

  • addpath('C:\uers')      将路径存储到Octave的搜索路径中
  • 定义函数:文件名必须与函数名相同,以.m后缀结尾,如在squareAndCube.m文件中定义一个函数,函数可以返回多个返回值。
    function [y1,y2] = squareAndCube(x)
        y1 = x ^ 2;
        y2 = x ^ 3;

    Octave基本使用_第34张图片

  • 代价函数的定义

       在costFunctionJ.m文件中定义代价函数:

function J = costFunctionJ(A,y,theta)
    % A is the "design matrix" containing our training examples
    % y is the class label
    
    m = size(A,1);   % number of training examples
    predictions = A * theta;  %predictions of hypothesis on all m examples
    sqrErrors = (predictions - y) .^ 2;  %square errors
    
    J = 1 / (2*m) * sum(sqrErrors);

Octave基本使用_第35张图片

你可能感兴趣的:(大数据)