- 1 名前:デフォルトの名無しさん [2006/11/10(金) 11:28:22 ]
- MATLAB 日本語版
www.cybernet.co.jp/matlab/ MATLAB 本家 www.mathworks.com/ Yahoo MATLAB dir.yahoo.co.jp/Science/Mathematics/Software/MATLAB/ MATLAB入門 feedback.mech.fukui-u.ac.jp/matlab/matlab0.htm MATLAB チュートリアル www-isys.eei.metro-u.ac.jp/~sho/pub/ttmatlab/Index.html
- 553 名前:デフォルトの名無しさん [2008/05/21(水) 13:01:07 ]
- matlab のショートカットアイコンを作っといて
そのプロパティの作業フォルダを変えるとか。 もしくは startup.m を作って cd(foo); とか。
- 554 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 22:18:05 ]
- ショートカットアイコンってなんですか?
- 555 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 01:41:05 ]
- その質問は、もう質問の体をした荒らしみたいなもの。
google もまともに使えんのに matlab で何をするつもりなのか、答え給え。 ぼくぁいつもマジレスなんだ。
- 556 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 14:24:57 ]
- たいしたことじゃないんですが、
a = [0 0 1 1 1 0 0 0 0 1 1 1]; とあったときに、3:4, 9:11 のように連続点を抜き出すのに楽な方法ってないですかね? b = find(a); として b = [3 4 9 10 11]; の状態から 3:4, 9:11 と2つに分ける方法でも良い。 今はループ回しているんですが、matlab だし、何か楽な方法がないかなぁと。 ちなみに、この 3:4, 9:11 の表現は、 c = [3 4; 9 11]; のようにしているのだけれど、別になんでもいいです。
- 557 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 17:36:53 ]
- 伝達関数からステップ入力に対する
オーバーシュートや静定時間を求める関数ってありますか?
- 558 名前:デフォルトの名無しさん [2008/05/22(木) 21:12:07 ]
- >>556
aを、微分(差分)してみるといいかもしれない
- 559 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 23:42:58 ]
- >>558
おぉおもしろいアイデアだ。 D = conv(a, [1 -1]); starts = find(D == 1); ends = find(D == -1) -1; ind = [starts(:) ends(:)]; でいけました。うほっ。とんくそ。
- 560 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 22:01:47 ]
- >>557
stepinfo ただしR2006a以上のControl System Toolbox
- 561 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 20:12:10 ]
- >>560
ありがとうございます。でもうちのじゃ使えなかったみたいです。 あきらめます。
- 562 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 19:44:51 ]
- 過去にMATLABにLISPのmap関数の様なものがあるかと質問したものです.
その後,mexを作って解決しましたが,MATLABには標準で,arrayfunやcellfunといった同様の関数があることが分かりましたので一応報告しておきます.
- 563 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 03:32:38 ]
- ちゃんと聞けば教えてあげたのに。
- 564 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 14:18:05 ]
- すいません.コンソールで値の入力を要求して,その結果を変数に代入するような文はどう書くのでしょうか?
Please imput value of x : と表示させてxの値を入力させたいのです.
- 565 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 14:18:29 ]
- inputですた
- 566 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 22:32:32 ]
- すいません.自己解決しました.
- 567 名前:デフォルトの名無しさん [2008/06/01(日) 21:22:19 ]
- 図をepsで保存してイラレで読み込むと
マイナスが見えなくなるのですが これってどうしたらいいのですか?
- 568 名前:デフォルトの名無しさん [2008/06/03(火) 14:59:19 ]
- feval(fnc,r)
でfncに'sin'とかは入れてsin(r)を計算できるのですが、 x^2などのxにrを入れて計算するのはどうすればいいですか。
- 569 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 17:23:50 ]
- >>568
feval(@(x) x^2, r)
- 570 名前:デフォルトの名無しさん [2008/06/04(水) 18:58:14 ]
- matlabで多目的整数計画問題って解けるんですか?
fminimax()の変数が整数版みたいなやつが欲しいんです。 fminimax()の条件をいじって、変数を整数に縛ろうと思ったんですけど、 やり方もわかりませんし・・・
- 571 名前:デフォルトの名無しさん [2008/06/04(水) 21:26:37 ]
- 縦軸の値から横軸の値を表示することはできますか?
たとえば、y=2xのグラフをxを1〜10まで0.1刻みで描いたとします。 そのとき、y=5のときのx値を知りたいわけです。 刻み幅が大きく合致する値がない場合はどうなるのでしょう?
- 572 名前:デフォルトの名無しさん [2008/06/04(水) 21:40:04 ]
- >>571
interp1dをつかったら?
- 573 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 23:27:43 ]
- >>571
推定するしかねーだべが。
- 574 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 02:21:50 ]
- matlabの関数の説明が日本語で書かれているサイトないでしょうか?
できればURL張ってくださいorz
- 575 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:35:26 ]
- matlab の中の人たちって何者?
特に toolbox とか数学的に難しいものもあるから、 それを実装できる知識を持っているが、 研究者やらずに matlab 開発しているとか良くわからない。 ph.d 持ちの人たちなのかな?
- 576 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 19:13:20 ]
- 大丈夫、私も数学的知識はないけど数学関数の実装は(数学屋に書いてもらったアルゴリズムに基づいて)行っている。
- 577 名前:デフォルトの名無しさん [2008/06/07(土) 17:31:53 ]
- >>574
「MATLAB ヘルプ」でぐぐれ
- 578 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 02:40:44 ]
- >>575
「MATLAB ヘルプ」でぐぐれ
- 579 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 14:51:55 ]
- Unix版とWin版で何か、違いはありますか?
- 580 名前:デフォルトの名無しさん [2008/06/16(月) 09:27:12 ]
- 変わんない
- 581 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 20:48:40 ]
- 「MATLAB ヘルプ」でぐぐれ
- 582 名前:デフォルトの名無しさん [2008/06/25(水) 20:53:55 ]
- 配列のindexing をC/C++みたいに 0 始まりにすることってできますか?
- 583 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 10:32:35 ]
- 「MATLAB ヘルプ」でぐぐれ
- 584 名前:デフォルトの名無しさん [2008/06/26(木) 19:17:32 ]
- >>583
お前は首くくれ
- 585 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 21:14:55 ]
- >>582
できないと思う
- 586 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 22:06:29 ]
- >>584
カレーはククレ
- 587 名前:デフォルトの名無しさん [2008/06/27(金) 08:35:39 ]
- 金かけたくないなら、pylabいいよ
- 588 名前:デフォルトの名無しさん [2008/07/01(火) 04:20:23 ]
- h=[1 0.8 0.4 0.2];
x=[1 0 0 0 0]; y=convol(h,x) subplot(4,1,1) xa=1:7; plot2d(xa,y,style=-2,rect=[0 0 8 2]) のプログラムを実行すると plot2d: first and second arguments have incompatible dimensions とエラーが出ます。 どう対処すればいいですか?誰か教えて下さい。
- 589 名前:デフォルトの名無しさん [2008/07/01(火) 06:45:02 ]
- xaとyの数が違うんじゃないの?
plot2d(xa,y(1:length(x) ... にしたら?
- 590 名前:しっとり [2008/07/04(金) 17:42:43 ]
- 突然すいません。
MATLABでLeonhardの軌跡ってどのように描けますか?教えて下さい。
- 591 名前:デフォルトの名無しさん [2008/07/04(金) 18:01:39 ]
- こんにちはいきなりですが質問です。
例えば100行100列のランダムな値をもつ行列から上位30点の要素を抽出するにはどうしたらいいでしょうか? 誰か教えてください
- 592 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 20:23:06 ]
- a=rand(100:100);
b=create_set(a); c=b(length(b)-29:end)
- 593 名前:デフォルトの名無しさん [2008/07/05(土) 10:59:13 ]
- >>592
素早い回答ありがとうございます 早速やってみます
- 594 名前:デフォルトの名無しさん [2008/07/07(月) 04:26:21 ]
- 質問です 次のようなアプリを作りたいのですがMATLABを使い始めて日が浅いので見当がつきません、
作り方・コードを教えて下さい お願いします。 フォルダの中に「PC」等の2文字が書かれたbmp画像がN枚ある 一枚一枚を任意の場所で左右にカットする(PとCが分かれるように自分で分ける線の位置を決める) それぞれ○○○○○L.bmp ○○○○○R.bmpとリネームして同じフォルダに保存する この作業をN回繰りかえし終了 図:www.dotup.org/uploda/www.dotup.org22131.jpg
- 595 名前:デフォルトの名無しさん [2008/07/07(月) 18:25:14 ]
- あんまり甘やかすのは、アレな気がするけどこれでできるはず…
問題は、分割位置が固定されているのか、問題毎に違うのか…。 プログラムで分割位置を判別は簡単じゃないと思うけど % Image Prosessing Toolboxがインストールされていて % 画像ファイルはRGB形式の仮定で行きます % 違う場合は若干書き換えてください filename = { 'image1.png', 'image2.png' }; % ファイル名を書いたリスト l=length(filename); for i=1:1 I=imread( filename{i} ); % 画像の読み込み I=rgb2gray(I); % 画像をグレースケールに変換 [m,n]=size(I); sep=100; % 分割位置を指定 % 画像の保存領域を作成 IR=zeros(m,sep); IL=zeros(m,n-sep); % 画像を転写 IR = I(:,1:sep); IL = I(:,sep:n); % 書き出し imwrite( IR, strcat([filename{i},'R.bmp']), 'bmp' ); imwrite( IL, strcat([filename{i},'L.bmp']), 'bmp' ); end
- 596 名前:594 [2008/07/08(火) 00:29:39 ]
- >>595
ありがとうございます >>問題は、分割位置が固定されているのか、問題毎に違うのか…。 画像ごとに違う位置で分割したいので分割位置を一枚一枚その度に自分で決めれるようにしたいのです 説明が分かりにくかったかもしれません、↓実際のファイル内はこのような感じです www.dotup.org/uploda/www.dotup.org22827.jpg これをそれぞれ「退」と「院」に分割して保存したいのです しかし画像によって分ける位置が違うので手動で分割位置を決めれれば…と思っています >>% Image Prosessing Toolboxがインストールされていて >>% 画像ファイルはRGB形式の仮定で行きます Image Prosessing Toolboxについて簡単に調べてみましたが 多分インストールされていると思います、MATLABのタイプ(?)は[R2007b]です。 画像ファイルはモノクロビットマップです >>filename = { 'image1.png', 'image2.png' }; % ファイル名を書いたリスト 画像が1000枚近くあって名前もバラバラなのですが・・・全ての名前を書き出さずにできないでしょうか cut.mと名付けこのまま実行してみたところ、このようなエラーが出ました。一応載せておきます ??? エラー ==> imread at 315 ファイル "image1.png" は存在しません エラー ==> cut at 5 I=imread( filename{i} ); % 画像の読み込み
- 597 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 07:31:40 ]
- コード中で.pngとファイル名を指定しておきながら.bmp画像しか用意してなかったんだろ
そのまま実行するという暴挙に出てエラーが出ましたとか言ってしまう神経が以下略だぜ
- 598 名前:596 [2008/07/08(火) 13:26:40 ]
- >>597
その通りですね…冷静に考えればなんと当たり前な… image1.pngとimage2.pngを用意して実行したところ、今度はこのようなエラーが出てしまいました ??? エラー ==> rgb2gray>parse_inputs at 82 MAP must be a m x 3 array. エラー ==> rgb2gray at 35 X = parse_inputs(varargin{:}); エラー ==> cut at 6 I=rgb2gray(I); % 画像をグレースケールに変換
- 599 名前:595 [2008/07/09(水) 16:16:09 ]
- えっと、答える私も私なんだけど少しだけ叱らせて。
ここは初心者に対して伝統的に厳しいスレではないけれど、それを考えてもあなたのレベルはちょっと酷い。 私も大した事は言えた立場ではないけれどMatlabが可哀想なのでせめてもう少し勉強してあげて。 一応回答するけど、画像を一括指定したい場合は、知恵を絞りましょう。 指定したディレクトリにある画像をすべて取得するならこんな感じ % 指定したディレクトリにあるファイルのファイル名をリストで取得 imgdir = 'sampleimages'; % 画像がおいてあるフォルダの名前 files = dir(imgdir); % 指定したフォルダのファイル名を取得する filename = {}; % ファイル名を書いたリスト % ディレクトリのファイルからファイル名を取得 for i=1:length(files) if exist(imdir+files(i).name) filename{i}=imdir+files(i).name; end end バグがおこっている行はRGB画像をグレースケールに変換するものなので画像のフォーマットの問題。 該当行を I=im2uint8(I); % 画像をバイト型からグレースケールに変換 とかに差し替えてやればよいと思う。 あとは画像の分割位置を手動で決定するにはGUI画面を作らないといけないね。 ここからが初心者には大変なんだろうけど、面倒くさいな…
- 600 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 13:22:44 ]
- アルゴリズムを考えることが
レポートの課題なり、研究のポイントなんだから、 そこまでここで教えてもらおうなんて思わないように。
- 601 名前:今風若者気質 mailto:sage [2008/07/10(木) 13:56:22 ]
- >>600
何言ってるんですか、レポートにしろ卒研にしろ、抜ける手は抜くのが一番じゃないですか。
- 602 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 14:20:33 ]
- 勉強するために大学行くんだろ。
就職のためなら専門学校いけよ。
- 603 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 14:26:22 ]
- 頭は使わないと劣化していくよ
教授を見ていれば分かるだろ
- 604 名前:今風若者気質 mailto:sage [2008/07/10(木) 17:38:02 ]
- >>602
何言ってるんですか、専門学校の就職率なんてカスですよ。
- 605 名前:595 [2008/07/11(金) 12:51:43 ]
- uproda11.2ch-library.com/src/11100794.zip.shtml
あぷろだ初めて使うんだけどこれでいいのかな? pass:1111 削除キー:1111 使い方 ・samplesフォルダに全ての画像を移す ・imageselect.mをmatlabから起動 ・開始ボタンを押した後、画像の分割位置をクリックで選択 見た目に良く分からないかもしれないけどちゃんと分割された画像が保存されています。 手抜き仕事なのでバグあったら頑張れ
- 606 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 21:26:56 ]
- >>605
おまえさんのアホさに感動を覚える
- 607 名前:605 [2008/07/14(月) 13:46:22 ]
- あっはっは、出来が酷いのは手抜き中の手抜きだから勘弁してやってください。まぁ、赤の他人に対しては良くやったよね…
ってそういう意味じゃないか… 一応やっている分野の近い相手なので、何となく情が働きまして… matlabのGUIプログラミングはVBなどと比べても決して難しい物ではないけれど、あのレベルで習得させてやらせるのは辛いしね
- 608 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 08:28:19 ]
- GUIにせずとも、マウス入力で区域指定できるのではないかと
- 609 名前:デフォルトの名無しさん [2008/07/15(火) 23:33:57 ]
- filter関数がC言語でかけねぇ。
誰か作ってないかなぁ
- 610 名前:デフォルトの名無しさん [2008/07/16(水) 00:42:37 ]
- どんなフィルター?平滑化なんかの2次元フィルターってこと?
- 611 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 02:46:42 ]
- matlab の filter 関数でしょ。
- 612 名前:デフォルトの名無しさん [2008/07/16(水) 07:39:55 ]
- そうそう。matlabのbutter関数で係数を求めておいて、
それをつかってfilter(b,a,signal)って使うことのできる関数を Cで作りたいわけ
- 613 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 10:06:30 ]
- 簡単じゃん。
- 614 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 05:49:41 ]
- matlab での代表的なコーディング規約ってないの?
built-in 関数みてると大文字はおろか _ すら使ってないのがほとんどな気がするんだけど、そういうもん? ちょっと、これじゃやりにくい。
- 615 名前:デフォルトの名無しさん [2008/07/24(木) 06:52:25 ]
- 昔のFORTRANの流れを汲んでるから、ひょっとすると関数名は6文字までだったりしてね。
個人的には _ を使った関数名は自作関数というぐあいに区別しているけど。
- 616 名前:デフォルトの名無しさん [2008/07/24(木) 18:29:52 ]
- MATLAB(R2008a)で関数自体の引数の数を得る方法はありますか?
無名関数を引数としてその無名関数自体の引数の数を返す関数を作りたいのですが。 また,関数自体はまだオブジェクト化されていないのでしょうか? その様なクラスも見当たらないですし。
- 617 名前:デフォルトの名無しさん [2008/07/24(木) 21:09:47 ]
- 関数自体ってどういう意味?引数の数はnarginだろ普通
- 618 名前:デフォルトの名無しさん [2008/07/24(木) 21:44:37 ]
- >>617
>引数の数はnarginだろ普通 それはある関数呼び出しに関する引数の数だろ。 phpspot.org/blog/archives/2008/04/javascript_65.html これで分かるかな?
- 619 名前:デフォルトの名無しさん [2008/07/24(木) 23:09:42 ]
- 無理じゃね?
matlab は数値演算はいいけど、そういう補助機能が弱いよな。 >関数自体はまだオブジェクト化されていないのでしょうか? そんなことする気あるの?なんかで言ってた?
- 620 名前:デフォルトの名無しさん [2008/07/25(金) 02:27:23 ]
- というか、MATLABをプログラム言語としてみるとこれ以上ダサい文法の言語は正直無いと言えると思う。
最初に行列を格好良く計算できる機構と入れたのは良いけど、やっぱり後で条件分岐やループが必要だと入れたあたりから破綻が始まっている そこからは無計画と言うしかない文法の拡張が行われている 比較的最初に気づくものでも 関数作りたかったら別にmファイルを作ってそこに書かないといけないとか 関数は最後にendで括っても括らなくても良いとか 何故か決して使いやすいとは言えない関数名がC言語風とか 行列計算の書式しか無かった頃だけ直感的で利点があった、何故かインデックスが1から始まるとか 正直、簡潔な書式の行列計算+強力なplot機能+インタプリタですぐ結果が見える使いやすさなのだと思う 本当は文法関係は言語の進化に合わせて再設計が必要な時に来ているのだと思う。もう無理だけど…。 >>614 mlint関数で文法チェックとかどうでしょう?
- 621 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 17:50:46 ]
- スライドバーのコールバックで処理するとき、
ドラッグが終わってバーの位置が確定した時だけ処理を行うことはできないでしょうか? バーが変化するごとにいちいち変化してると重いですorz
- 622 名前:デフォルトの名無しさん mailto:sage [2008/07/29(火) 12:20:46 ]
- >>621
アルゴリズムの問題だと思う。 ちょっと考え直したら?
- 623 名前:MATLAB初心者 mailto:sage [2008/07/30(水) 00:02:55 ]
- MATLABを使って
下記のようなニュートン法でα(ステップサイズ)を 適応的に求めるプログラムを作りたいのですが、 一向に分かりません。FORTRAN77を今まで使っていましたが 私のいる会社では、今年からMATLABになってしまったのです。 申し訳ありませんがこの掲示板をごらんになっておられる皆様 ご教授御願いいたします。 x(k+1)=x(k)−αinv(H(x(k)))g(x(k)) g(x(k))はf(x(k))の1次微分 H(x(k))はf(x(k))の2次微分
- 624 名前:デフォルトの名無しさん mailto:sage [2008/07/30(水) 02:42:36 ]
- 宿題ぐらい自分でやろうぜ
つーか、ほとんどmatlab関係なくね?
- 625 名前:デフォルトの名無しさん [2008/07/30(水) 03:43:34 ]
- FORTRANならわかるの?なのに matlab だとわからないの?
- 626 名前:デフォルトの名無しさん mailto:sage [2008/07/30(水) 12:54:20 ]
- アルゴリズムが分からないのなら
教科書を読め
- 627 名前:デフォルトの名無しさん mailto:sage [2008/07/30(水) 23:23:53 ]
- matlab の関数名、変数名は lower_case
のように小文字と _ を使っている人が多いようだけど、 なにか理由があるのかね? なんとなくそういうスタイルのテキスト多いのかな? datatool.com/downloads/matlab_style_guidelines.pdf の人は変数名には lowerCamel を押しているようなんだけど。 #関数名は _ もなしの lowercase 押してるけど、これはないよな。よみづらい。
- 628 名前:デフォルトの名無しさん mailto:sage [2008/07/30(水) 23:45:26 ]
- matlab を起動すると勝手に IME が日本語入力モードになります。
matlab で日本語入力モードになる意味がわからないので、 止めたいのですが、何か手法はあるのでしょうか?
- 629 名前:デフォルトの名無しさん mailto:sage [2008/07/31(木) 11:09:24 ]
- ここのスレ、性格悪い低脳多いな。
- 630 名前:デフォルトの名無しさん mailto:sage [2008/07/31(木) 13:49:10 ]
- >>627
空白をあらわすのにlower caseを使う人がアメリカ流の人には多いと思う
- 631 名前:デフォルトの名無しさん [2008/07/31(木) 23:33:08 ]
- matlabのmファイルからwavをsound関数を使って再生しているのだけど、
途中で止めることができない(;_;)。 途中で止めることはできないのでしょうか? コードは以下 [y, Fs] = wavread('test.wav'); sound(y, Fs);
- 632 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 05:27:56 ]
- >>630
lower_case と lowerCamel どっちがいいかなぁ・・・ lower_case は古い流行な気がしないでもないんですよね。 UNIX というか GNU C コーディングスタイル的な。
- 633 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 07:11:06 ]
- >>631
最初から止めたい位置がわかっているのなら、 マトリックスの部分指定。 とにかく止めたいのなら、CTRL+C
- 634 名前:デフォルトの名無しさん [2008/08/02(土) 17:41:28 ]
- >>632
JavaScriptなんかの場合は最初は自分で書いたライブラリは_で区切るなんて風習もあったけど そのうちライブラリを自分で配る人達が出てきてそれが普及してからはlowerCamelとJavaScriptの言語の標準に従う様になった。 最初は遊びで書いた関数も、そのうち人に配る可能性が無いわけでもないし、MATLAB標準に黙って従うのが一応正しい姿勢となるのでは?
- 635 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 17:43:38 ]
- MATLABの大文字小文字の区別って、完全に可能なんだっけ?
- 636 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 05:07:36 ]
- >>634
でも、matlab 標準というと、例えば bankrupt company が bkrptcmpny みたいなかんじじゃない? これはひどいでしょ?実際は、ここまでひどくはないけど、 _ もなにもないし、まぁひどい。 >>635 ファイル名 == 関数名、だから windows では大文字小文字が区別つかない。 けど、pca という関数がある時に、Pca を作るようなセンスの人はいないだろぉと思うし、 このために、lowerCamel は絶対ダメ!っていうのはもったいない気がする。
- 637 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 05:18:56 ]
- >>634,635
で、 toolbox 作っている人をみると、関数名は、 lower_case みたいに書いている人が多いので、そちらが標準かと思ったら、 ttp://www.mathworks.com/access/helpdesk/help/techdoc/matlab_prog/f4-39683.html を見ると関数名が makeParabola みたいに lowerCamel になってたりするんだよね。 でも、やっぱりファイル名の問題で、lower_case にしようかと思ったとすると、 変数名も lower_case にしたくなってくるわけだけど、 ttp://www.mathworks.com/access/helpdesk/help/techdoc/ref/persistent.html とかみると変数名は lowerCamel だったりするんだよね。 今、リンクないけど、lower_case な関数名、変数名を使っているマニュアル例もあった。 というわけで、matlab 標準がどっちつかずなもんで、むきーという状況。
- 638 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 05:29:17 ]
- なんだか長くなって申し訳ないけど、
C も標準は、略称使いの _ もなしの lowercase と思っていいいと思うけど、 OpenCV とか OpenGL は lowerCamel を使っている。 個人的には lowerCamel を使いたいのだけれど、 ファイル名 == 関数名の所で悩んでいる。 関数名は lower_case のような形で書いて、変数名は lowerCamel ってアリなセンスなのかな? ところで、private 関数的なネスト関数の名前は最初に _ でも付けようか、 と思ったら matlab では変数、関数名の最初を _ にはできないのね。がっかり。
- 639 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 05:03:28 ]
- お前プログラム書くの遅いだろ
- 640 名前:デフォルトの名無しさん [2008/08/05(火) 13:46:17 ]
- >というわけで、matlab 標準がどっちつかずなもんで、むきーという状況。
で、個人的意見なのですが、基本的にはMATLABのユーザーは物理系の人で、プログラミングの専門家やほかの言語に詳しい人は少ないのでそういうリテラシは少し低めなのではないでしょうか? OpenCV とか OpenGLとかはC++の文化を意識してああいう風になっているんでしょうねぇ オブジェクト指向を基本的には出来ないとはいえ、一応matlabの関数名の文化は、Cからの影響なのを考えるとlowerCamelの記法は可なのではないでしょうか? > ところで、private 関数的なネスト関数 Lispでは「高階関数」と呼んでいるのでこれに合わせると良いのでは?
- 641 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 21:59:29 ]
- >>640
>lowerCamelの記法は可なのではないでしょうか? やっぱり問題は関数名なんだよね >Lispでは「高階関数」と呼んでいるので 高階関数ってラムダ関数ちゅうか関数ポインタを受け取ったり 返したりって関数でしょ?fminsearch みたいな。 ネスト関数ってのはこっちね。 ttp://www.mathworks.com/access/helpdesk/help/techdoc/matlab_prog/f4-39683.html
- 642 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 11:40:35 ]
- 速く走らせるには工夫が要るけど
それほど大きなパッケージを作るわけでもなかったら、 書法は気にしなくてもいいのでは、って思う。 おれはそのレベルのユーザー。
- 643 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 02:02:31 ]
- z = (2*cos(x.)+1)(2*cos(y.)+1)
のグラフを書きたいのですが、上記の式で エラー: 一致していないか、予期せぬ括弧か大括弧です。 とでます。x,yの値は x=-3:0.1:3; y=-3:0.1:3; このように設定しております。 どなたか教えてください。
- 644 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 02:35:46 ]
- すみません。.の意味を取り違えてました。
- 645 名前:デフォルトの名無しさん [2008/08/07(木) 12:05:48 ]
- 質問があります
エクセルデータを読んでグラフにしたいのですが、ファイルネームが ABC-01.xls ABC-02.xls . . . ABC-09.xls と続くので、forを使って for I=1:9 data=xlsread('ABC-0'num2str(I)'.xls'); hold on plot(data) end としたいんです。 でも2行目にどうやっても忠告がでてしまいます。 文法うんぬん以前に考え方自体が間違ってるのでしょうか?
- 646 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 12:28:00 ]
- こんなシンプルなのに考え方もなんも無いって。単純に文法の問題。
「こう書けるだろう」と勘で書いたところがあるでしょ? そういうところが本当に正しいかどうかチェックしてけばいい。 help strings
- 647 名前:デフォルトの名無しさん [2008/08/07(木) 12:55:00 ]
- やっぱりそうですよね。
プログラム自体が始めてから数週間なのでグダグダです。 ありがとうございました
- 648 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 15:07:13 ]
- アイディアとしてはいい線いっているので、
あと少しだけ、知れば、サクサク作業できるようになると思う。
- 649 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 20:58:54 ]
- すいません、ぐぐっても情報が少なすぎたので質問させてください。
JMatLinkというJAVAとMatlabをつなげるツールをインストールしたいのですが、 www.held-mueller.de/JMatLink/install.html に書いてある通りにしても上手くいきません。 上のリンク先に書いてあるように, c:\WINDOWSにJMatLink.dll をコピーし, c:\JMatLinkでDos窓を開き、 %java TestGui と打ち込んだのですが, java.lang.NoClassDefFoundError というエラーが出てテストウインドウが開きません. OSはWindows XP, matlabのバージョンは7.3.0、 JAVAはjdk1.6.0_05を使用しています. どなたか、JMatLinkを使用している方がいましたら、 何が悪いのか教えて頂けないでしょうか。
- 650 名前:デフォルトの名無しさん [2008/08/07(木) 23:14:34 ]
- Matlab 2007bと、Viual Studio 2005の質問です。
既存のC++で作られたライブラリの関数をラップして (要は、mdlOutputs内で既存の関数をコールする)、 C++ MEX S-functionを作ろうとしています。 Visual C++ 2005上で作成/ビルドして、*.mexw32を作っているのですが、 simulink上でこれを実行しようとすると、 「無効なMEX-ファイル*****; 指定されたモジュールが見つかりません。」 というメッセージが出ます。 サイバネットが出している、C-MEX-S-ファンクションチュートリアル (www.cybernet.co.jp/matlab/library/library/file/T/TT034.pdf?id=TT034) の、「5.1 既存Cコードの利用」に、 1. C MEX S-Function 内で外部関数のextern 宣言を行う。 2. コンパイル時に外部ファイルもコンパイルする とあったので、1.のみ行って、なんとかビルドはできたのですが、まだ同じ エラーメッセージが出ます。 やはり2.もしないといけないようなのですが、VC++で外部関数も一緒にコンパイルする 方法が、わかりません。 上記のマニュアルに書いてある方法は、Matlabコマンドラインからの すごく単純な構成のもののコンパイルなので、今やろうとしている、 たくさんのヘッダファイルやらdllやらをリンクしているモジュールの コンパイルは、とても難しそうです。
- 651 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 23:25:33 ]
- >>647
>>646に書いてあるように help strings すれば 必要なことが書いてるよ。 MATLABはちょっとクセがあるから他の言語を知ってる人が いろいろひっかかるポイントがあると思うけど ヘルプはけっこうちゃんとしてると思うから どんどんヘルプ読んでいけばすぐ覚えるよ。
- 652 名前:デフォルトの名無しさん [2008/08/07(木) 23:34:38 ]
- >>616
ezplotとかだと関数じたいを引数として渡してるよね。 無名関数が可能なのかは知らない(たぶん出来ない)。
- 653 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 23:50:55 ]
- help function_handle
|

|