《GNU_Octave_Beginner_s_Guide》读书笔记4:Octave脚本

本文是《GNU Octave Beginner's Guide》的读书笔记,介绍了如何使用Octave进行脚本编程,包括编辑器的使用、脚本执行、输入输出、控制结构、函数调用等基础知识,帮助初学者掌握Octave编程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《GNU_Octave_Beginner_s_Guide》读书笔记4:Octave脚本


在命令行中edit,进入Editor窗口。
Editor有自己的菜单,保存的文件名后缀为m,是为了能在MatLib上跑。
文件:script41.m内容如下:
A=rand(3,5);
min(min(A))
在命令窗口中执行:
>> script41
ans =  0.25487
完成,注意调用时不带后缀。
>> script41.m
error: invalid call to script D:\octaveHome\script41.m
使用source函数也可以执行。即使把文件名改为script41.k
>> source("script41.k")
ans =  0.0024577
有两类文件:
function文件,以function开头;
script文件。
键盘输入命令格式:a = input(prompt string, "s")
>> a = input("Enter a number: ");
Enter a number:
>> s = input("Enter a string: " , "s");
Enter a string:                         //加了“s”参数,输入字串时不用带引号。
因为Octave把字串视为字符的数组,ischar(s)为真。
input接受数组输入。
>> A = input("Enter matrix elements: ")
Enter matrix elements: [1 2; 3 4]
A =
   1   2
   3   4
disp函数类似于println,在控制台上显示。
>> disp("a has the value"), disp(a)
a has the value
dd
以#或%开始的行被忽略,用以为行注释。  %可以与matlib兼容,#不行。
使用...(matlib风格)或\(linux风格)结尾,做行连接符。
>> rem(7,3)   //返回余数remainder
ans =  1
条件: if...elseif...else...endif
endif不可少,是命令行判断结束的标志
元素级bool操作:&, |, !.
短路操作: &&,||
switch语句:
switch ( x<2 | rem(x,2)== 0 )
case 1
disp("x not a prime");
otherwise                      //用otherwise,不是default.
disp("x could be a prime");
endswitch                      //endswitch表示结束
for循环:
例1:
for 初值表达式:终值表达式    //没有步长,步长为1,如:for y=3:x-1
do something (body)
endfor
例2:
for 初值表达式:步长:终值表达式    //没有步长,步长为1,如 for y=3:2:x-1
do something (body)
endfor
循环体内有break语句和continue语句。 break;  continue;
while语句:
while condition
do something (body)
endwhile
endif,endfor,endwhile可以全换成end,与matlib兼容。
do...util语句:
do
something (body)
until condition
自增,自减: ++,--
支持循环嵌套
异常处理:
//类似java的try...catch
try
something (body)
catch
cleanup if an error has occurred (body)
end_try_catch
另一种方式:
//类似java的try...finally
unwind_protect
do something (body)
unwind_protect_cleanup
cleanup whether an error has occurred or not (body)
end_unwind_protect
C语言风格的输入输出函数:
printf(), 格式:%d,%f,%e or %E,%c,%s,\n,\t,\b,\r
保存工作/持久化:
save –option1 –option2 filename variable1 variable2 ...
option的选择:-text,
读入数据:
load primes.mat
函数形式:
save("prime.mat", "prime_sequence");
ss= load("primes.dat", "ascii"); //可防止现在的空间变量名被覆盖。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值