• 締切済み

MTLABによるアニメーション

現在、数値流体解析を行っており、その結果を3次元のアニメーションをしたいと考えています。アニメーションさせる方法としてMATLABを考えいるのですがなかなか思うように行きません。そこで、以下の質問があります。 (1):アニメーションの為の3次元のデータファイルはどのような配列で   ファイルに格納しなければならないのか。 (2):データファイルには、ある時間ステップごとのデータがあるのですが   このデータをどのようにMATLABに読み込ませれば良いのか((1)にも関係が  あるかも) (3):アニメーションの為の必要な関数、定義は何か 以上の3つなのですが、もしMATLABによるアニメーションの良い例などがどこかのホームページなどにあれば教えていただけるとありがたいです。 分かりにくい文章かも知れませんがよろしくお願いします。

みんなの回答

回答No.1

管理者より: 同等の質問があるのでそちらをご参照下さい

参考URL:
http://www.okweb.ne.jp/kotaeru.php3?q=138227

関連するQ&A

  • MATLABによるアニメーション

    現在、数値流体解析を行っており、その結果を3次元のアニメーションをしたいと考えています。アニメーションさせる方法としてMATLABを考えいるのですがなかなか思うように行きません。そこで、以下の質問があります。 (1):アニメーションの為の3次元のデータファイルはどのような配列で   ファイルに格納しなければならないのか。 (2):データファイルには、ある時間ステップごとのデータがあるのですが   このデータをどのようにMATLABに読み込ませれば良いのか((1)にも関係が  あるかも) (3):アニメーションの為の必要な関数、定義は何か 以上の3つなのですが、もしMATLABによるアニメーションの良い例などがどこかのホームページなどにあれば教えていただけるとありがたいです。 分かりにくい文章で申し訳ありませんがよろしくお願いします。

  • VCで作成したプログラムからMATLABあるいはMathematicaで作成した自作関数の呼び出し

    VCで作成したプログラムからMATLABあるいはMathematicaで作成した自作関数を呼び出したいのですが、やり方がわかりません。それ以前に、自作関数を呼び出すことができるのかもわかりません。ご存知の方はご教授をお願いします。 ちなみに、MATLABのホームページで調べてみたところ、MATLABが用意する関数を呼び出すことができるみたいです。自作関数を呼び出す方法についての説明は見当たりませんでした。また、DLLやCOMオブジェクトを作成する方法がありましたが、DLLやCOMではなく、MATLABファイルに記述された自作関数が呼び出せるようにしたいのです。Mathematicaについては全くわかりません。 自作関数を呼び出したい理由としては、数値解析のプログラムをVCで作っているのですが、このプログラムのコアとなる数値解析をおこなう処理をMATLABやMathematicaで作成した自作関数にまかせ、このコアとなる数値解析の処理を簡単に書き換えができるようにしたいのです。 以上、よろしくお願いします。

  • データをリアルタイムのようにグラフ化

    MATLABで作成した.matファイルもしくはExcelファイルなどに格納した あるデータ配列の数値をグラフ化するときに 時間によって変化するのが目に見えるようにするにはどうすればいいでしょうか? 例えば 100行2列のデータを2次元折れ線グラフとして表示するときに プログラムを実行すると1秒ごとに1行分のデータがプロットされ 時間ごとにグラフが推移していくようにしたいです。 また、そのような変数をいちいち与えず ファイルを読み込むだけにしたいのですが どのようなファイル形式ならばできるのでしょうか?

  • 2次元配列への格納方法について

    こんにちは。 FILE *fp; SIZE 1024; int n; char Buf[1025]; while((n = fread(Buf,1,SIZE,fp)) != 0){ } というように、fread関数を用いて1024バイトずつ配列Bufへ格納しています。 以下に示すようなことを行う場合、どのように記述すればよいのでしょうか? B:バイナリデータ T:数値 TBBBBBBBBB・・・・・・B←1024バイト目 TBBBBBBBBB・・・・・・B ・ ・ ・ ・ TBBBBBBBBB・・・・・・B というように、配列内に格納したいと思っています。 Tは、テキストデータで1,2,3・・・・100という整数型を格納。Bは、バイナリデータでfread関数から取得したバイナリデータを格納します。 なぜ、Tを格納したいかといいますと、どのバイナリデータを指しているか?を判別するためです。 上記のようなことを行うためには、2次元配列を使用すればよいのでしょうか? 例:char Buffer[100][1025]

  • 【MATLAB】配列内のある数値の位置情報

    MATLAB という汎用数値解析プログラムを使っています。 現在、100×100の配列の中にランダムな数字(0~40)が入ったデータを扱っています。 その配列内の、ある数字がどこに入っているかを算出する方法を教えてください。 例えば、『3』という数字は配列の(5,6)と(20、36)に入っている・・・という風に知ることは可能でしょうか。 ご回答よろしくお願いいたします。

  • VBScriptでCSVファイルを読み出したい

    現在VBScriptでCSVファイルを1行ずつ読み取って、2次元配列に格納するプログラムを作成しています。 CSVファイルの中身は、サンプルで shop,price,sales 001,500,700 003,1200,90 024,,18 という並びになっています。 実データは300件くらいです。 1行目のヘッダーを読み飛ばし、2行目のデータから1行ずつ読取、","でsplitを用いてまず1次配列に格納しています。 1次元配列のarrLine(0)=001、(1)=500、(2)=700と入ったデータを 2次元配列arrshopに順次保存?したいのです。 ---------------------------------------------- dim strLine '1行ずつ読込んだデータを持つ dim ntLineNum '行数のカウント dim arrLine '","で区切った要素を持つ一次元配列 dim arrshop '一次元配列になった要素を2次元配列として格納 Do until .AtEndOfStream   strLine = .ReadLine   if 0<>strComp("",Trim(strLine)) then ntLineNum = intLineNum + 1   end if   arrLine = split(strLine , ",")   arrshop = Array(arrLines,i) i = i + 1 loop ----------------------------------------- msgbox arrshop(2)(0) と指定すると「003」出るようにしたいです。 Array関数が上手くないような気もします・・・。 どなたかご教授お願いします(>_<。)

  • エクセル2003 string型のデーターの所定文字数の数の取得

    いつもアドバイス頂きありがとうございます。 今回、質問させていただきたいのは、 string型でデーターを取得した文字列に対して ある文字の文字数がいくつ在るかを取得したいのですが VBA関数で、そのような関数はあるのでしょうか? 例  myDataにstring型の文字列を取得してあります。 その中に「,」(カンマ)が何個存在するかと言う事 を取得したい。 やりたい事として、mydata()の中に2次元配列要素となるデーターを 1次元で仮格納してあり、それをセルに書き出すために2次元 に格納(splitで再格納)しなおしているのですが、データーが変わる たびに、カンマの数を数えて配列宣言を記入するのが面倒なので、 カンマの数がいくつでも、2次元に再格納できるようにしたいためで す。 宜しくお願いいたします。

  • C言語について教えてください。

    二次元配列でまとめられた「配列で実現する文字列」の文字と文字列を表示する関数を定義し、その関数の機能を確認するプログラムを作成する。 ただし、以下の例のように文字列の個数が変更されても処理できる関数を作成する。 また、文字列の文字の個数は最大9とする(一次元配列の要素数は10とする) さらに、関数printf()をできるだけ用いない。 (1)二次元配列でまとめられたすべての文字列を「一度に」表示する関数を定義する (2)二次元配列でまとめられたすべての文字列の文字を「一度に」表示する関数を定義する。このとき、前回の課題で定義した「すべての文字を表示する関数print_all_char()」を新しく定義する関数から呼び出して用いる。 (3)二次元配列に各文字列を格納してまとめるとき、初期化ではなく、配列の宣言・定義の後で、関数strcpy()を用いること(例では、初期化によりまとめている) [例] char astr[][10] = { "ABCD", "EFGHIJ", }; [実行結果の例] すべての文字列の表示 ABCD EFGHIJ すべての文字列の文字の表示 A B C D E F G H I J [ヒント] (1)二次元配列でまとめられた文字列の文字あるいは文字列を表示する関数<返却値型><関数名>(二次元配列の受け渡しに対応した仮引数の宣言、文字列の数) (2)文字列の数を求める。二次元配列のすべての要素に文字列が格納されている場合、文字列の数=二次元配列の要素数(一次元配列の数) =sizeof(astr)/sizeof(astr[0]) ただし、sizeof演算子の生成する型はsize_t型である。 この問題について教えてください。問題丸投げだとは分かっていますがどうしても分かりません。教えてください。ちなみに前回の課題の定義は下の通りです。 void print_all_char(char *chs) { while(*chs!='\0') { printf("%c\n",*chs); chs++; } } よろしくお願いします。

  • MATLABのグラフ

    MATLAB という汎用数値解析プログラムを使っています。 現在、100×100の配列の中にランダムな数字(0~40)が入ったデータを扱っています。 その中にある数値を棒グラフで表現したいのですが、どうしたら良いでしょうか。 ヒストグラムの表現はできたのですが、私が行いたいのは1行目の1には数字A,1行目の2には数字B・・・と言ったようなグラフを作りたいです。 周囲にMATLABに詳しい人も居なく、独学では限界を感じて質問しました。 ご回答よろしくお願いいたします。

  • [arduino]数値の大きなデータを二次配列へ

    シリアル通信で得たデータを二次元配列へ格納するために、 以前では、 if(Serial.available()>120){ for(int k=0;k<8;k++){ for(int l=0;l<15;l++){ //読み込んだ値を配列に代入 matrix[k][l]=Serial.read(); } } } このようなやり方で読み込んだ値を二次元配列に代入していたのですが、 128個以上のデータを扱いたい場合、Serial.availableでは保持できず、困っています。 方法として、 (1)一つずつデータを読み込み、128回ループを繰り返し配列に貯めていく。その後配列を2次元配列に代入する。 (2)一つデータを読みこんだら二次元配列の1行目1列目のドットに格納、もう一つデータを読みこんだら二次元配列の1行目2列目のドットに格納…というように、 読みこんだデータをそのまま二次元配列のそれぞれの場所へ格納していく。 というような二つの方法を思いついたのですが、 (1)の方法では、配列にデータを貯蓄していくコードをこのように↓書いたのですがうまくいかず、 for(int i=0;i<128;i++){ if(Serial.available()>0){ data[128] = Serial.read(); } } (2)の方法では、データを二次元配列のそれぞれの場所へ格納していく指定方法が分かりませんでした。 正しい書き方や、良いアイデアをお持ちの方がいましたら、是非御教授お願いします。