字符串错误Scilab的影响

时间:2016-11-21 02:56:00

标签: scilab

我试图在scilab中打印出一个简单的输出表,它只是一个带有顶行标题的数字矩阵。出现的问题是我不知道如何在一行的顶行中打印字符串初始化矩阵。 例如,

 b= ['i', 'j'] 

打印

!i j! 
带感叹号的

这些惊叹号是什么?

并且

b = zeros(m1, m2)
b(1,:) = ['i', 'j' ...]

给出错误

!--error 10000 
%c_i_s: Affection of a string in a matrix of numbers is not implemented.

这个错误是什么意思?如何在矩阵中打印字符串但访问其中一行/列?我试过把字符串(i)但这也没用。 谢谢

1 个答案:

答案 0 :(得分:0)

Scilab矩阵具有数字类型的条目。你不能在其中加入字符串。通常,会将标题字符串与数据分开。

headers = ['i', 'j', 'k']
data = [1 2 3; 4 5 6; 7 8 9]

使用mprintf以您自己的方式格式化,而不是使用以预定方式格式化数据的disp(特别是它包括围绕字符串数组的!分隔符)。一个简单的例子:

mprintf('%s %s %s\n', headers)
mprintf('%d %d %d\n', data)

此输出

i j k
1 2 3
4 5 6
7 8 9

这是一个间距更大的一个:

mprintf('%7s %7s %7s\n', headers)
mprintf('%7d %7d %7d\n', data)

输出:

  i       j       k
  1       2       3
  4       5       6
  7       8       9

有关更多示例,请参阅formatting parameters上的文档。