質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MATLAB

MATLABはMathWorksで開発された数値計算や数値の視覚化のための高水準の対話型プログラミング環境です。

ファイルI/O

ファイルI/Oは、コンピューターにおけるファイルの入出力です。これは生成/削除やファイルを読み込んだり、出力をファイルに書き込むようなディレクトリやファイルの運用を含みます。

Q&A

0回答

248閲覧

MATLABでタイマー終了時に一度だけエクセル書き出しする時の警告とエラーについて

退会済みユーザー

退会済みユーザー

総合スコア0

MATLAB

MATLABはMathWorksで開発された数値計算や数値の視覚化のための高水準の対話型プログラミング環境です。

ファイルI/O

ファイルI/Oは、コンピューターにおけるファイルの入出力です。これは生成/削除やファイルを読み込んだり、出力をファイルに書き込むようなディレクトリやファイルの運用を含みます。

0グッド

0クリップ

投稿2019/05/10 05:15

編集2019/05/10 11:24

前提・実現したいこと

MATLABでタイマーを用いて終了時に一度だけエクセルにデータを書き出そうとしています。
実現したいことは以下2つです。

①以下のサンプルコードを参考にして実行したところ、エラーが出てしまい、修正方法がわからず困っています。

②現在x_valuey_valueの値がdisp()関数を使わなくても表示されていますが、これを表示させないようにさせたいです。

サンプルコード:タイマーを使用したコマンドの実行のスケジュール

発生している問題・エラーメッセージ

>> timer_sample x_value = 1 2 3 y_value = 4 5 6 x_value = 1 2 3 7 8 9 y_value = 4 5 6 10 11 12 Error while evaluating TimerFcn for timer 'timer-1' Error: Invalid expression. Check for missing multiplication operator, missing or unbalanced delimiters, or other syntax error. To construct matrices, use brackets instead of parentheses.

該当のソースコード

matlab

1global x_value 2global y_value 3 4time = timer('TimerFcn', 'stat=false; disp(''Timer!'') filename = ''data.xlsx''; x_range = ''sender''; y_range = ''receiver''; xlswrite(filename, x_value, x_range) xlswrite(filename, y_value, y_range) exit();', 'StartDelay', 30); 5start(time) 6 7%30秒後にexcelファイルを書き出すためのフラグ 8global stat 9stat = true; 10 11x_value = [x_value [1 2 3]] 12y_value = [y_value [4 5 6]] 13 14x_value = [x_value [7 8 9]] 15y_value = [y_value [10 11 12]]

試したこと

以下のようにしてタイマーを使わない場合は、エクセル書き出しができることは確認しました

matlab

1global x_value 2global y_value 3 4global stat 5stat = true; 6 7x_value = [x_value [1 2 3]] 8y_value = [y_value [4 5 6]] 9 10x_value = [x_value [7 8 9]] 11y_value = [y_value [10 11 12]] 12 13filename = 'data.xlsx'; 14x_range = 'sender'; 15y_range = 'receiver'; 16xlswrite(filename, x_value, x_range) 17xlswrite(filename, y_value, y_range)

しかし、以下のように警告は出ました

警告: 指定したワークシートを追加しました。 > In xlswrite>activate_sheet (line 300) In xlswrite/ExecuteWrite (line 266) In xlswrite (line 220) In timer_sample (line 18) 警告: 指定したワークシートを追加しました。 > In xlswrite>activate_sheet (line 300) In xlswrite/ExecuteWrite (line 266) In xlswrite (line 220) In timer_sample (line 19)

補足情報(FW/ツールのバージョンなど)

MATLAB R2017a
win 64bit

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問