• 締切済み

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

みんなの回答

  • rabbit_cat
  • ベストアンサー率40% (829/2062)
回答No.1

>C→MATLAB変換可能なプログラムか? 多分、無理でしょう。 なんか、このプログラムは、外部のI/Oを制御する(デバイスドライバを呼ぶ)もののようですね。そういう処理はmatlabではできません。(Matlab自身が直接サポートしているデバイスを除く) どうしても、matlab化したいなら、デバイス依存部をMEXファイルとして外に出す必要があります。

関連するQ&A

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

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

  • MATLABとC++

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

  • C言語にて jpg ⇔ bmp 相互変換

    C言語でのjpg、bmp間の相互変換をしたいのですが、 良い方法 or 画像処理ライブラリはないでしょうか? PHPで実装したいので、ネイティブのC言語のみで書かれているほうが都合がいいです。 VC++などで画像ファイルの相互変換を行っているサイトはいくつもあるのですが・・・

  • 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で作成した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の射影変換についての質問です。

    MATLABの射影変換についての質問です。 1枚の画像に3×3の行列をかけて画像変換するつもりです。しかし、その画像自体は3×3ではないので、直接かけることができません。 そこで、3×3以外の画像行列に、3×3行列をかけて、変換された画像を表示する方法をお聞きしたいです。 どうぞ宜しくお願いします。

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

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

  • MATLABプログラミングで質問

    MATLABでプログラムを作っているのですが、 C言語のプログラムのように for文のなかで*=や+=のような処理をしたいのですがやり方が分かりません。どなたか教えてください。

  • MATLABの行列を変換したいのですが

    行列の計算がMATLABで実行されて出てきた値Kfb Kfb=[-0.3162 -7.6248 -4.4566 -1.2231] を次のようにデータを抽出したいのですが、上手くいきません。 どのように行えば可能になるのか教えていただけると幸いです。 Kfb1=[-0.3162 -7.6248] Kfb2=[-4.4566 -1.2231] また、C言語のように割り込みを入れることは可能なのでしょうか? よろしくお願いします。

  • 画像変換処理に使用するプログラミング言語

    プログラミング初心者です。 画像変換処理をプログラムしようと考えているのですが、JavaやC#など画像処理に向いていると思われる言語の種類が多くてどの言語でプログラムを組もうか迷っています。 経験者の方、是非ともアドバイスをお願いします。 具体的な画像変換処理ですが、画像を直交座標から極座標へ変換するといったことです。つまり、アスペクト比3:4等の画像を円形に変換したいのです。 使用する予定の言語はJavaを考えています。これを選択した根拠は特にないです。 質問事項としては、 (1),上記のような画像変換処理を行える言語は何か。 (2),(1)の中でプログラミング初心者が扱いやすい言語はどれか。 以上を教えていただきたいです。何卒、宜しくお願い致します。 P.S.添付データは、直交座標の画像で極座標変換を行った画像です。ちなみにGIMPというフリーソフトを使用しました。

専門家に質問してみよう