错误的输出并带有特殊符号&[square]";,尽管相同的代码在";Octave-Online&Quot;中有效 [英] Wrong output and with a special sign "[square]" although same code works in "Octave-online"
本文介绍了错误的输出并带有特殊符号&[square]";,尽管相同的代码在";Octave-Online&Quot;中有效的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Octave 6.1.0(图形用户界面)
这是Octave: How to turn a vector of integers into a cell array of strings?的衍生产品。
>> a = 1:3;
>> cellstr(int2str(a(:)))
ans =
{
[1,1] = "[square]"
}
而输出应为:
ans =
{
[1,1] = 1
[2,1] = 2
[3,1] = 3
}
如何修复此问题?
仅供参考,而不是作为答案,没有此问题的解决办法将是cellstr(num2str(a(:)))
。
推荐答案
这是由一个严重的初学者错误引起的。
问题下的第一个帮助评论已经指明了方向。
如果联机Octave与您的图形用户界面完全不同,则可能是您的错误。
为了找到问题,请检查可能导致差异的函数:
&>>;What(‘num2str’)
‘Num2str’是文件C:UsersUSERNAMEAppDataLocalProgramsGNU OctaveOctave-6.1.0mingw64shareoctave6.1.0mgeneral中的函数 Um2str.m&>>;其中(‘cell str’)
‘cell str’是来自文件libinterp/octave-value/ov-cell.cc的内置函数
哪个(‘int2str’)
&>&>其中(‘int2str’)
"int2str"是变量`
由于未知原因,我只测试了其他函数,而没有测试‘int2str’,所以我在使用影子函数时意外地发现了这个错误:
&>&>strcat(‘x’,num2cell(int2str(1:10)
错误:int2str(10):超出界限3(维度为1x3)
(注:变量‘int2str’shadows函数)
不管是什么原因,我不小心通过赋值
int2str = [1:3]
跟踪了函数,导致了奇怪的行为。
这篇关于错误的输出并带有特殊符号&[square]";,尽管相同的代码在";Octave-Online&Quot;中有效的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文