1
2
3
4
5
6
7
8
9
10
for循环
>> v = 1:10
v =
1 2 3 4 5 6 7 8 9 10
>> for i = v, %循环条件部份,这句话末尾的标点写成 分号 也行, 不写 也行。
disp(i), %循环体部分,语句末尾 不加 或者加 逗号 就会自动把运行结果显示在交互式中,所以一般后面加 分号 。
end; %循环结束语句
1
2
3
4
5
6
7
8
9
10
>>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
while循环
>> i = 1; %变量 i 在之前我们用过了,所以我们需要再重新赋值。
>> while i <= 5 %循环条件
v(i) = 999; %循环体
i = i + 1;
if i == 6, %循环体内嵌套的 if 条件语句
break; %break、continue功能与其他语言中的一样,不必多说
end; %if 的结束语句
end; %while 的结束语句
>> v
v =
Columns 1 through 9:
999 999 999 999 999 6 7 8 9
Column 10:
10
>>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Octave中的函数
定义一个函数
Octave环境中的函数定义和其它语言不一样,你需要创建一个文件,文件名是函数名.m,然后在里面写函数。
比如,我在桌面定义了一个文件:square.m,在里面写:
function y = square(x) %函数头
y = x^2; %函数体
1
2
保存即完成了一个函数的定义。
调用一个函数
然后我在Octave交互式中写:
>> cd '/home/jnchin/桌面' %把目录切换到函数所在的目录
>> square(3) %直接调用函数即可
ans = 9
>>
1
2
3
4
定义一个多返回值的函数
在桌面定义一个文件:squareAndCube.m,在里面写:
function [y1, y2] = squareAndCube(x)
y1 = x^2;
y2 = x^3;
1
2
3
保存,然后在交互式中这样调用:
>> [a,b] = squareAndCube(5);
>> a
a = 25
>> b
b = 125
>>
1
2
3
4
5
6
修改Octave的搜索路径
在调用函数的时候,Octave会在它的搜索路径和当前目录下搜索函数,所以如果你不想在调用函数的时候切换目录,可以把函数的路径添加到Octave的搜索路径中去。
在交互式中执行:
>> addpath('/home/jnchin/桌面')
1
即可。
这样一来,即使你跑到其他目录,照样可以调用桌面上的函数:
>> cd
>> square(2)