• 締切済み

c言語のプログラムにMATLABを入れたい

CプログラムからのMATLABの呼び出しを行いたいのですが その環境設定の方法が http://dl.cybernet.co.jp/matlab/support/manual/r14/toolbox/matlab/matlab_external/?/matlab/support/manual/r14/toolbox/matlab/matlab_external/ch_c_mex.shtml 上記ページに書かれているのですが icudt24b.dat,or icudt24l.datがないので手に入れたく探したのですが 見当たらないので入手先をご存知の方がいたら教えていただきたいのと 自分のシステムがbig-endian、little-endianのどちらのシステムか判別する方法を教えて頂きたいです。

みんなの回答

  • hidebun
  • ベストアンサー率50% (92/181)
回答No.2

ご希望の環境のMATLABであれば、 インストールしたディレクトリの\2006b\bin\win32 に、icudt32l.datなどがあると思います。 あなたが参照されているのは、MATLAB リリース14のマニュアルです。 バージョンアップにより、ファイル名も変わるようですので、バージョンにあったマニュアルを参照して下さい。 英文ですが、R2006bのマニュアルは以下のアドレスから辿ります。 http://www.mathworks.com/access/helpdesk/help/techdoc/matlab_external/bp_kqh7.html 当該箇所のマニュアルは、以下でしょう。 http://www.mathworks.com/access/helpdesk/help/techdoc/matlab_external/f38569.html ちなみに、MATLABエンジンを利用したことがありますが、icudt24b.dat などを意識したことはありません。 >自分のシステムがbig-endian、little-endianのどちらのシステムか判別する方法 MATLABエンジンを利用できれば、MATLAB関数:computer でシステムのエンディアンを返してくれますが。

  • hidebun
  • ベストアンサー率50% (92/181)
回答No.1

>icudt24b.dat,or icudt24l.datがないので CからMATLABエンジンを利用するということですよね。 環境はなんでしょうか?Windows? MATLABのバージョンは? 私のWindows, MATLAB:6.5.1の環境に上記は入っていません。 (ただし、engine.hやlibeng.dllがあるので、上記がなくてもMATLABエンジンは利用できると思う) MATLABは、バージョンによって、環境や仕様が大きく違うので、 対象とするMATLABのバージョンを決めないとプログラムが書けません。

jackkiii
質問者

お礼

早急なご回答ありがとうございます。 環境はWindowsでvc2005 Express Editionです。 バージョンはMATLAB 7.3.0(R2006)です。

関連するQ&A

  • Matlabのspdiags関数

    Matlabのspdiags関数に関してわからないところがあります。以下はMatlabのヘルプWebページから持ってきた例です。http://dl.cybernet.co.jp/matlab/support/manual/r2006/toolbox/matlab/math/?/matlab/support/manual/r2006/toolbox/matlab/math/sparse4.shtml B = [ 41 11 0 52 22 0 63 33 13 74 44 24 ]; d = [-3 0 2];、m=7, n=4のとき A = spdiags(B,d,7,4) A = (1,1) 11 (4,1) 41 (2,2) 22 (5,2) 52 (1,3) 13 (3,3) 33 (6,3) 63 (2,4) 24 (4,4) 44 (7,4) 74 これに対応するフル行列Aは、つぎのようになります。 full(A) ans = 11 0 13 0 0 22 0 24 0 0 33 0 41 0 0 44 0 52 0 0 0 0 63 0 0 0 0 74 mやnというのはfull(A)がm行n列の行列であるというイメージの対応がわかるのですが、d = [-3 0 2]とfull(A)の行列の関係がわかりません。-3,0,2というのはfull(A)のどこを見れば良いのでしょうか。

  • ヒストグラム

    C++で画像を読み込みヒストグラムを出すようにしたいのですが、いまいち何をヒストグラムに表したらよくわかりません。BMPのRGBで読み込んだ場合、読み込んだRGBをそのままにグラフにしたらいいのでしょうか?(グレイレベルの場合です)以下のサイトのグラフ結果のようにしたいです。(0から1までのほうのグラフです)回答お願いします。 http://www.cybernet.co.jp/matlab/support/manual/r14/toolbox/images/enhanc17.shtml#19234

  • 統計の検定と信頼区間について

    統計学で検定,信頼区間について勉強しています。 参考書を読んで理解に努めているのですが,どうもよく分かりません。 <信頼区間> http://dl.cybernet.co.jp/matlab/support/manual/r2007/toolbox/matlab/data_analysis/?/matlab/support/manual/r2007/toolbox/matlab/data_analysis/bqm3cio-1.shtml 上記リンクにおける2次多項式の信頼区間について, 信頼区間とは,データを発生した真の回帰式のパラメータに対して, 推定したパラメータがどれだけ信頼できる値であるかを示しているという 解釈でよろしいのでしょうか? <検定>(http://case.f7.ems.okayama-u.ac.jp/statedu/hbw2-book/node9.html) 回帰における検定で,回帰係数の真の値がゼロでないかどうかを調べる とあるのですが,なぜこれを調べるのでしょうか? また,検定は上記の信頼区間の推定とどう関っているのでしょうか?

  • MATLABでssを実行すると、未定義な関数としてエラーになる。

    MATLABでssを実行すると、ssが未定義な関数として認識されて エラーになっているようです。 どなたか、対処方法をご存じでしょうか? 宜しくお願いいたします。 ■実行環境 OS:WindowsXP SP2 MATLAB:2007a ■実行したM-ファイル %test l=0.2404; M=0.390; J=0.0712; c=0.695; g=9.81; A=[0 1; -M*l*g/J -c/J]; B=[0; 1/J]; C=[1 0]; D=0; sys = ss(A,B,C,D); ■実行結果 ??? 未定義の関数、またはメソッド 'ss' (タイプ'double' の入力引数)。 エラー ==> test at 13 sys = ss(A,B,C,D); ■調べた事項 >> ver ------------------------------------------------------------------------------------- MATLAB Version 7.4.0.287 (R2007a) MATLAB License Number: XXXXXX Operating System: Microsoft Windows XP Version 5.1 (Build 2600: Service Pack 2) Java VM Version: Java 1.5.0_07 with Sun Microsystems Inc. Java HotSpot(TM) Client VM mixed mode ------------------------------------------------------------------------------------- MATLAB Version 7.4 (R2007a) Simulink Version 6.6.1 (R2007a+) Communications Blockset Version 3.5 (R2007a) Communications Toolbox Version 3.5 (R2007a) Filter Design HDL Coder Version 2.0 (R2007a) Filter Design Toolbox Version 4.1 (R2007a) Fixed-Point Toolbox Version 2.0 (R2007a) Link for ModelSim Version 2.2 (R2007a) Signal Processing Blockset Version 6.5 (R2007a) Signal Processing Toolbox Version 6.7 (R2007a) Simulink Fixed Point Version 5.4.1 (R2007a+) Trademarks ------------------ MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, and xPC TargetBox are registered trademarks and SimBiology, SimEvents, and SimHydraulics are trademarks of The MathWorks, Inc. Other product or brand names are trademarks or registered trademarks of their respective holders. >> which ss -all C:\Program Files\MATLAB\R2007a\toolbox\signal\signal\@dfilt\ss.m % dfilt method >> matlabroot ans = C:\Program Files\MATLAB\R2007a >> path MATLABPATH C:\Program Files\MATLAB\R2007a\toolbox\matlab\general C:\Program Files\MATLAB\R2007a\toolbox\matlab\ops (中略) C:\Program Files\MATLAB\R2007a\toolbox\signal\signal (後略) >>

  • MATLABのパス設定エラー

    MATLAB超超初心者です。。Psychtoolboxを使いたいので、パス設定をしました。「ファイル」→「パスの設定」→「パスの追加」→Psychtoolboxの各フォルダを選択という手順で設定したのですが、いざデモを流そうとしたら、次のようなエラーが出てしまいました。 Error loading libmex.dll from C:\MATLABR11\toollbox\Psychtoolbox\PsychBasic\Screen.dll. Error loading C:\MATLABR11\toolbox\Psychtoolbox\PsychBasic\Screen.dll. ??? Invalid MEX-file 何がいけないのでしょうか…。パスを設定するだけでは使えないのでしょうか。MATLAB5.3を使っています。パスブラウザでは一応すべて設定できています。 基礎的な質問で大変恐縮ですが、どなたか教えてください。

  • 時変カルマンフィルタと定常カルマンフィルタの違いがわかりません

    大学でカルマンフィルタを使った研究をしようと思っています。 Matlabを使い下記URLを元にカルマンフィルタの理解を深めようとしているのですが、時変カルマンフィルタと定常カルマンフィルタの違いがわかりません。下記URLでは、時変カルマンフィルタは「この共分散プロットから、出力共分散がおよそ5つのサンプルで実際に定常状態に達したことを確認できます。それ以降、時変フィルタは定常状態バージョンと同じ性能を維持します。」とあるのですが、これは「時変カルマンフィルタは、結局は定常カルマンフィルタと同じ」ということなんでしょうか? また、そうでないとすれば、時変カルマンフィルタと定常カルマンフィルタの違いってなんでしょうか? 途中で外乱が発生した場合を仮定して、観測ノイズvとプロセスノイズwを途中で変化させる、ようなこともしたのですが、時変カルマンフィルタは定常状態に達した後は定常カルマンフィルタと同じ結果を示しました。なので外乱に強いというわけでもなさそうです。(初心者なのでこの実験自体、正しくプログラムを設計できていたかも怪しいです。) 時変カルマンフィルタにするメリットが何かわかりません。できれば、matlabを使ったカルマンフィルタを詳しく説明してる本やHPがあれば教えてください。 回答よろしくお願いします。 URL:http://dl.cybernet.co.jp/matlab/support/manual/r13/toolbox/control/casestudies/?/matlab/support/manual/r13/toolbox/control/casestudies/demos15.shtml

  • 線形計画法について

    min w1+w2+0*z1+0*z2 s.t. z1>=w1+w2+1    z2>=w1-w2+1    w1+w2=0    z1+z2=0    z1>=0、z2>=0、w1>=0、w2>=0 を考える. いま、Matlabの線形計画問題を解く関数linprog() http://dl.cybernet.co.jp/matlab/support/manual/r13/toolbox/optim/linprog.shtml を使って解くことをしたいので、 上記リンク先において、  X=[w1,w2,z1,z2]  f=[1,1,0,0]  Aeq=[1,1,0,0;    0,0,1,1]  Beq=[0,0] となると思います。 問題は、Ax>=B の箇所なのですが、    z1>=w1+w2+1    z2>=w1-w2+1 を移項して、    -z1+w1+w2<=-1    -z2+w1-w2<=-1 として、    A=[-1,0,1,1;     0,-1,1,-1]    B=[-1,-1]; とするのでしょうか? どうも、このようにしてlinprog()に走らせると、最適化は終了するのですが、得られたパラメータが等式制約をみたしていない状態になります。 (実際、走らせた問題は微妙に違うものですが・・・) 原因として、この「Ax<=B」の入れ方だと思うのですが、上記のやり方では間違いなのでしょうか? 実行可能解の領域が閉空間でなく開空間になってしまっているのではないか思っています。

  • コヒーレンス関数について

    二つの波形の一致率を調べるための方法を聞いたところ「コヒーレンス」を使えばいいとのことで、今コヒーレンス関数を調べております。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=2314537 で、一応式は検索できたのですが、 1、http://dspace.wul.waseda.ac.jp/dspace/bitstream/2065/396/9/Honbun-31_chapter3b.pdf 2、http://www.hulinks.co.jp/support/flexpro/v7/dataanalysis_crsp.html#02 3、http://www.cybernet.co.jp/matlab/support/manual/r14/toolbox/signal/spectra7.shtml 4、http://www.onosokki.co.jp/HP-WK/c_support/tech_term/cf_fft/cf3_2.htm たぶん2,3,4は同じ事を書いてるのだと思うのですが、1は左辺に二乗があり、右辺に二乗がありません。これは A)クロスパワースペクトル密度とクロススペクトル、クロスパワースペクトルは別物と言う事でしょうか? B)r^2がクロススペクトルなのでしょうか?それともrがクロススペクトルなのでしょうか? 次に、コヒーレンス関数の式が上の1,2,3,4で求められるとしたら、パワースペクトル、クロスパワースペクトルとはいったいどうやって計算すれば良いのでしょうか? C)パワースペクトル・・・FFTの計算結果の√(実数部^2+虚数部^2)と言う事でいいんでしょうか? D)クロススペクトル・・・FFTの計算結果で、XとYで(実数部、虚数部)がそれぞれ(X,iX)、(Y,iY)があった時、クロススペクトルは ((X+iX)*(Y-Yi))^2=(XY-iXY+iXY+XY)^2 = (2XY)^2 で良いんでしょうか?(虚数部の計算は打ち消しあうので実数部だけでいいんですか?) よろしくお願いします。

  • ARCserve Backup r11.5 Disaster Recoveryについて

    過去ログを参照しましたが、見つかりませんでしたので、 よろしくお願いします。 惨事復旧のために、ARCserve Backup r11.5 Disaster Recovery をインストールしたのですが、バックアップ対象のソースとしては、 「システム状態」のみで良いのでしょうか? マニュアルと見ると「フルバックアップ」という表現で書いてますが、 「フルバックアップ」とはどういう意味なのかと…? どのソースに対して「フルバックアップ」なんでしょうか。 「システム状態」+「Cドライブ」という意味であれば、 かなりの容量になるため、DATに収まりません…。

  • 平衡点とは??matlabでのコマンド・・・ 状態方程式?

    現在matlabを用いて制御系を設計している者ですが。model predictive control toolboxを用いてモデル予測制御を行おうと努力しているのですが、その例題のM-fileの途中に記述されている [x0,u0,y0,dx0]=trim('model'); [A,B,C,D]=linmod('model',x0,u0); sys=ss(A,B,C,D); という部分がいまいちよくわかりません・・・。 実際に調べた所、非線形を平衡点付近で線形化し、それを状態方程式化している。みたいな感じだと思うんですが、例題のmodelを用いるとうまくまわることはまわるんですが、自分で設計した制御系のmodelを使って先程のコマンドを入力すると 「プロパティ/値の組み合わせは偶数でなければなりません。」 というエラーが起こってしまいます・・・。 自分の調べた所 trim・・・modelというシステムの初期状態x0に最も近い状態安定点 linmod・・・システムの連続空間モデル、または離散時間線形状態空間モデルを演算点のまわりで抽出 というかしこまった表現でしかわかりませんでした。 あのコマンドがいったい何を指しているのか、そして「プロパティ/値の組み合わせは偶数でなければなりません。」とはいったいどういうエラーなのか、もしわかる方がいましたら是非アドバイスお願いします。

専門家に質問してみよう