octave简易操作

语言以分号;结尾
if for while等语句后用,来承接关系
if ,elseif ,else ,end;
for i=1:10,end;
while a>3 ,end;   while true,if ,break;end;end;
常规的=赋值,和==等于
break和continue有效
end做为循环与判断的结束
数值为主,自定义变量之前不需要声明数据类型
不等用~=  注释用%
逻辑 与 && ,或||,异或xor()
字符串定义的时候直接用单引号即可,打印出来的没有引号
c = (3>=1) 结果是c=1  支持判定赋值
disp(a) 不会打印a=
sprintf('%0.2f',a)可用
a = [1;2;3]一个列向量
a=[1 2 3]一个行矩阵
a  = [1 0;0 1]二维单位向量
2*ones(2,3) 两行三列2
zeros(3,2)三行两列0
a = 1:0.1:2 从1到2,0.1为步长,包括1和2。不设置步长默认为1
rand(3,3)   33矩阵随机
randn(1,3)   13矩阵正态分布随机
hist(a)    绘制a的直方图
eye(6)    66单位矩阵

size(A,2)如果A是二维矩阵是看A第二行长度,默认返回矩阵格式如:ans = 5 5
length(A) 返回最外层大小

支持 cd ls (dir)
who 查看当前函数有哪些变量
whos  是更详尽的查看函数的命令
(查看结果,默认的数字都是double双精度)
clear a  删除a函数
save a.mat v 将变量v存成一个叫a.mat的文件,路径基于默认路径,也可以切换
save a.txt v -ascii  ascii格式存储

支持切片操作
a([1 3],:)     返回第1  3行的所有列
a = [a,[100;200;300]]   a 右边加一列
a = [a;[100,200]]    a 下边加一行
c = [a b]   ab横向整合
c = [a;b]   ab纵向整合

a.*b   a.^2   a./v 矩阵元素位运算(乘 平方 除)
log(a) 求对数
exp(a) e的幂次运算
abs(a) 绝对值
-v 直接表示元素的数取反
v+1 表示元素各个位+1
a'   转置矩阵
max(a)   a中最大值返回方式是a = [1,4;2,2] max(a)返回2,4
[val,ind] = max(a)  返回val为最大值  ind为最大值的索引
max(a,2.2)  a = [1,4;2,2]   返回[2.2000,4;2.2000,2.2000]
max(a,[],1)   每一列最大值    max(a,[],2)  每一行最大值
max(max(A))  这样就可以得出整个A
find(a<3)    返回a中小于3的值
a = magic(3) 幻方
[r,c] = find(a >= 7)  返回符合条件的 r位行 c为列
sum(a)   求和如果二维,会所有行累加,类推
prod(a)  最外层乘积,亦二维返回各行.*
ceil(a)  向上取整
floor(a)   向下取整
pinv(a)   a的(伪)逆矩阵
a*b   叉乘

画图
t = [0:0.01:0.98];
y = sin(2*pi*4*t);
plot(t,y)     返回一个正弦曲线
plot(t,y,'r')  r表示颜色:红
xlabel('time')  水平轴标签   ylabel('value')
legend('sin','cos') 图例
title('myplot')  标题
print -dpng 'myplot.png'    print -djpg 'myplot.jpg'保存画出的图片
close   关闭图片
subplot(1,2,1);figure(1);plot(t,y1)   1行2列第一个放图片plot
clf  清除一幅图像
imagesc(A),colorbar,colormap gray    连续3个指令 幻方的,色块的,绿色映射的
例如颜色 线型等 用help plot查询


quit和exit 退出

自定义函数的格式
function y = squareThisNumber(x)
y = x^2

支持多返回值
[a,b] = SquareAndCubeThisNumber(5)

search path(搜索路径)
addpath    添加路径

善用help
disp(i)可以查看长度,但是具体用法有点诡异

posted @ 2018-01-19 20:49  Lawliet_Y  阅读(651)  评论(0编辑  收藏  举报