如何转换为字符串?

How to convert to String?

以下命令:

theta = zeros(2, 1);        
printf(theta)

给出错误:error: printf: format TEMPLATE must be a string

是否有将 theta 转换为字符串或打印 theta 值的函数?

正在阅读八度文档:http://www.network-theory.co.uk/docs/octave3/octave_140.html这似乎可行?

matstr 函数

对于我的情况:printf(mat2str(theta , 2))

来源:https://www.gnu.org/software/octave/doc/interpreter/Converting-Numerical-Data-to-Strings.html

如果您尝试冲刺到 stdout 流,那么您可以使用 printf 而无需 转换为字符串,因为它会为您执行此操作但它的工作方式类似于任何语言中的任何字符串格式化函数,其中第一个参数是一个字符串,后跟要格式化并插入到该字符串中的变量。对于您的简单案例:

printf('%f', theta)

如果您只是想打印到控制台,我建议您使用 sprintfdisplay。 Matlab 没有 printf 命令,我始终提倡尽可能将 Octave 代码直接移植到 Matlab。

使用num2str()

例如

str_theta = num2str(theta)

Octave documentaion on converting numbers to strings