Octave 命令

注:本文是基于斯坦福的机器学习课程git

 

1. A=[1 2;3 4;5 6]机器学习

    这样就定义了一个矩阵函数

   size(A)===>3 3学习

  若是是向量:B=[1 2 3 4]orm

  length(B)=4blog

 

2.修改路径:cd 'c:\snow'ci

  load 1.dat    加载文件element

  save 1          保存文件字符串

  save hello.mat variable  表示把某个变量存入到文件中it

  save hello.txt C -ascii     %save as text(ASCII)

 

3.who    显示当前全部的变量名称 

  whos   显示当前变量的名称和详细的信息

  clear variable 表示清楚某个变量

 

4.对变量的操做

  A(3,2)    %第三行第二列

  A(2,:)      %第二行,全部的元素

  A(:,2)=[10;11;13]  %修改了第二列的全部值

  A(:)    %修改A为一个列向量

  C=[A B]  %直接链接两个,A在左,B在右

  C=[A ;B]  %直接链接两个,A在上,B在右=下

 

5.矩阵之间的运算

  A,B都是矩阵

  A*B %计算A 和B的乘积

  . 表示对每个元素进行某种操做,例如:

   1 ./A              %表示取A中每个元素的倒数

    log(A)          %表示对A中的每个元素取其对数

    exp(A)         %表示对A中的每个元素取其天然指数

    abs(A)         %表示对A中的每个元素取其绝对值

     -A                %表示对A中的每个元素取反

     A+1             %表示对A中的每个元素加1

   

     max(A)        %表示求出A中的最大值,可是须要注意,若是A是矩阵的话,是对每一列求出最大值,若是A是向量,则是直接求出最大值

     find(a<3)      %找出向量中小于3的数字

     a<3                %返回的是01字符串,表示每一个元素是否小于3 

    sum(a)   prod(a) floor(a)  ceil(a)        %

    sum(A,1)        %表示对每一行求全部元素的和

    sum(A,2)        %表示对每一列求全部元素的和

    sum(sum(A.*eye(9)))    %求出A的对角线之和

    max(rand(3),rand(3) )   %将会返回一个3*3的矩阵,每个元素都是随机生成的矩阵对应的两个元素的最大值

    max(A,[],1)                       %将会返回一个行矩阵,是A中每一列的最大值

    max(A,[],2)                       %将会返回一个列矩阵,是A中每一行的最大值

    max(A)                              %是对每一列求出最大值

    max(max(A))                    %求矩阵的最大值 或是也能够先把矩阵变成列 A(:)  而后求max,max(A(:))

 

    A+单引号           %表示求A的转置

    pinv(A)                %求出A的逆矩阵

  

6.函数建立矩阵

  ones ,zero  建立全1或者全0的矩阵

  diag(1,2,3)    %建立对角线是1,2,3,其余所有是0的矩阵

  e=[]                 %建立一个空的矩阵

  eye(3)           %建立一个3*3的单位矩阵

 

 

7.数据的可视化

  
>> t=[0:0.01:0.98];
>> y1=sin(8*pi*t);
>> y2=cos(8*pi*t);
>> plot(t,y1);
>> hold on;
>> plot(t,y2,'r');


>> xlabel('time');
>> ylabel('value');
>> title('my plot');
>>  legend('sin','cos');
>> cd 'D:\';print -dpng 'myPng';
>> close  %close the figure

 

clf  %清除图像

 figure(1);plot(t,y1);
>> figure(2);plot(t,y2);
>> subplot(1,2,1)  %divid 1*2,access the first element
>> plot(t,y2);
>> subplot(1,2,2);
>> plot(t,y1);
>> axis([0.5,1,-2,2])
>> print -dpng '2.png'

 

 

imagesc(A), colorbar,colormap gray;

 

 

 

8.控制语句

  1.if...else statement

    符号 意义 例子
== 等于 if x==y
= 不等于 if x =y
> 大于 if x>y
>= 大于等于 if x>=y
< 小于 if x<y
<= 小于等于 if x<=y
& 与 if x==1 & y>2
| 或 if x==1 | y>2
~ 非 x~= y

这与 C++ 中的语法又必定的差别:Octave 中条件不须要用括号 () 括起来 (固然使用括号会让程序更加明
了), 并且 statments 程序块不须要用大括号{ } 括起来。另外,Octave 中须要用 end 命令来标识 if 语句的
结束。在 Octave 中,if...end 和 if...endif 都是合法的. 使用 end 可让 Octave 的文件与 Matlab 文件
兼容.

在 switch 语句中,x 的值依次与 case 中的值比较,若是找到与之相等的值,相应的 statements 将被执 行。注意到在 Octave 中 switch 语句不像 C++ 那样须要 break 语句——Octave 中找到匹配的选项,执行 statements 中的语句并退出 swith 语句。如果没有匹配的项,otherwise 中的语句被执行。例如 octave:##> a=1; octave:##> switch a case 0 disp('a is zero'); case 1 disp('a is one'); otherwise disp('a is not a binary digit'); end a is one

相关文章
相关标签/搜索