用“八度”定义一个值矩阵很容易。矩阵的大小是自动确定的,因此没有必要对尺寸进行解释。表达式
a=[1,2;3,4]
矩阵中的结果
/\|1 2|a=|||3 4|\/
矩阵的元素可以是任意表达式,前提是在组合各个部分时,维度都是有意义的。例如,给定上述矩阵,表达式
[a,a]
生成矩阵
ans=1 2 1 2 3 4 3 4
但是表达式
[a,1]
返回错误
错误:第13行第6列附近的行数必须匹配(1!=2)
(当然,假设这个表达式是作为第13行的第一个内容输入的)。
在定义矩阵表达式的方括号内,Octavelooks查看周围的上下文,以确定是否应将空格和换行符转换为元素分隔符和行分隔符,或者意味着忽略,因此
a=[1 2 3 4]
将起作用。然而,一些可能的混乱来源仍然存在。例如,在表达式中
[ 1 - 1 ]
这个-被视为二进制运算符,结果为标量0,但在表达式中
[ 1 -1 ]
这个-被视为一元运算符,结果是向量[ 1, -1 ]
。同样,表达式
[sin(pi)]
将被解析为
[sin,(pi)]
并且将导致错误,因为罪
函数将在没有参数的情况下停止。要解决此问题,必须省略罪
和左括号,或将表达式括在一组括号中:
[(sin(pi))]
单引号字符(,用作anspose运算符和用于分隔字符串)也可能导致混淆。鉴于a=1
,表达式
[1 a']
导致将单引号字符视为anspose运算符,结果为向量[ 1, 1 ]
,但是表情
[1 a']
生成错误消息
解析错误:语法错误>>[1 a']^
因为不这样做会在解析有效表达式时造成麻烦
[a'foo']
为了清楚起见,最好总是使用逗号和分号来分隔矩阵元素和行。
编译Octave时,矩阵中元素的最大数量是固定的。可以使用该函数查询允许的数量sizemax
请注意,其他因素,如机器上可用的内存量,可能会将矩阵的最大大小限制为较小的值。
max_numel =
sizemax ()
¶返回数组大小所允许的最大值。
如果使用64位索引编译Octave,则结果属于类int64,否则属于类int32。最大数组大小略小于相关类允许的最大值,如所返回intmax
.
详见: intmax.
当您输入一个矩阵或值为amatrix的变量的名称时,Octave会通过打印具有整齐对齐的行和列的矩阵来做出响应。如果矩阵的行太大,无法放在屏幕上,Octave会拆分矩阵,并在每个部分之前显示一个标题,以指示要显示的列。您可以使用以下变量来控制输出的格式。
val =
output_precision ()
¶old_val =
output_precision (new_val)
¶old_val =
output_precision (new_val, "local")
¶查询或设置内部变量,该变量指定要为数字输出显示的最小重要数字数。
请注意,无论为设置了什么值输出_精度
,则显示的精度位数对于双精度值限制为16位,对于单精度值则限制为7位。此外,对的调用format
更改数字显示的函数也可以更改的设置值输出_精度
.
当从具有的函数内部调用时地方的
参数,则该变量会为函数及其调用的任何子程序在本地进行更改。退出函数时将恢复原始变量值。
通过使用的不同值,可以实现广泛的输出样式输出_精度
。使用可以困扰合理的组合format
作用详见基本输入和输出.
val =
split_long_rows ()
¶old_val =
split_long_rows (new_val)
¶old_val =
split_long_rows (new_val, "local")
¶查询或设置内部变量,该变量控制在显示到终端窗口时是否可以拆分矩阵的行。
如果行被拆分,Octave将以一系列较小的部分显示矩阵,每个部分都可以在终端宽度的限制范围内,并且每组行都有标签,这样您就可以很容易地看到当前显示的列。例如
Octave:13>rand(2,10)ans=第1列到第6列:0.75883 0.93290 0.40064 0.43818 0.94958 0.16467 0.75697 0.51942 0.40031 0.61784 0.92309 0.40201第7列到第10列:0.90174 0.11854 0.72313 0.73326 0.44672 0.94303 0.56564 0.82150
当从具有的函数内部调用时地方的
参数,则该变量会为函数及其调用的任何子程序在本地进行更改。退出函数时将恢复原始变量值。
详见: format.
当数值变得非常大或非常小时,Octave自动切换到科学记数法。这保证了您将看到矩阵中每个值的几个重要数字。如果您希望看到以定点格式打印的矩阵中的所有值,可以使用函数固定点格式
。但不建议这样做,因为这样可以返回易于解释的输出。
val =
fixed_point_format ()
¶old_val =
fixed_point_format (new_val)
¶old_val =
fixed_point_format (new_val, "local")
¶查询或设置内部变量,该变量控制Octave是否使用缩放格式打印矩阵值。
缩放格式在输出选择的第一行打印缩放因子,以确保最大的矩阵元素可以用单个前导数字写入。例如
fixed_point_format(true)logspace(1,7,5)'ans=1.0e+07*0.00000 0.00003 0.00100 0.03162 1.00000
请注意,第一个值显示为0,而实际为1。从于存在混淆的可能性,您应该小心启用固定点格式
.
当从具有的函数内部调用时地方的
参数,则该变量会为函数及其调用的任何子程序在本地进行更改。退出函数时将恢复原始变量值。
版权所有 © 2024 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号