簡體   English   中英

在八度中讀取文本文件時出錯

[英]error reading a text file in octave

我有一個名為xMat.txt的文本文件,該文件在xMat.txt中有200個空格分隔的元素,在某些行中有767行。

這就是xMat.txt外觀。

386.0 386.0 388.0 394.0 402.0 413.0 ... .0 800.0 799.0 796
801.0 799.0 799.0 802.0 802.0 80 ... 399.0 397.0 394.0 391
.
.
.

當我嘗試使用X = dlmread('xMat.txt',' ')以八度為單位讀取文件時,得到的矩陣大小為767 X 610 我希望矩陣的大小為767 X 200因為一行中有200個元素。 我怎么解決這個問題?

編輯- 這是我的文件

您上傳的文件https://bpaste.net/raw/96cf21aa21b8每行的列數驚人。

$ awk "{print NF}" tmp | sort | uniq -c
      2 200
    754 201
      1 206
      1 217
      1 223
      1 234
      1 237
      1 238
      1 269
      1 273
      1 390
      1 420
      1 610

因此,最多的行有201列,但一排有420列,一排甚至有610列。 這就是從dlmread獲得767x610矩陣的原因。

讓我們看看哪些行具有超過201列:

$ awk "{if (NF>201) print NR, NF}" tmp
68 217
580 206
613 390
615 234
657 273
676 610
679 237
720 269
722 238
743 223
762 420

第一個列顯示行號,第二個列顯示。 因此,您有610列的行是行號676。我也打印了行676:

676行

因此您會看到它確實包含數據,沒有多個空格用零填充。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM