Octave 学习笔记

0 Octave简介

  • Octave是一种高级的解释性编程语言,主要解决线性的或者非线性的计算问题,使用Octave可以快速的实现你的算法。

1 基本操作

  • 在命令行内可以进行简单的加减乘除运算


    基本操作
  • 常用命令及符号

常用符号/命令 Octave中的表示
注释 %
不等于 ~=
输出长格式 formate long
输出短格式 formate short
格式化输出 disp(sprintf(' %0.2f ', a))
矩阵建立 A = [1 2; 3 4; 5 6], 输出为一个三行两列的矩阵,分号代表行的切换,逗号或者空格代表列的切换
快速建立向量 V = 1:0.1:2,起始值为1,终止值为2,步步长为0.1, 如果不输入步长,默认·=为1
生成全1矩阵 A = ones(2, 3),输出为两行三列的全1矩阵
生成全0矩阵 A= zeros(2, 3),输出为两行三列的全0矩阵
生成随机矩阵 A = rand(2, 3),输出为两行三列的随机值矩阵,所有值介于0、1之间
生成单位矩阵 A = eye(2, 2),输出为两行两列的单位矩阵
生成魔方阵 A = magic(3),行、列、对角线相加都相等
help 帮助命令

2 移动数据

  • 介绍怎样把数据存入矩阵,怎样保存计算结果

  • 常用命令

命令 释义
获取矩阵大小(行数,列数) size(A)
获取矩阵特定维度的大小 size(A, 1),获取矩阵第一维度的大小,也就是行数
获取矩阵最大维度的大小 length(A)
加载文件到内存 load(filename)
显示Octave工作空间中所有的变量 who
清除某个变量 clear varName
保存数据到文件 save varName filename
  • 矩阵的索引
代码 释义
A(2, 3) 第二行第三列的数值,(矩阵形式返回,下同)
A(2, :) 第二行所有的数据
A(:, 2) 第二列所有的数据
A([1, 3], :) 第一行和第三行的所有数据
  • 矩阵的修改
代码 释义
A(:, 2) = B 矩阵的列整体替换
A = [A, B] 在矩阵右侧附件矩阵
A = [A; B] 在矩阵下侧附件矩阵

3 计算数据

  • 常用操作
操作 代码
矩阵乘法 A*C
矩阵点乘 A*C,返回A中的每一个元素与C中相同位置元素相乘后的结果
矩阵的元素位运算 . 表示元素的位运算,例如A.^2 表示对A的所有元素平方
对每个元素操作 log(A)、exp(A)、A+1、A<3
矩阵转置 A'
求矩阵最大元素 [val, ind] = max(A), 返回最大元素机及其位置
查找符合条件的元素 find(A)
求和 sum(A)
求乘积 prod(A)
向下四舍五入 floor(A)
向上四舍五入 ceil(A)
求逆矩阵 pinv(A)
  • max()函数
代码 释义
max(A) 返回每列的最大值
max(A, [], 1) 返回每列的最大值
max(A, [], 1) 返回每行的最大值

max(max(A)), 返回最大值

  • sum()函数
代码 释义
sum(A, 1) 返回每列的总和
max(A, 2) 返回每行的总和

sum(sum(A)), 返回总和

4 绘图

  • plot() 函数
示例 释义
plot(y) 如果y是列向量,会默认给每一个y设置对应的x为1-n进行绘图,如果y有多列,就会绘制多条曲线
plot(x, y) 根据x、y确定的点就行绘图,y可以设置成某个以x为因变量的函数
hold on 将新的图像绘制在原有的之上
plot (x, y, 'r') 红色曲线
xlabel\ylabel 设置轴线的名称
legend("a", "b") 在图的右上角标记两条曲线
title("title") 设置图的标题
subplot(1, 2, 1) 将图像分为一个1*2的格子并绘制在第一个格子上
axis([1 2 3 4]) 调整x、y轴的范围为(1,2) (3,4)
clf() 清除一张图像

5 控制语句

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

推荐阅读更多精彩内容