1

反復的な改善手順を実行する C++ プログラムがあります。すべてのステップでエラーを記録し、そのデータをオクターブにインポートしてプロットしたいと思います。私のプログラムは、結果を行列として「err.m」という名前のファイルに書き込みます。

B = [
0 0.0566002;
1 0.0510102;
2 0.0510102;
3 0.0454972;
4 0.0418604;
5 0.0415802;
6 0.036775;
7 0.0298324;
8 0.0298324;
9 0.0298324;
]

(もちろん、実際のファイルはもっと大きいです。) オクターブを起動して入力するとすぐに

load 'err.m'

エラーが発生します

error: load: err.m: inconsistent number of columns near line 2
error: load: unable to extract matrix size from file `err.m'

ただし、ファイルの内容をオクターブに直接貼り付けると、すべて正常に機能します (マトリックスに多くの行がない限り)。エラーをグーグルで検索しましたが、問題はかなり一般的なようですが、問題の解決策は見つかりませんでした。

ファイルをロードする方法を知っている人はいますか?

4

1 に答える 1

0

err.m:

0 0.0566002
1 0.0510102
2 0.0510102
3 0.0454972
4 0.0418604
5 0.0415802
6 0.036775
7 0.0298324
8 0.0298324
9 0.0298324

err1.m:

B = [
0 0.0566002;
1 0.0510102;
2 0.0510102;
3 0.0454972;
4 0.0418604;
5 0.0415802;
6 0.036775;
7 0.0298324;
8 0.0298324;
9 0.0298324;
];

オクターブで:

octave:1> load 'err.m'
octave:2> err
err =

   0.00000   0.05660
   1.00000   0.05101
   2.00000   0.05101
   3.00000   0.04550
   4.00000   0.04186
   5.00000   0.04158
   6.00000   0.03678
   7.00000   0.02983
   8.00000   0.02983
   9.00000   0.02983

octave:3> err1
B =

   0.00000   0.05660
   1.00000   0.05101
   2.00000   0.05101
   3.00000   0.04550
   4.00000   0.04186
   5.00000   0.04158
   6.00000   0.03678
   7.00000   0.02983
   8.00000   0.02983
   9.00000   0.02983

octave:4> run 'err1.m'
B =

   0.00000   0.05660
   1.00000   0.05101
   2.00000   0.05101
   3.00000   0.04550
   4.00000   0.04186
   5.00000   0.04158
   6.00000   0.03678
   7.00000   0.02983
   8.00000   0.02983
   9.00000   0.02983

octave:5> B=load('err.m')
B =

   0.00000   0.05660
   1.00000   0.05101
   2.00000   0.05101
   3.00000   0.04550
   4.00000   0.04186
   5.00000   0.04158
   6.00000   0.03678
   7.00000   0.02983
   8.00000   0.02983
   9.00000   0.02983
于 2013-03-28T00:30:37.193 に答える