Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。タイマーを使って、プログラムを実行した最後に一度だけexcelファイルにデータを書き込もうとしています。TimerCallback.mとtimer_sample.mを同じフォルダに入れて、timer_sample.mを実行します。MATLABは「mac-64bitのバージョンR2017a」です。ファイルを作成するプログラムのエラーで書いたプログラムを組み合わせたプログラムを作成しようとしています。問題1TimerCallback.mで以下のように1つ1つ定義しているものをfor文でtimer_sample.mで定義した変数numの値だけxlswriteを個別に実行する方法がわからず困っています。'receiver');2timer_sample.mにおいて、変数numの値だけタイマーコールバックをfor文で個別に呼び出す方法がわかりません。endevent.Dataはnum列からなる多次元行列で、その1列目をmycallback.r1_values、2列目をmycallback.r2_valuesにappendさせていきたいです。cell配列の初期化(1x3の空cell配列)とありましたが、event.Data(1)から取得されるのは行数が未定で1列の配列です。ここでも、その1列目をmycallback.r1_values、2列目をmycallback.r2_valuesのように変数を入力numに応じで生成したいと考えています。個の銅バッジなぜタイマーを使うのでしょうか。データを書き込んでいる最中でも、他のタスクを行うからでしょうか。本来やりたいことは何でしょうか。30秒ごとにnum回データを書き込みたいということでしょうか。13:43コメントいただきましてありがとうございます。本来やりたいことは、異なるAnalogInputから同時に送られてくるリアルタイムデータを30秒後にまとめて書き出したいです。5:20ということは、例えばnum=10の場合、およそ3秒ごとにデータを計測して、最後にデータをセーブしたいということでしょうか。10:5310個のAnalogInputから同時にデータを計測して30秒後に各AnalogInputごとにデータをセーブしたいということです。23:46すみません、よくわかりません。numとは、何の数なんでしょうか。票1最終的に何をしたいのかが良くわからないので、はっきりしたことは言えませんが、とりあえず思いつくのは二つの方法です。(ただ、元のコードはz_valueの宣言がされていませんが)。この方法だと、最後にxlswriteの書き込みで、タイマー同士で競合が起こる可能性があります。機能が非常に限定されているために、思う通りに動くとは限りません。個の銅バッジシート名を変更してwindows環境で実行したところ上手くいきました。ありがとうございました。6:15cell配列を利用し、TimerCallbackクラスでnum個分のデータを管理する方法で行い、ご提案いただいたサンプルは確かに動作しました。今回の場合、numという変数で拡張性を持たせている一方で、データを格納するmycallback.x_valuesをx,y,zと定義しなければいけないのは、こちら側の質問の意図が伝わっておりませんでしたでしょうか。「データを格納するmycallback.x_valuesをx,y,zと定義」とは、どういう意味でしょうか。x,y,zというのは、変数でしょうか。6:47ご回答を受けて補足に明記いたしましたが、変数です。x,y,zはexcel書き出しにもあるように、senderやrecieverを指しているので(今回は簡単のため、numの数分のreceiverと考えた時にmycallback.r1_values、mycallback.r2_valuesと自動で生成したいです。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。