• ベストアンサー

MATLABのMATファイル をC言語で取り込む

MATLAB の MATファイル をC言語でも取り込めるようにするにはどのようにすればよいのか教えてください。 (bin とか dat への変換方法がわかりません。) よろしくお願いします。

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

  • ベストアンサー
noname#137556
noname#137556
回答No.1

MATLAB をお持ちなら,MAT File Library が使えます。 http://www.mathworks.ch/help/techdoc/apiref/bqoqnz0.html オープンソースなライブラリもあるようです。 http://matio.sourceforge.net/ MATLAB 側で,fopen, fwrite などを使って,好みの形式に変換するのもありかな。 http://www.mathworks.co.jp/help/ja_JP/techdoc/ref/f16-5702.html

関連する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の三ヶ月前に勉強して、使用しており、基礎がわかる程度です。 よろしくお願いします。

  • 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のどちらのシステムか判別する方法を教えて頂きたいです。

  • MATLABとC++

    こんにちわ。資料を参考にしつつMATLABからC言語へ変換する作業をしているのですが、どちらに関しても初心者レベルで遅々としてはかどりません…。 分からないことの一つとして、MATLABは行列計算がしやすいがC言語はそうではないということからなのですが、MATLABで A = zeros(10,20,30) というのは次元10×20×30をもつゼロ行列 ということは分かったのですが、これは 数学で習う行列、2×2 や3×3など二次元な数字の並びを、三次元にまで拡張した表し方ということでしょうか?? また、上の式をC言語で書き表すとすると どのように書き表せるのでしょうか?どなたか分かるかた 教えていただければと思います。

  • matlab matファイルから一部だけを読み込む

    Matlab初心者です、よろしくお願いします。 Matlabでn×m行列のデータが入っているmatファイルからx×y行列のデータを変数に読み込みたいのですが、どうすれば良いのでしょうか? ご教授していただけると助かります。 よろしくお願いします。

  • Matlabで作成したmファイルをC言語に自動変換することは可能ですか?

    大学の研究室で使っているmatlabの機能にC言語のソースを自動生成 する機能があると先生に伺ったのですが、 常識的に考えてそんな便利なことができるとは思えません。 実際に下記に示すtoolboxで自分が作ったmファイルからC言語のソースを、ある程度自動生成することは可能でしょうか? Matlab 2008 b windows-x64版 Matlab 7.7 Simulink 7.2 Image processing toolbox Signal processing toolbox Real time workshop SimulinkとReal time workshopを一度も使ったことが無いので 少し調べて良く判らない点がありました。 Realtimeworkshopでは、Simulinkで生成したブロック線図のみC言語で出 力できるものであり、mファイルからの変換はできないのでしょうか?

  • Matlabでリストにあるファイルを開く

    テキストファイル(.dat, .txt, .csvなどなんでもよい)にリストがあります。 それをMatlabで読み込み、リストにある文字列のファイルを開くということはできますでしょうか? 例) テキストファイルのリスト Sato Suzuki Tanaka ... あるフォルダ内にあるファイル Akashi.mat Bando.mat Chikamatsu.mat ... Sato.mat Shibata.mat Suzuki.mat Takasaki.mat Tanaka.mat ... というように、複数のファイルの中からリストにあるファイルだけを読み込みたいのです。 宜しくお願い致します。

  • matlab と C++の混合

    こんばんは。matlab初心者で、分からないことがあるためこちらに参りました。 メイン関数はmatlabなのですが、その中に一部 C言語で書かれた関数を含んでおり、それをmatlabで実行させたいのですが、確かそのようなことは可能だときいたのですが、実際そうですよね?? もし、可能ならば、 今 matlabのメイン関数と C言語で書いた副オプログラムを 同じディレクトリに置いて試してみたのですが、それだけではエラーになってしまいました。matlabと C++を混合で実行させるにはどのようにしたら良いのでしょう? どなたか教えていただけると助かります。

  • C言語でのファイル読み込み

    C言語でのファイル読み込みに関してお尋ねしたいことがございます。 たとえば、「test1.dat」というような数字が複数行記載されたデータファイルがあり、 それを配列に読み込んで作業をしたのちに、 同じ作業を「test2.dat」「test3.dat」・・・というようなデータファイル (これらも、test1とは異なる数字が複数行記載されたデータファイル)にも 施したい場合、どのようなループ処理をすればよいのでしょうか? perlの場合ですと比較的簡単にできたのですが、 Cの場合はどうしたらいいかわかりません。 どうぞよろしくお願いいたします。

  • MATLAB error (mat2gray)

     私のパソコン(WindowsXP)には、MATLAB(Ver5.2)が入っています。しかし、今までMATLABを使ったことはほとんどなく、これから勉強していくつもりでいます。    あるインターネットサイトからあるバイナリデータをタウンロードしMATLABで読み込もうとしています。そのサイトには、読み込むためのサンプルプログラム(mファイル)も紹介されています。しかし、そのサンプルプロクラムで読もうとすると、  "Undefined function or variable 'mat2gray'." というエラー出ます。おそらくmat2grayという関数か変数が必要であるということだと思いますが、私はどうすればいいか全く分かりません。教えてください。

  • MATLABからCへ

    if(n>1), nrm = sqrt(sum([A.*conj(A)],2)); else nrm = abs(A); end return MATLABで次のように与えられたときどのようにしてC言語で書けばよいでしょうか??

専門家に質問してみよう