Octave工具学习

1基础

octave:44> A = [1 2; 3 4; 5 6]
A =

1 2
3 4
5 6

sz = size(A)
3行2列

size(A, 1) 表示行,3行。size(A, 2)表示列,2列。
v = [1 2 3 4]然后键入 length(v),这个命令将返
回最大维度的大小,返回 4

加载文件load(‘featureX.dat’) 或者load featureX.dat
V= priceY(1:10)这表示的是将向量 𝑌的前 10 个元素存入 𝑉中。

save hello.mat 𝑉 命令,这个命令会将变量𝑉存
成一个叫 hello.mat 的文件
save hello.txt V -ascii 存成文件

𝐴设为 A = [A, [100; 101;102]]这样做的结果是在
原矩阵的右边附加了一个新的列矩阵,就是把 𝐴矩阵设置为原来的 𝐴 矩阵再在右边附上一
个新添加的列矩阵
A =

 1     2   100
 3     4   101
 5     6   102

A(😃,这样我们就得到了一个 9×1 的向量,这些元素都是
𝐴 中的元素排列起来的

2矩阵计算

A = [1 2; 3 4; 5 6]
A =

1 2
3 4
5 6

B = [11 12; 13 14; 15 16]
B =

11 12
13 14
15 16

C=[1 1;2 2]
C =

1 1
2 2

矩阵相乘
octave:49> A*C
ans =

5    5

11 11
17 17

点乘运算 A.*B,这么做 Octave 将矩阵 𝐴中
的每一个元素与矩阵 𝐵 中的对应元素相乘:A.*B
octave:51> A.*B
ans =

11 24
39 56
75 96

元素原地操作
A.^2这将对矩阵𝐴中每一个元素平方。
octave:52> A.^2
ans =

1    4
9   16

25 36

octave:53> V= [1; 2; 3]
V =

1
2
3
1./V,得到每一个元素的倒数
1./A 得到𝐴中每一个元素的倒数

函数也是针对每一个元素操作
log(V)
log(A)
自然数𝑒的幂次运算,就是以𝑒为底,以这些元素为幂的运算
exp(V)
abs(V)

每个元素相加1
octave:54> V+ones(3,1)
ans =

2
3
4
可以这样写:v+1,v + 1 也就等于把 𝑣 中的每一个元素都加上 1

3高级操作

A’转置

octave:55> a=[1 15 2 0.5]
a =
1.0000 15.0000 2.0000 0.5000

octave:56> val=max(a)
val = 15

[val, ind] =max(a),这将返回𝐴矩阵中的最大值存入𝑣𝑎𝑙,以及该值对
应的索引,元素 15 对应的索引值为 2,存入𝑖𝑛𝑑,所以 𝑖𝑛𝑑 = 2。这里索引从1开始

用命令 max(A),𝐴是一个矩阵的话,这样做就是对每一列求最
大值

𝑎 矩阵 a=[1 15 2 0.5],如果输入 a<3,这将进行逐元
素的运算,所以元素小于 3 的返回 1,否则返回 0。
octave:57> a<3
ans =

1 0 1 1

find(a<3),这将告诉我𝑎 中的哪些元素是小于 3 的。返回的是索引序列
octave:58> find(a<3)
ans =

1 3 4

magic 函数将返回一个矩阵,称为魔方阵或幻方 (magic squares),
它们具有以下这样的数学性质:它们所有的行和列和对角线加起来都等于相同的值。
octave:59> A = magic(3)
A =

8 1 6
3 5 7
4 9 2

[r,c] = find(A>=7),这将找出所有𝐴矩阵中大于等于 7 的元素
prod(a),prod 意思是 product(乘积),它将返回这四
个元素的乘积

最大值问题:
max(A,[],1),这样做会得到每一列的最大值。
max(A,[],2),这将得到每一行的最大值。
默认情况下max(A)返回的是每一列的最大值

单位矩阵
octave:5> eye(3)
ans =

Diagonal Matrix

1 0 0
0 1 0
0 0 1

𝐴逐点乘以这个单位矩阵,除了对角线元素外,其他元素都会得到 0。
sum(sum(A.*eye(9))

翻转操作
flip/flipud 表示向上/向下翻转。
octave:12> A
A =

8 1 6
3 5 7
4 9 2

octave:13> flip(A)
ans =

4 9 2
3 5 7
8 1 6
上面的行和下面的行交换了

逆矩阵

pinv(A),通常称为伪逆矩阵,你就把它
看成是矩阵 𝐴 求逆,因此这就是 𝐴矩阵的逆矩阵。

4绘图操作

octave:4> y1=sin(2pi4t);
octave:5> plot(t,y1)
在这里插入图片描述
继续画图会覆盖原图,如
octave:6> y2=cos(2
pi4t);
octave:7> plot(t,y2);
在这里插入图片描述
使用hold on函数,即可同时显示两幅图像:
octave:9> hold on
octave:10> plot(t,y1);

在这里插入图片描述
octave:11> plot(t,y2,‘r’)#红色折线
octave:12> xlabel(‘time’)#x轴标记
octave:13> ylabel(‘value’)#y轴标记
octave:14> legend(‘sin’,‘cos’)#图例标注
在这里插入图片描述
print –dpng ‘myplot.png’ #保存图片
命令 close 会让这个图像关掉

子图操作
octave:29> subplot(1,2,1)
octave:30> plot(t,y1)
octave:31> subplot(1,2,2)
octave:32> plot(t,y2)

在这里插入图片描述

octave:1> A= magic(5)
A =

17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9

octave:2> imagesc(A)
在这里插入图片描述

A =

17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9

octave:13> imagesc(A)
libpng warning: iCCP: cHRM chunk does not match sRGB
octave:14> colorbar
octave:15> colormap gray
在这里插入图片描述

5控制语句

for i=1:10,v(i)=2^i;end;

octave:25> for i=1:10,v(i)=2^i;

end;
octave:26> v
v =

  2      4      8     16     32     64    128    256    512   1024

octave:31> while i<=5,

v(i)=100;
i=i+1;
end;

addpath “C:\Users”
添加了路径之后,不要切换工作目录,这个目录下的东西就可以用了
在这里插入图片描述
在这里插入图片描述
octave:8> squareThisNumber(5)
ans = 25
这样就可以直接使用了。

代价函数举例:

octave:1> X = [1 1;1 2;1 3]
X =

1 1
1 2
1 3

octave:2> Y = [1;2;3]
Y =

1
2
3

octave:3> theta = [0;1]
theta =

0
1
在这里插入图片描述
octave:12> J=costFunctionJ(X,Y,theta);
octave:13> J
J = 0
调用很简单,使用函数即可。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值