quick reference:http://10.236.6.14/enacit1.epfl.ch/octave_doc/refcard/refcard-a4.pdf
1.算术运算:
a+b, a-b, a*b, a/b, a^b
逻辑运算:
a==b, a~=b(不等于), a&&b, a||b, xor(a,b)
2.赋值语句:
a=3;
a=‘hi‘;
a= 1>=3;
3.输出显示:
a=pi
disp(a)
disp(sprintf(‘2 decimals: %0.2f‘, a))
disp(sprintf(‘6 decimals: %0.6f‘, a))
format long
format short
4.向量和矩阵:
A=[1 2;3 4;5 6]
A=[1 2 3]
A=[1:0.1:2] %1-2以0.1为单位构造行向量
A=1:6 %1-6的行向量
A=ones(3,4) %3行4列每个元素为1的矩阵
A=zeros(1,3) %1行3列每个元素为0的矩阵
A=randn(1,3) %正态分布
A=7+sqrt(10)*(randn(1,10000)) %均值为7,方差为根号10
hist(A) %以10bins做柱状图
hist(A,50) %以50bins做柱状图
a=eye(5) %阶为5的单位矩阵
5.数据处理:
load abc.dat %读文件
who %列出工作空间内的变量
whos %列出工作空间内变量的详细信息
clear abc %清空文件
v=abc(1:10) %读文件前10个数据
save file.mat v; %把v保存到文件中
save file.txt v -ascii; %把v以ascii码保存到文件中
size(A) %返回[行数 列数]向量的两个值
size(A,1) %行数
size(A,2) %列数
length(A) %最高维长度
A(:) %A所有元素排成一个列向量
A(3,2) %得到3行2列的元素
A(2,:) %得到第2行的行向量
A(2,:)=[2 3 4] %给第2行元素赋值
A=[A,[1;2;3]] %给A左边增加一列向量
A([1 3],:) %得到A的1-3行的所有元素
C=[A B] %拼接矩阵
C=[A,B]
C=[A;B]
6.数据运算:
设A=3*2矩阵,B=3*2矩阵,C=2*1矩阵
A*C
A.*B
A.^2
1./A
log(A)
exp(A)
abs(A)
-A
A+1
A‘
max(A) %返回一个行向量,每个值分别为每列最大的,若A为行向量,只返回最大值
prod(A) %同上,只是乘积
sum(A) %同上,只是和
sum(A,1) %同上
sum(A,2) %同上,返回列向量
A<3 %返回A同型矩阵,<3的值为0,反之为1
find(A<3) %返回小于3的元素位置,为一个列向量
[r,c]=find(A<3) %ri,ci为符合元素坐标
flipud(A) %行反转
pinv(A) %A的逆矩阵
7.画图
t=[0:0.01:0.98]
y1=sin(2*pi*t)
plot(t,y1) %绘制
hold on
y2=cos(2*pi*t)
plot(t,y2,‘r‘)
xlabel(‘time‘)
ylabel(‘value‘)
legend(‘sin‘,‘cos‘) %图例
title(‘my plot‘)
print -dpng ‘myPlot.png‘ %保存为图片文件
close %关闭当前的图
figure(1) %创建一个图
clf %清空图当前内容
subplot(1,2,2) %图切为1*2格,绘制第2格
axis([0.5 1 -1 1]) %坐标轴改为x属于[0.5,1],y属于[-1,1]
imagesc(magic(15)),colorbar,colormap gray;
8.循环条件语句
for i=1:10,
v(i)=2^i;
end
------------------
while i<=5,
v(i)=100;
i=i+1;
end
-------------------
if
elseif
else
end
9.函数:
function y=fun(x)
y=x+2;
function [y1,y2]=fun2(x)
y1=x*x;
y2=x+x;
调用时cd到函数目录,然后直接调用
ans=fun(args)
[a,b]=fun2(args)