【问题标题】:octave error undefined near line 1 column 1第 1 行第 1 列附近未定义八度音阶错误
【发布时间】:2019-08-09 07:11:30
【问题描述】:

我尝试从文件中读取矩阵。代码很简单

function [mat] = read(file)

mat = load(file_points)

但是当我尝试运行它时

read('file')

垫子=

包含字段的标量结构:

mat =


   3  4  6
   3  5  1

它显示了矩阵, 但是当我运行这个命令时......

>>mat(1,1)

错误:'points' 在第 1 行第 1 列附近未定义

【问题讨论】:

  • points=read_input_data('cls/cluster_1.points')。如果您不使用 Octave 来显示结果矩阵,请在语句末尾添加分号。
  • 你的函数声明被读取但是你调用了read_input_data,请修复这个错误
  • “我认为是cmets,所以应该不会影响太大”。实际上,标题中的那些 cmets 就是 使 这个文本文件成为一个 .mat 文件,您可以使用 load 读取它。尝试删除它们,看看会发生什么。

标签: file matrix octave numerical-methods


【解决方案1】:

来自Octave Forge about load()

如果使用单个输出参数调用,Octave 返回数据而不是在符号表中插入变量。如果数据文件仅包含数字(TAB 或空格分隔的列),则返回值矩阵。 否则,load 会返回一个结构,其中的成员对应于文件中变量的名称。

根据上面,变量点是一个(标量)结构。 但是,如果您使用the_matrix_you_want = points.points;,您将检索矩阵。

【讨论】:

    猜你喜欢
    • 2013-11-11
    • 1970-01-01
    • 2023-02-13
    • 1970-01-01
    • 1970-01-01
    • 2017-10-20
    • 2017-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多