VCで作成したプログラムからMATLABあるいはMathematicaで作成した自作関数を呼び出したいのですが、やり方がわかりません。それ以前に、自作関数を呼び出すことができるのかもわかりません。ご存知の方はご教授をお願いします。
ちなみに、MATLABのホームページで調べてみたところ、MATLABが用意する関数を呼び出すことができるみたいです。自作関数を呼び出す方法についての説明は見当たりませんでした。また、DLLやCOMオブジェクトを作成する方法がありましたが、DLLやCOMではなく、MATLABファイルに記述された自作関数が呼び出せるようにしたいのです。Mathematicaについては全くわかりません。
自作関数を呼び出したい理由としては、数値解析のプログラムをVCで作っているのですが、このプログラムのコアとなる数値解析をおこなう処理をMATLABやMathematicaで作成した自作関数にまかせ、このコアとなる数値解析の処理を簡単に書き換えができるようにしたいのです。
以上、よろしくお願いします。
No.2ベストアンサー
- 回答日時:
結構そういうことってありますよね.
MathematicaはもっていないのでMATLABの場合についてアドバイスをしたいと思います.
M-ファイルでも結構良いのですが,今までのSW資産(ライブラリ)を使いたい時ってありますね.
一番スマートな方法はRTW(Real-Time Workshiop)を使うことですが,この文献がほとんどありません
(「MATLABによる組込みプログラミング入門」,CQ出版あるいは「Mastering SIMULINK」Person Prentice Hall).
もしRTWがない場合はMATLABエンジンを使う方法があります.これは,自作アプリケーションからMATLABの各種機能を実行するものです(MATLABエンジンを起動すると裏でMATLABが起動します).少々実行が重くなりますが,MATLABすべての機能を使うことが出来ます(ネットワークに繋がっていても可能と思います).
具体的にはVCの環境からlibeng.libをリンク必要があります(VC6.0とVC.NETでは設定が違うと思いますが...).それと,"Engine.h"ヘッダファイルをインクルードします.ソースのほうではengOpen関数を使ってMATLABを裏で起動します.で,MATLABのコマンドを文字列を使って実行させます.実行が終わったらengClose関数を使ってMATLABを終了します.これをしないとずっとMATLABが動いていますのでご注意ください.
詳しくは”参考URL”を見てください.
MATLABエンジンが記述されている文献として
「最新使える!MATLAB」講談社
があります.
少々長いアドバイスになってしまいましたが,ガンバってください.
参考URL:http://www.cybernet.co.jp/matlab/support/manual/ …
No.1
- 回答日時:
MathematicaならMathLinkが使えます。
古いけど、MathLinkのプログラミングの本。結構解りやすいと思います。Mathematicaもってないから試してませんが。
参考URL:http://www.lib.city.chofu.tokyo.jp/cgi-bin/detai …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript カラーミーショップのsectionループ内で、[引数][戻り値]ありの関数的な処理を行いたいです。 1 2022/05/07 19:39
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- その他(プログラミング・Web制作) IT初心者です 仕事で、vb.netで作成されたdllをvbaで呼び出すプログラムを作成しろと言われ 1 2023/03/27 08:22
- その他(OS) Windowsで大量の画像サイズを半自動で変更する方法 6 2023/02/17 08:45
- C言語・C++・C# C言語 3 2022/10/04 15:07
- 統計学 加重最小二乗法=①「変数を自然対数変換」=②「誤差項の分散の逆数を重み付け」? 8 2022/11/26 11:15
- Java Javaの問題なのですが、 永久ループを使って以下に従って数値を出力するプログラムを作成する。 ・1 3 2023/06/06 18:43
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- PostgreSQL 数値が定期的にあらわれる文字列から、いくつめに出現した数値が指定して切り出したい 1 2023/06/08 13:12
- 統計学 回帰分析検証不一致 5 2022/05/04 20:48
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Macターミナルで実行中のプログ...
-
C言語で途中までしか、プログラ...
-
sendkeysにてALT+CTRL+INSERTを...
-
システム資源とは?
-
終了してもプログラムが実行し...
-
バッチファイル終了時にウィン...
-
プログラムを走らせる
-
C言語のFFTについて教えてくだ...
-
fortran a.exe システムエラー
-
C言語 コマンドラインの文字列...
-
Borland C++Builder6で、デバッ...
-
秒数を数える(C言語)
-
visual C++ 2008での無限ループ...
-
ヘッダファイル? malloc.hと...
-
C言語でプログラムを再起動
-
Visual Studio デバッグ実行で...
-
いきなり、count++; とありま...
-
ラズパイ プログラム 自動起動 ...
-
実行時エラー429
-
NORTiプログラムのROM化
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Macターミナルで実行中のプログ...
-
プログラミング ソースコード
-
MACで動く実行ファイルをWindow...
-
なんかC言語でプログラム書いて...
-
sendkeysにてALT+CTRL+INSERTを...
-
他のPC上にあるexeを、そのP...
-
C言語で途中までしか、プログラ...
-
システム資源とは?
-
終了してもプログラムが実行し...
-
VBAで外部プログラムを非表示で...
-
VB上で実行中の無限ループの止め方
-
実行時エラー429
-
RPG パラメーターについて
-
C言語でフォルダを開く
-
プリントスクリーンをプログラ...
-
system関数を使用してsuコマン...
-
並列計算をしたときのシステム...
-
clock関数は正確じゃないの?
-
プログラムを走らせる
-
このプログラミングの問題を教...
おすすめ情報