错误的输出并带有特殊符号&[square]",尽管相同的代码在"Octave-Online&Quot;中有效 [英] Wrong output and with a special sign "[square]" although same code works in "Octave-online"

查看:13
本文介绍了错误的输出并带有特殊符号&[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
}

octave-online.net

如何修复此问题?

仅供参考,而不是作为答案,没有此问题的解决办法将是cellstr(num2str(a(:)))

推荐答案

这是由一个严重的初学者错误引起的。

问题下的第一个帮助评论已经指明了方向。

  1. 如果联机Octave与您的图形用户界面完全不同,则可能是您的错误。

  2. 为了找到问题,请检查可能导致差异的函数:

    &>>;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"是变量`

  3. 由于未知原因,我只测试了其他函数,而没有测试‘int2str’,所以我在使用影子函数时意外地发现了这个错误:

    &>&>strcat(‘x’,num2cell(int2str(1:10)

    错误:int2str(10):超出界限3(维度为1x3)

    (注:变量‘int2str’shadows函数)

  4. 不管是什么原因,我不小心通过赋值int2str = [1:3]跟踪了函数,导致了奇怪的行为。

ArbeitSumgebung=工作环境:

这篇关于错误的输出并带有特殊符号&[square]",尽管相同的代码在"Octave-Online&Quot;中有效的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆