octave的基本使用笔记(吴恩达机器学习自用)

读取和存储和移动数据

如何处理数据路径

pwd显示当前路径的地址
cd切换路径
load+文件名  将文件加载到octave的内存当中(前提是已经将当前路径切换到了文件所在路径) 

在这里插入图片描述

size(priceY)可以知道向量priceY的型号
priceY 直接这样输入向量名可以知道它的内容
who 可以向你展示当前文件中的所有变量
whos 可以向你展示当前文件中的所有变量的更加详细的信息
clear(featuresX) 可以用来删除向量featuresX
clear 删除工作空间中的所有变量

我们如何存储数据呢?

v = priceY(1:10)是将变量priceY的前十个元素赋给v
save hello.mat v 将数据存入硬盘,也就是将向量v保存为一个名为hello.mat的文件,但实际上这个.mat文件是一个二进制文件,人类看不懂
save hello.txt v   将数据存入硬盘,也就是将向量v保存为一个名为hello.txt的文件,该文件人类可以看懂,但只有大致的描述性信息
save hello.txt v –ascii %save as text (ASCII)  将数据存入硬盘,也就是将向量v保存为一个名为hello.txt的文件,该文件人类可以看懂,比较详细,不过可能会改写成其他形式

进行数据操作

A = [1 2;3 4;5 6]输出一个A矩阵
A(3,2) 也就是输出A矩阵的第三行第二列的元素,也就是6
A(2,:) 输出A的第二行的所有元素
A(:,2)输出A的第二列的所有元素
A([1 3],:)输出A的第一和第三行的所有元素
A(:,2) = [10;11;12] 是将矩阵A的第二列改为10,11,12
A = [A,[100;101;102]] 是矩阵A的右边增加了一列新的向量
%可以用来作为注释
size(A) 可以用来查看矩阵A的型号
A(:) 将矩阵A中所有的元素都放入一个列向量中
C = [A B] 将两个矩阵左右放置地组合到一起
C = [A;B] 将矩阵B放在矩阵A的下面,将矩阵A,B组合在一起
[A B]和[A,B]是等价的

基本操作

size(A)返回矩阵A的大小
size(A,1) 给出矩阵A的第一维度的大小,也就是A矩阵的行数,如果输入的是size(A,2)的话就输出A的第二维度的大小,也就是A矩阵的列数
length(v) 将给出矩阵v(向量是矩阵的特殊情况)的维度中最大的长度大小
1 == 2 是判断1是否等于2,如果对会输出1,错会输出0
1~=2 判断1是否不等于2,如果对会输出1,错会输出0
&& 是逻辑与,1 && 0 会输出0
|| 是逻辑或 1||0会输出1
xor 是异或 xor(1,0)会输出1
PS1(‘>>’)可以用来修改命令提示符为>>
;  如果你不想看到输出,你可以在语句后加上;以此防止输出
b = ‘hi’ 可以将b赋值为字符hi
a = pi  可以将a设置成圆周率
disp(a)  可以将a打印出来,直接输入a也可以将a打印出来
disp(sprintf(‘2 decimal: %0.2f’,a)) 是用来输出sprintf生成的字符串“2 decimals :3.14”的,而%0.2f表示的是生成常量a的小数点后两位
format long a  可以让字符串a显示默认的位数
format short a  可以让字符串a显示少量默认的位数
v = 1:0.1:2  表示v是从1开始,步长为0.1,一直到2的向量
v = 1:6 表示v是从1开始,步长为1,一直到6的向量
ones(2,3)是生成一个2*3的矩阵,且每个元素都是1
c = 2* ones(2,3)是生成一个2*3的矩阵,且每个元素都是2
w = zeros(1,3) 是生成一个1*3的矩阵,且每个元素都是0
w =rand(3,3) 是生成一个3*3的矩阵,且每个元素都是0-1之间的随机数
w =randn(3,3) 是生成一个3*3的矩阵,且每个元素都是0-1之间的随机数,并且服从高斯分布,均值为0,标准差或方差为1
hist(w)将向量w绘制成直方图
hist(w,50) 是将向量w绘制成50条数的直方图
sqrt(10) 10的根号
i = eye(6)是将变量i赋值为一个6x6的单位矩阵
help help 获得help命令的帮助文档

计算数据

A*C  可以计算出矩阵A和矩阵C 相乘的结果
A.*C  可以将矩阵A中每个元素与矩阵C 的每个元素对应相乘
A.^2  将矩阵A中每个元素进行乘方
1./v  求向量v中对应元素的导数
1./A  求矩阵A中对应元素的导数
log(v) 求向量v中每个元素的对数
exp(v) 以v中元素为指数的幂运算
abs(v) 求向量v中所有元素的绝对值
-v  将得到向量v中所有元素的负数
v + ones(length(v),1)  可以将向量v中所有元素加1	
v + 1  也可以将向量v中所有元素加1	
A’  是A的转置
val = max(A)  是矩阵A中最大的元素
[val,ind] = max(a)  val会返回矩阵A中最大的元素,以及ind会返回矩阵A中最大元素的索引
v < 3  可以将向量v中的每个元素同3进行比较,然后输出true为1,false为0的结果
find(a < 3)  可以找出A中所有小于3的元素的索引
A = magic(3) 会输出一个3*3的幻方矩阵A,它的每行每列每对角线加起来都等于相同的值
[r,c] = find(A >=7) 会找出A中大于7的元素的索引,r是它的行,c是它的列
sum(a) 可以得到a中所有元素的和
sum(A,1) 可以得到矩阵A中每一列元素的和
pord(a) 可以得到a中所有元素的乘积
floor(a) 可以将a中元素向下取整
ceil(a) 可以将a中元素向上取整
rand(3) 可以得到一个3*3的随机数矩阵
max(rand(3),rand(3)) 用两个3*3矩阵中较大的那个元素组成3*3矩阵
max(A,[],1)可以的得到矩阵A中每一列最大的值
max(A,[],2)可以的得到矩阵A中每一行最大的值
max(A) 默认是A中每列的最大值
max(max(A)) 是整个矩阵A中的最大值,也可以将矩阵A先变成向量A(:),然后再输入max(A(:)),得到整个矩阵A中的最大值
A.*eye(9)   可以让一个9*9的矩阵A仅留下对角线上的元素
sum(sum(A.*eye(9))) 可以得到一个9*9的矩阵A对角线上的元素之和
flipud(A)  可以让矩阵A垂直翻转
pinv(A)  可以求矩阵A的逆矩阵

数据绘制

绘制一个以t为横轴,y1为纵轴的正弦函数y1 =sin(8πt)图

在这里插入图片描述

如果新作一个图,那么会覆盖之前的图

在这里插入图片描述

hold on 可以让旧的图像方面放新的图像,进行覆盖
plot(t,y2,’r’)  可以让新绘制的y2 = f(t) 是个红色的图像
xlabel(‘time’) 可以加上x轴即横轴标签time
ylable(‘value’)  可以加上y轴即横轴标签value
legend(‘sin’,’cos’)  可以同时加上x轴和y轴的标签,x是sin,而y是cos,加在了图内的右上方,以此表示每条线表示的内容
title(’myplot’) 可以将标题加在图像的上方,给这个图起一个名字
print –dpng ‘myPlot.png’  可以将图像保存成一个png图像文件格式
cd ’C:\Users\DELL\Desktop’; print –dpng ‘myPlot.png’   可以先将盘符切换,然后图像保存到了桌面
help plot的话可以查看plot的存储方式,以此了解图像文件保存非png图像的方式
close 可以关闭图像
figure(1);plot(t,y1) 是将正弦函数图像plot(t,y1)设置为图像1
figure(2);plot(t,y1)将正弦函数图像plot(t,y1)设置为图像2
subplot(1,2,1) 是将图像分为1*2的两个小格子,是前两个参数的意义。而使用前一个格子,是第三个参数的意义

在这里插入图片描述

在这里插入图片描述

axis([0.5 1 -1 1])  设置了图像中x轴和y轴的范围
clf  清除一副图像
imagesc(A) 可以进行矩阵A的图像可视化

在这里插入图片描述

Imagesc(A),colorbar,colormap gray可以将图像转化为灰色

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如果你用逗号隔开的话,那么三个命令按顺序执行并且输出,但如果是用;隔开的话,那么三个命令都不会输出

控制语句for,while,if语句

for i = 1:10 是让i遍历从1到10的所有数

在这里插入图片描述

将1:10赋值为indices也用for操作

在这里插入图片描述

用while循环覆盖语句

在这里插入图片描述
在这里插入图片描述

然后运用break语句

在这里插入图片描述

If-else语句的作用
在这里插入图片描述

exit和quit都可以退出octave
如何定义和调用函数
.m结尾的文件用来存储函数文件
当使用微软的文件时,可以使用Notepad(写字板)而不是记事本文件,用其他软件也可以,但记事本有时会把代码间距弄得很乱(用Editplus不行,直接用记事本文件改一下后缀名就OK)
用pwd将文件路径设置在函数文件所在位置时,就可以直接用函数名来调用函数文件了
addpath(‘文件路径’)可以添加一条路径A让octave在路径A下寻找函数,就算当前路径B不包括函数路径A,octave也可以在函数路径A中查找函数

在这里插入图片描述

函数

在这里插入图片描述

的正确调用方式

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值