MATLAB Answers

0

csvwrite 出力引数について

Asked by Mayu Ogawa on 23 Jul 2019
Latest activity Commented on by Kojiro Saito on 23 Jul 2019
初めて質問させていただきます。
csvwriteについてお聞きしたいのですが、
csvwrite(filename,data)
を実行すると実行すると
---------------------------------------
エラー: csvwrite (line 47)
出力引数が多すぎます。
---------------------------------------
というエラーが出てきてしまいます。
出力する数をいくら小さくしてもこのエラーがでてしまいます。
以前は出力できたデータについても同様のエラーが出てしまいます。
これは何が原因でしょうか。
よろしくお願い致します。

  0 Comments

Sign in to comment.

2 Answers

Answer by Mayu Ogawa on 23 Jul 2019
 Accepted Answer

外付けハードディスクに問題があり,データの書き込みができなかったようです。
先ほど修復,確認したところcsvwriteがエラーなく実行できました。
ありがとうございました。

  1 Comment

Kojiro Saito on 23 Jul 2019
+1
回答への記載、ありがとうございます。

Sign in to comment.


Answer by Kojiro Saito on 23 Jul 2019

csvwrite(filename,data)というコマンド自体は問題ないと思われますが、出力引数が多いというエラーですので、
もしかして
a = csvwrite(filename,data);
のようにcsvwriteからのリターンを設定するようにしていませんか?
csvwriteはリターンを返さないので、
csvwrite(filename,data)
とだけ実行するとうまくいきます。

  4 Comments

Show 1 older comment
Kojiro Saito on 23 Jul 2019
私の環境では
a = 1:10 ;
csvwrite('test.csv',a );
でエラー無く実行でき、csvファイルも作成されました。
もしかしたらcsvwriteの
which csvwrite -all
を実行してみて、csvwriteのパスを確認してみていただけますか?
C:\Program Files\MATLAB\R2019a\toolbox\matlab\iofun\csvwrite.m
のように出たらパスは問題ありません。
次に、
edit csvwrite
を実行して、44行目から48行目が以下のようになっているか確認してみていただけますか?
try
dlmwrite(filename, m, ',', r, c);
catch e
throw(e)
end
もしかしたらcsvwrite.mファイルが書き換わってしまっている可能性もあるかもしれません。
Mayu Ogawa on 23 Jul 2019
お返事いただきありがとうございます。
csvwriteのパスとeditは問題ありませんでした。
PCの再起動とUSBなどのデバイスを一度全部抜き,
色々試してみた結果,外付けハードディスクに問題があり,
データの書き込みができなかったようです。
先ほど修復,確認したところ
csvwriteがエラーなく実行できました。
丁寧なご回答ありがとうございました。
自分のデバイスが原因ということで,
お手数をお掛けして
誠に申し訳ございませんでした。
色々アドバイス下さり本当にありがとうございました。
Kojiro Saito on 23 Jul 2019
無事に解決して良かったです。
今後、同様の事象に出くわす方もいるかもしれませんので、ハウスキーピングのため、お手数ですがご自身で「外付けハードディスクに問題があり,データの書き込みができなかったようです。先ほど修復,確認したところcsvwriteがエラーなく実行できました。」の回答を投稿して、そちらをご自身で「採用」していただけるとすっきりして良いです。

Sign in to comment.