Octave命令

基本操作:

操作 注释
~= 不等于
xor 异或
ps1('>> '); 隐藏版本信息
a=3; 加上;后不打印
% 注释
disp() 更复杂的输出
disp(sprintf('2 decimals:%2f',a) 输出字符串
format long 输出长字符串(小数点后十六位)
format short 输出短字符 (小数点后四位)
A=[1 2; 3 4; 5 6] 输入一个矩阵A(2x3),一行一行输入
V=[1 2 3] 输入一个向量V(也可以说是一个1x3的矩阵)
V=[1;2;3] 输入一个列向量
V=1:0.1:2 从1开始,每次增长0.1一直到2,生成向量V=[1.00000000000000 1.10000000000000 1.20000000000000 ... 2.00000000000000]
V=1:6 生成1到6的数形成向量,即V=[1 2 3 4 5 6]
ones(2,3) 生成全是1的2x3的矩阵
c=2*ones(2,3) 生成全是2的2x3矩阵
w=zeros(1,3) 生成全是0的1x3的矩阵/向量
w=rand(1,3) 生成全是随机数的1x3的向量/矩阵(数值0到1之间)
w=randn(1,3) 生成平均值为0的高斯分布
hist(w) 打印直方图(比如画出一个1x1000的随机变量w)
hist(w,50) 打印直方图(50个条)
eye(4) 生成一个单位矩阵I(4x4)4阶

移动数据

操作 注释
size(A) 返回矩阵A的大小(3x2之类的返回[3 2])
size(A,1) 返回矩阵A的行数
length(A) 返回最大维数(ps:一般对向量用)
pwd 返回当前运行所在path
ls 可以当前path的所有目录
load input.txt 加载数据文件
load('input.txt') 同上
who 显示当前Octave储存的变量
input (这只是我的input文件名,此时成了一个变量名)显示input文件内容
size(input) 查看input这个文件的大小
whos 显示当前Octave存储变量的具体信息(数据类型、size、Bytes之类的)
clear input 可以删除input这个变量
v=input(1:3) 返回v=[1 3 5],也就是input文件的前3个数存储在向量v中
save outputtest.txt 将数据写入硬盘,并且名字叫outputtest
clear 清除所有变量
A(3,2) A矩阵里第3行第2列的数
A(2,:) A矩阵里第2行的所有数
A([1 3],:) A矩阵里第1行和第3行所有数
A(:,2)=[10;11;12] A矩阵的第二列分别赋值
A=[A,[1;2;3]] 给A矩阵增加一列数据
A(:) 把A矩阵的所有数据放在一列
C=[A B] 连接矩阵A和B形成新的矩阵C(A、B左右排列)
C=[A;B] 连接矩阵A和B形成新的矩阵C(A、B上下排列)

ps:[A B] 与[A,B]的写法是一样的

对数据进行运算

操作 注释
A*B 矩阵乘法
A .*B A矩阵里的数乘以B矩阵里对应的数(a11 * b11)

ps: .符号在Octave一般表示元素位运算

操作 注释
A .^2 A矩阵里每个元素都做平方运算
1 ./ V 对V向量里的每一个元素求倒数
1 ./ A 对矩阵,同上
log(A) 对矩阵里的每个元素做对数运算
exp(V) 对向量里的每个数做幂次运算(e为底,V里面的元素为幂)
abs(V) 对向量里的每个数都求绝对值
-V 取相反数
V+ones(length(V),1) 对向量的每一个元素都+1
V+1 同上
A' A矩阵的转置
max(A) 对矩阵的每列求最大值,向量就是最大值
[val,ind]=max(a) 找出每列里面最大的并且返回索引
A<3 对每个元素进行比较,返回0/1的矩阵
find(A<3) 返回哪些符合条件的元素的索引
magic(3) 生成3阶幻方(或者说魔方阵,magic square,它的所有行、列、对角线加起来都是同一个值)

ps:这在机器学习上基本没用,但是可以很快生成一个n阶方阵哇:D

操作 注释
[r,c]=find(A>=7) 找出A矩阵里比7大的数的索引(r是行数,c是列数)
help find 以后只要不记得语法就可以用help+操作命令就可以查看文档
sum(A) 把A里面的所有元素都相加(向量),矩阵的话就是每列的相加结果
prod(A) 把A矩阵每列的数都相乘得到一个数
floor(A) 对A的每个元素都向下四舍五入(ps:0.9 -> 0;0.5->0)
ceil(A) 对A的每个元素都向上四舍五入(ps:0.1->1;0.5->1)
max(rand(3),rand(3)) 随机生成3阶随机数矩阵,每个元素都比较,每个元素都在两个矩阵中取对应的较大的那个形成新的矩阵
max(A,[],1) A矩阵里每一列的最大值(1表示取A矩阵第一个维度的最大值)
max(A,[],2) A矩阵里每一行的最大值
max(A) 默认情况下,返回的是每一列的最大值
max(max(A)) 找出矩阵里所有元素里的最大值
A(:) 将矩阵变为列向量,一列一列排起来
max(A(:)) 把A当成向量,找出最大值
sum(A,1) 把每一列的数相加
sum(A,2) 把每一行的数相加
A .* eye(3) 得到A的对角线,其余都是0的矩阵
sum(sum(A .* eye(3))) 得到A矩阵对角线的总和
sum(sum(A.* flipud(eye(3)))) 得到副对角线的总和
filpud() 向下翻转
filpup() 向上翻转
pinv(A) 求A的伪逆矩阵(就算不可逆也能计算)

绘制图像

t=[0:0.01:0.98]
y1=sin(2pi4*t);
plot(t,y1) #绘制x轴为t的函数图
hold on #将新图画在旧图上
plot(t,y2,'r') #画一条新的线在原图上,并且用红色绘制
xlabel('time') #给x轴命名
ylabel('value') #给y轴命名
legend('sin','cos') #为绘制的线标记名字
title('my plot') #为图加上标题
print -dpng 'myplot.png' #打印绘制的图病保存为图片
close #关闭文件
figure(1); plot(t,y1) #给绘制的图片添加编号
subplot(1,2,1); #将图像变成1x2的格子,前面两个参数可以调整坐标轴的大小,伸缩
subplot(1,2,2); #在同一个平面上绘制第二张图,第三个参数为绘制的图的索引
axis([0.5 1 -1 1]) #前两个参数设置了X轴的刻度范围,后两个参数设置了Y轴的刻度范围
clf; #清除图像
imagesc(A) #绘制矩阵A
imagesc(A),colorbar,colormap gray #将绘制的图变成灰度分布图(colorbar在右边增加了一个颜色条)

循环控制语句

for i=1:10,
v(i)=2*i;
end; 遍历1到10,每次乘以2

indices=1:10;
for i= indices,
disp(i);
end; 效果同上

i=1;
octave:2> while i<=5,
v(i)=100;
i=i+1;
end; while写法

i=1;
octave:7> while true,
v(i)=999;
i=i+1;
if i==6,
break;
end;
end; 添加了if的while

if v(1)==1,
disp('1');
elseif v(1)==2,
disp('2')
else
disp('else')
end; else-if写法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,047评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,807评论 3 386
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,501评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,839评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,951评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,117评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,188评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,929评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,372评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,679评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,837评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,536评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,168评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,886评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,129评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,665评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,739评论 2 351

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,741评论 0 33
  • 像部落君这种资深宅,连出个门都会斤斤计较,所以健身也会选择尽量在家里进行! 这8个健身神器,就是给在家里健身的你准...
    部落直播阅读 8,800评论 0 3
  • 一堵墙 二十八年的时光 两个人 二十八年的守望 从青葱年少到灰白的鬓霜 夕阳西下 老师客观地讲述,不带修饰 可我的...
    shadowunique阅读 203评论 0 0
  • 决定写这篇文章的时候,其实,我有在思考一个问题,张小雅到底是一个写作者,还是一个自媒体人…… 想了许久,答案是,写...
    小雅爱说话阅读 361评论 0 2
  • 我们经常在网上看到这些奇妙的图片: 您是先看到凹陷的图形还是先看到凸显的图形呢?再尝试把它旋转90度,...
    心灵简单就是美阅读 630评论 0 7