• ベストアンサー

MATLABでのプログラミングについて

はじめまして。 当方MATLAB初心者です。プログラムをどう組み込めばよいのかよく分かりません。 MATLABでPSO(粒子群最適化)のアルゴリズムを取り入れてシミュレーションを行ないたいと思っているのですが、 m-fileに直接書き込むにしても条件分岐などがあるので、どう書いたらいいのかよく分かりません。 C言語などで別に書いたプログラムを組み込んだりできるのでしょうか? 大学では制御の分野を学んでいるのですがMATLABにはほとんど触れた事がないです、質問もわかりにくいかも知れませんが、ご存知の方がいらっしゃるなら教えていただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • oyaoya65
  • ベストアンサー率48% (846/1728)
回答No.1

> m-fileに直接書き込むにしても条件分岐などがあるので、どう書いたらいいのかよく分かりません。 次の簡易マニュアルの中の3.9.1.Flow Controlの所 http://www.slis.tsukuba.ac.jp/~nakano/data/MATLAB_manual.pdf や 次のMATLAB Programmingの中の「プログラムコントロールステートメント」の所を参考にして下さい。 http://dl.cybernet.co.jp/matlab/support/manual/r2006/toolbox/matlab/matlab_prog/?/matlab/support/manual/r2006/toolbox/matlab/matlab_prog/bqjgwp9.shtml > C言語などで別に書いたプログラムを組み込んだりできるのでしょうか? できるようですか、当方はC言語を組み込んだ経験はないので分かりません。 組み込み方は直ぐ上のMATLAB Programmingの中の 外部インターフェースの節の「オンラインヘルプドキュメントの検索」野中の「MATLAB からの C や Fortran の呼び出し」項目がありますので、別のマニュアルなどに詳細が書かれているのではないかと思います。 Matlabライセンス導入時にインストール媒体とマニュアルやオンラインマニュアルが付属してきていると思いますので所属のライセンス導入者に問合せて見せてもらって下さい。

関連するQ&A

  • C言語→MATLABへの変換で、困っています。

    学生研究でMATLABを使用しています。 光学測定系で画像を取り込み、それを解析する実験を行っています。 MATLABはプログラム内の値の変更や処理の追加できることから 大変助かっています。 そこで、もともとはC言語でやっていた3種類の処理を 一つのMファイルで行いたいと思い。 只今、C→MATLAB変換するプログラムの書き直しを行っています。 そのうち2種のプログラムは行列の計算がメインだったため何とか Mファイルに書き直すことができたのですが、 最後のひとつが難しい関数らしきものが多く、 MATLABに書き直すことができるプログラムなのかもわからない状態です。 そこで、 ・C→MATLAB変換可能なプログラムか? ・書き直すにあたってどこを部分を直せばよいのか? をアドバイスいただけないでしょうか? ↓MATLAB化したいC言語ファイル http://karispace.web.fc2.com/cmat2.c 一枚のbmp画像から4枚のdatデータを出力するプログラムです。 C言語とMATLABの三ヶ月前に勉強して、使用しており、基礎がわかる程度です。 よろしくお願いします。

  • MATLABでサーボモータを制御する方法

    私は今現在、独学でMATLABを勉強しています。 参考書を見ながらいくつかのMファイルやsimulinkのモデルなどを今までつくってきました。 そこでシミュレーションだけではなく、実際に実機を動かしてみたくなり、たまたま持っていたサーボモータを動かしてみようと思い立ちました。しかし、思い立ったは良いものの、実際にMATLABからの制御入力をサーボモータに伝達する方法がわかりません。多分RS232Cを経由して送るとは思うんですが、実際にsimulink上でどのように構成すれば良いのか教えていただきたいです。D/A変換の仕方もちょっとよくわかりません。 マイコンはPICの16F648Aです。 とりあえず、細かい制御は考えないでただMATLABで動かしてみたいだけです。教えてくれる方がいましたらよろしくお願いします。

  • 初心者のプログラミング

    こんにちは。 実験心理学を専攻しているのですが、実験プログラムを組むのにプログラミングを学ぶ必要がでてきました。心理学実験用のプログラムソフトがあるのですが、高い(こちらの分野の方にしかわからないと思うのですが、Presentationというソフトです)。 無料でプログラムの考え方を学ぶのに適した言語ってなにがありますか? VB.netとかC#がおすすめだとちらほら書いてあったのですが、それらの言語はほかの言語(Presentation、Matlabなど)と構造は似ているのでしょうか? 知識がないので何を聞きたいかがわからないと思いますが、プログラム的な考え方に慣れたい、そしてどうせやるなら似たような構造の言語が多いものをやりたい、ということです。 ご回答、ご批判おまちいたしております。

  • MATLABを用いたUDP通信のプログラム作成

    MATLABを用いたUDP通信のプログラム作成のことで教えてください。 Windows10のパソコンのキーボードから文字列を入力し、 UDP通信で文字列を渡し、この値をパソコンの画面上に表示させる MATLABプログラム(Simulinkは使 用しない)を書こうとしています。 ・どのように書けばよいか教えてください。 ・また、この場合、ホストアドレス(127.0.0.1 ?)やポート番号をどのように設定すればよいでしょうか? ・さらに、このMATLABプログラムをC言語に変換してテストしたいです(MATLAB Coderを使用) 通信分野については、ほとんど知りません。 宜しくお願い致します。

  • MATLABで外部プロセスを停止させたい。

    MATLABでwinopen もしくは! で外部プログラム(.exe)をバックグラウンド起動したあとに、 (ある条件を満たしたら、) 起動した外部プログラム(プロセス)を停止させたい。 どうしたらよいでしょうか? m--m

  • プログラミングソースコード(アルゴリズム)の条件分岐の記述の仕方

    C言語始め擬似言語等プログラムで条件分岐はif~else以外にないのでしょうか?3つ以上に分岐する場合どのように記述するのでしょう?

  • MATLABのプログラムでのデータ処理で困っています。

    こんにちは、MATLAB初心者の者です。 あるデータの処理をしなくてはならないのですがどのようにプログラムを作ってよいか分からず困っています。 データの内容はこのような数字が並んでいます。 522344 527870010500115000980009800079000780008000101000 529970009800119001040008900083000910008800101000 523800003010700120001120010000090001010010700117 ・・・・・・ これを1行目の3~4桁、5~6桁を取り出し、2行目の3~5桁、6~8桁、9~11桁・・・と3桁づつを1行目から取り出した数字の後に取り出したいのです。 23 44 787 23 44 001 23 44 050 23 44 011 23 44 500 23 44 098 ・・・・・・ 3行目以降も同じ方法です。 23 44 997 23 44 000 23 44 980 23 44 011 23 44 900 ・・・・・・ 説明が下手ですみません。 他の言語で作成した方が早いとは思いますし、こんな簡単なことも出来ないのに使うなとお叱りを受けそうなのですがMATLABでやらなければならない事情があり、困ってしまいこちらに質問する事にしました。 どうかよろしくお願いします。

  • MATLABではどうすればいいのでしょうか?

    MATLABで、 M = 10 C = 1 K = 10 T =0.01 A = [0 1;-K/M -C/M] B = [0;1/M] I = [1 0;0 1] という条件で、 E1 = I + Σ(1/N!)*(A*T)^(N-1)  (ΣはN=2から) F1 = I+(A*T)*E1 G1 = E1*T*B の計算を、 例えば、5項目までと6項目までの計算をして、 その差をとり、差が条件以下(例えば10^-5以下)なら終了、 それ以上なら、続けて、次に6項目と7項目までを計算して、 その差をとるといったような、プログラムを作るにはどうすればよろしいのでしょうか?

  • プログラミング言語

     プログラムの言語にはそれぞれ得意分野があるようなのですが、例えば家庭用のゲーム等は、何の言語を使って製作しているのですか?特に決まっていないのでしょうか。。。いや、気になっただけなんですけど。PC上のアプリケーションは、javaやC++などでしょうけれど。。。どなたか各言語の実用的な使い道を説明してくださる方、この初心者めに是非ともご教授くださいませ。よろしくお願いします。

  • 解探索について

    はじめまして、現在大学でレイアウト技法について学んでいるものです。 現在レイアウトの解探索にPSO(粒子群最適化)、GA(遺伝的アルゴリズム)、SA(焼きなまし法)のうちどれか一つを用いる予定なのですがもしこれらの技法についてわかりやすく説明している本、もしくはサイトを知っている方いらっしゃいましたらご教授願えないでしょうか。 よろしくお願いします。