欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

五: Octave基本操作

程序员文章站 2023-12-30 20:43:04
...

1 基本运算

 + - * / ^   (加减乘除次方)
 == ~= (相等不等判断)
 && || (逻辑运算)
 xor(a,b)   (异或运算)
 % 注释符


2 变量

  a=1
  a='teststr'
  a=(a>=2)
  a=pi
  format long/short (格式控制)
  disp(sprintf('2 decimals: %0.2f',a)) (自定义格式输出)
  who/whos (查看变量)
  clear xx (清除变量)


3 矩阵
 

  A=[1 2;3 4;5 6]
  B=[1 2 3]  (行向量)
  C=[1;2;3]  (列向量)
  v=1:0.1:2  (步长控制向量生成)
  ones(m,n)  (一矩阵)
  zeros(m,n)  (零矩阵)
  rand(m,n)   (随机矩阵)
  randn(q,n)  (高斯分布)
  eye(n)     (单位矩阵)
  magic(n)   (魔幻矩阵)
  size(A)     (返回m,n 矩阵维度)
  length(B)   (返回向量长度)
  ------------------------------
  hist(A) (直方图)


4 数据处理
 

  加载: load
  存储:save
  选取数据:A(2,3)  A(2,:) A(:,3) A([1 3],:)
  横向拼接:C=[A B]
  竖向拼接:C=[A;B]


6 数据计算
 

  A+B
  A*B(矩阵乘法) 
  A.*B(点乘)
  A+1
  A*2
  log(A)
  exp(A)
  abs(A)
  -A
  floor(A)
  ceil(A) 
  sum(A)   
  prod(A)
  max(A)
  max(A,[],1)  (列维度)
  max(A,[],2)  (行维度)
  max(max(A)) / max(A(:))
  A' (转置)
  pinv(A) (逆矩阵)
  A<3 (返回判断值)
  find(A<3) (直接返回判断角标值)
  [r,z]=find(A<3) (返回两个向量,r代表行,z代表列,组合指定判断符合条件的数据)


7 绘图
 

  测试数据:
  % t=[0:0.01:0.98]; 
  % y1=sin(2*pi*4*t);
  % y2=cos(2*pi*4*t);
  plot(t,y1)   (正弦函数)
  plot(t,y2,'r')  (余弦函数)
  -----------------------
  hold on;  (附加图)
  xlabel('time');
  ylabel('value');
  legend('sin','cos');
  title('my plot');
  axis([0.5 1 -1 1]); (坐标轴调整)
  ----------------------
  figure(1);plot(t,y1);
  figure(2);plot(t,y2);
  ----------------------
  分格子区域作图:
  subplot(1,2,1);plot(t,y1);
  subplot(1,2,2);plot(t,y2);
  -------------------------
  imagesc(magic(15)),colorbar,colormap gray


8 控制语句
 

  for i = 1:10
    v(i) = 2^i;
  end;
  -------------------------
  while i <= 5
    v(i) = 100;
    i = i+1;
  end;
  -------------------------
  while true,
    v(i) = 500;
    i = i+1;
    if i == 8,
        break;
    end;
  end;
  -------------------------
  if v(1) == 1,
    disp('value is 1');
  elseif v(1) == 2,
    disp('value is 2');
  else
    disp('value is not 1/2');
  end;
  ------------------------
 

 function定义:(可设置多返回值)

 如:函数文件SquareAndCubeThisNumber.m

      五: Octave基本操作

调用测试:

      五: Octave基本操作
 

9 向量化
  可简化循环处理、提升效率
  如:批梯度下降函数
  按照传统思想需要对所有的特征参数循环求解,向量化后

  五: Octave基本操作

theta为n+1维参数向量,阿尔法为常数,黄色标记区域也为一个n+1维向量,第i项数据为每条样本代价差*样本第i项特征数据求和求平均;(n为特征数,m为样本数)

则此计算可以转化为n+1维向量运算;


  
  
  

------------------------------------------------------------------------------------------------------------------------------------

文章内容学习整理于吴教授公开课课程与黄博士笔记,感谢!

  

上一篇:

下一篇: