Octave
Octave介绍
Octave是一种高层解释类编程语言,旨在解决线性和非线性的数值计算问题。Octave为GNU项目下的开源软件,早期版本为命令行交互方式,4.0.0版本发布基于QT编写的GUI交互界面。Octave语法与Matlab语法非常接近,可以很容易的将matlab程序移植到Octave。同时与C++,QT等接口较Matlab更加方便。
基本操作
a =
1.0000 15.0000 2.0000 0.5000
% ================format ================
>> format long
>> a
a =
1.000000000000000 15.000000000000000 2.000000000000000 0.500000000000000
% ================fprintf ================
>> fprintf('%f %f \n',1, 2);
1.000000 2.000000
% ================ ================
>> v=1:0.1:2 % start;步长;end
v =
1.0000 1.1000 1.2000 1.3000 1.4000 1.5000 1.6000 1.7000 1.8000 1.9000 2.0000
>> v=1:6
v =
1 2 3 4 5 6
% ================help ================
help
常用语句:
A=rand(3,2);
A=randn(3,2);
w = -6 + sqrt(10)*(randn(1,10000));
hist(w); %柱状图
eye();
ones();
zeros(1,3)
移动数据
% ================A ================
>> A=[1 2;3 4;5 6]
A =
1 2
3 4
5 6
% ================ size ================
>>size(A) %返回矩阵维度:行数 列数
ans = 3 2
>>size(A,1) %返回矩阵维度:行数
ans = 3
>>size(A,2) %返回矩阵维度:列数
ans = 2
% ================ length================
>>v = [1 2 3 4] %返回矩阵维度:行数
v =
1 2 3 4
>>length(v) %返回矩阵最大维度大小
ans = 4
>>length(A) %返回矩阵最大维度大小
ans = 3
% ================ ================
pwd %当前路径
ls %当前路径下的文件
cd %切换目录
% ================ load clear save data ================
data = load('ex1data2.txt');
who %当前工作空间的所有变量
whos %当前工作空间的所有变量的详细信息
clear variablename %删除变量
clear variable %删除当前工作空间的所有变量
>> save test.mat A
>> save testtext.txt A –ascii % save as text (ASCII)
矩阵:
>> A=[1 2;3 4;5 6];
A =
1 2
3 4
5 6
>> A(3,2) %(行,列)
ans =
6
>> A(2,:) %第二行
ans =
3 4
>> A([1 3],:) %select the 1st and 3rd row
ans =
1 2
5 6
>> A(:,2)=[10,11,12]
A =
1 10
3 11
5 12
>> A=[A,[101;102;103]]%append another column vector
A =
1 10 101
3 11 102
5 12 103
>> A(:) %put all elements of A into a single vector
ans =
1
3
5
10
11
12
101
102
103
B=[11,12;13,14;15,16]
B =
11 12
13 14
15 16
>> C=[A B]
C =
1 10 101 11 12
3 11 102 13 14
5 12 103 15 16
A=[1 2;3 4;5 6]
A =
1 2
3 4
5 6
>> C=[A;B]
C =
1 2
3 4
5 6
11 12
13 14
15 16
绘图数据
>> t=[0:0.01:0.98];
>> y1=sin(2*pi*4*t);
>> plot(t,y1)
>> hold on;%plot new figure on the old ones
>> y2=cos(2*pi*4*t);
>> plot(t,y2,'r')
>>> xlabel('time') %x坐标标签
>> ylabel('value') %y坐标标签
>> legend('sin','cos') %图例
>> title('my plot')
>> print -dpng 'myplot.png' %save as a file in default catalog
>> cd 'C:\Users\bj\Desktop'; print -dpng 'myplot.png' % 保存到相应的路径
>> close %关闭图片
Octave 语句与Matlab相似,这里只简单介绍,不进行多的扩展。