タグ付けされた質問 「matlab」

MATLABは、MathWorksによって開発された数値計算と可視化のための高水準言語および対話型プログラミング環境です。[matlab]タグと[octave]タグの両方を使用しないでください。ただし、両者の類似点または相違点について明確に質問する場合を除きます。このタグを使用するときは、使用しているMATLABリリース(例:R2017a)について言及してください。

8
Pythonで.matファイルを読み取る
PythonでバイナリのMATLAB .matファイルを読み取ることはできますか? SciPyが.matファイルの読み取りをサポートしていると主張しているのを見てきましたが、それはうまくいきませんでした。SciPyバージョン0.7.0をインストールしましたが、loadmat()メソッドが見つかりません。

9
最初にローカル変数に割り当てずに、関数によって返されたMATLAB配列にインデックスを付けるにはどうすればよいですか?
たとえば、中央の値をから読み取りたい場合magic(5)は、次のようにします。 M = magic(5); value = M(3,3); 取得するvalue == 13。次のいずれかのようなことができるようになりたいです。 value = magic(5)(3,3); value = (magic(5))(3,3); 中間変数を省略します。ただし、MATLABはのUnbalanced or unexpected parenthesis or bracket前の最初の括弧について文句を言い3ます。 最初に変数に割り当てることなく、配列/行列から値を読み取ることはできますか?

9
OctaveとMATLABの違いは?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 この質問を改善する 私はPython、Ruby、およびGNU OctaveとMatlabのどちらを学ぶかを決定しようとしているCを知っているプログラマーです。それらには多くの共通点があることは知っていますが、構文がどの程度類似しているか、データ構造がどれほど類似しているかは、はっきりしません。誰もが彼らが「似ている」と言っていますが、実際にどれほど似ているかはだれも言っていません。上記のリンクは、構文的に類似または同一のいくつかの例を示していますが、これは言語全体に当てはまりますか? 私は、おそらくいくつかの画像分析ライブラリを使用して、より科学的な計算を行うために一般的に言語を学習しようとしています。他にもプログラミング可能な言語はたくさんあることは知っていますが、アドバイザーは、MATLABまたはOctaveを知ることは科学において非常に重要であると言っています。 さらに、Matlabはコストに見合う価値がありますか?お金はあまりありませんが、図書館などで重要な違いがあれば、きっとお金が見つかるはずです。
272 matlab  octave 

10
画像を与えられた迷路を表現して解決する
画像を与えられた迷路を表現して解決する最良の方法は何ですか? (上記のように)JPEG画像が与えられた場合、それを読み取ってデータ構造に解析し、迷路を解決する最良の方法は何ですか?私の最初の本能は、ピクセル単位で画像を読み取って、ブール値のリスト(配列)に保存することです。True白いピクセルの場合と、白いピクセルFalse以外の場合(色は破棄できます)。この方法の問題は、画像が「ピクセル完璧」ではない可能性があることです。つまり、壁のどこかに白いピクセルがあると、意図しないパスが作成される可能性があるということです。 別の方法(少し考えてから来た)は、画像をSVGファイルに変換する方法です。これは、キャンバスに描かれたパスのリストです。このようにして、パスを同じ種類のリスト(ブール値)に読み込むことができます。True、パスまたは壁をFalse示し、移動可能なスペースを示します。この方法の問題は、変換が100%正確でなく、すべての壁を完全に接続していないためにギャップが生じている場合に発生します。 また、SVGへの変換の問題は、線が「完全に」まっすぐではないことです。これにより、パスは3次ベジェ曲線になります。整数でインデックスが付けられたブール値のリスト(配列)を使用すると、曲線は簡単に転送されず、曲線上に線を引くすべてのポイントを計算する必要がありますが、リストのインデックスと正確に一致しません。 これらの方法の1つは機能する可能性がありますが(おそらく機能しないかもしれません)、そのような大きな画像を考えると途方もなく非効率的であり、より良い方法が存在すると思います。これはどのようにして(最も効率的かつ/または最も単純な方法で)行われますか?最善の方法さえありますか? 次に、迷路の解決が始まります。最初の2つの方法のいずれかを使用すると、基本的にマトリックスになります。この答えによると、迷路を表す良い方法は木を使うことであり、それを解決する良い方法はA *アルゴリズムを使うことです。画像から木をどのように作成しますか?何か案は? TL; DR 解析する最良の方法?どのデータ構造に?上記の構造は解決にどのように役立ちますか? 更新 私はnumpy@Thomasが推奨するように、@ MikhailがPythonで記述したものをを使用して実装することを試みました。アルゴリズムは正しいと思いますが、期待どおりに動作していません。(以下のコード。)PNGライブラリはPyPNGです。 import png, numpy, Queue, operator, itertools def is_white(coord, image): """ Returns whether (x, y) is approx. a white pixel.""" a = True for i in xrange(3): if not a: break a = image[coord[1]][coord[0] * 3 + i] …

4
MATLABのxkcdスタイルのグラフ
だから、才能ある人々が作る方法を考え出したXKCDスタイルグラフMathematicaでの、ラテックス中に、PythonでかつRで既に。 上記のようなプロットを作成するには、MATLABをどのように使用できますか? 私が試したこと 波状の線を作成しましたが、波状の軸を取得できませんでした。私が考えた唯一の解決策は、波線で上書きすることでしたが、実際の軸を変更できるようにしたいと考えています。また、私はHumorフォントを機能させることができませんでした。使用されたコードビットは次のとおりです。 annotation('textbox',[left+left/8 top+0.65*top 0.05525 0.065],... 'String',{'EMBARRASSMENT'},... 'FontSize',24,... 'FontName','Humor',... 'FitBoxToText','off',... 'LineStyle','none'); 波状の線について、小さなランダムノイズを追加して平滑化する実験をしました。 smooth(0.05*randn(size(x)),10) でも、交差するときに白い背景を周囲に出せない...
224 matlab  plot 

9
MATLABでファイルごとに複数の関数を定義し、そのファイルの外部からそれらにアクセスすることは可能ですか?
私がEEで学士号を取得するために勉強していたとき、MATLABでは、たとえそれが1行であったとしても、MATLABでは各関数を独自のファイルで定義する必要がありました。 現在、大学院の学位を取得しています。MATLABでプロジェクトを作成する必要があります。これは、MATLABの新しいバージョンの要件ですか? ファイルに複数の関数を含めることができる場合、これに制限はありますか?たとえば、ファイル内のすべての関数にファイルの外部からアクセスできますか、それともファイルと同じ名前の関数のみにアクセスできますか? 注:私は、MATLABリリースR2007bを使用しています。

12
なぜ、MATLABは行列乗算でこれほど高速なのですか?
CUDA、C ++、C#、Javaでベンチマークを作成し、検証とマトリックス生成にMATLABを使用しています。MATLABで行列乗算を実行する2048x2048と、さらに大きな行列がほぼ瞬時に乗算されます。 1024x1024 2048x2048 4096x4096 --------- --------- --------- CUDA C (ms) 43.11 391.05 3407.99 C++ (ms) 6137.10 64369.29 551390.93 C# (ms) 10509.00 300684.00 2527250.00 Java (ms) 9149.90 92562.28 838357.94 MATLAB (ms) 75.01 423.10 3133.90 CUDAだけが競争力がありますが、少なくともC ++はやや近づき、60倍遅くなるとは思いませんでした。また、C#の結果についてどう考えればよいかわかりません。アルゴリズムはC ++およびJavaとまったく同じですが、2048からの大きなジャンプがあり1024ます。 MATLABは行列乗算をどのように高速に実行しますか? C ++コード: float temp = 0; timer.start(); for(int j = 0; j …



2
MATLABコードをPythonに変換するツール[終了]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善したいですか?Stack Overflowのトピックとなるように質問を更新します。 4年前休業。 この質問を改善する 私のMS論文から多数のMATLABコードがあり、これを(numpy / scipyとmatplotlibを使用して)Pythonに変換し、オープンソースとして配布したいと考えています。私は、MATLABとPythonの科学ライブラリの類似性を知っており、それらを手動で変換するのは2週間に過ぎません(しばらくの間毎日それに向けて作業することを前提としています)。変換を実行できるツールがすでにあるかどうか疑問に思っていました。

4
MATLAB OOPは遅いですか、それとも何か問題がありますか?
私が試してるMATLAB OOP私はC ++のロガークラスを模倣し始めると、私はのようなものを行うことができることは素晴らしいことだろうと考え、Stringクラスにすべての私の文字列ヘルパー関数を入れているa + b、a == b、a.find( b )代わりにstrcat( a b )、strcmp( a, b )、strfind( a, b )などの最初の要素を取得します。 問題:減速 私は上記のものを使用して、急激な減速にすぐに気づきました。私はそれを間違っていますか? 私のテストケース これは私が文字列に対して行った簡単なテストです。基本的には文字列を追加し、追加された部分をもう一度削除します。 注:実際のコードでは、このようなStringクラスを実際に記述しないでください。Matlabにはネイティブのstring配列型があり、代わりにそれを使用する必要があります。 classdef String < handle .... properties stringobj = ''; end function o = plus( o, b ) o.stringobj = [ o.stringobj b ]; end function n = …

9
Matlabで変数としてiとjを使用する
iおよびjは非常に人気のある変数名です(たとえば、この質問とこれを参照)。 たとえば、ループでは: for i=1:10, % do something... end 行列へのインデックスとして: mat( i, j ) = 4; Matlabで変数名として使用してはいけないのはなぜですか?

11
RができないことをMATLABは何ができますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。事実、参考文献、専門知識によって回答が裏付けられることを期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問が改善され、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてください。 8年前に閉鎖。 ロックされています。質問はトピックから外れていますが、歴史的に重要であるため、この質問とその回答はロックされています。現在、新しい回答や相互作用を受け入れていません。 多くの場合、MATLABのライセンスの高さについて不満を言う人がいます。次に、なぜOctaveやRを使用しないのか、疑問に思います。しかし、後者は正しいですか?Rを使用してMATLABを置き換えることはできますか?

5
Matlabでは、いつbsxfunを使用するのが最適ですか?
私の質問: SOに関するMatlabの質問に対する多くの良い回答がこの関数を頻繁に使用していることに気付きましたbsxfun。どうして? 動機:のMatlabドキュメントでbsxfunは、次の例が提供されています。 A = magic(5); A = bsxfun(@minus, A, mean(A)) もちろん、次のコマンドを使用して同じ操作を実行できます。 A = A - (ones(size(A, 1), 1) * mean(A)); そして実際、簡単な速度テストは、2番目の方法が約20%速いことを示しています。では、なぜ最初の方法を使用するのでしょうか。使用bsxfunが「手動」アプローチよりもはるかに高速になる状況がいくつかあると思います。私はそのような状況の例とそれがなぜより速いのかについての説明を見ることに本当に興味があります。 また、この質問の最後の要素の1つである、Matlabのドキュメントのbsxfun「C = bsxfun(fun、A、B)」は、関数ハンドルfunで指定された要素ごとのバイナリ演算を配列AおよびBにシングルトンで適用します。拡張が有効です。」「シングルトン拡張が有効になっている」とはどういう意味ですか?
135 arrays  matlab  bsxfun 

16
Matlabで関数パラメーターのデフォルト値を設定するにはどうすればよいですか?
Matlabでデフォルトの引数を持つことは可能ですか?たとえば、ここ: function wave(a, b, n, k, T, f, flag, fTrue=inline('0')) 私は本当の解決策を波動関数のオプションの引数にしたいと思います。可能であれば、誰でもこれを行う適切な方法を示すことができますか?現在、私は私が上に投稿したものを試していると私は得ます: ??? Error: File: wave.m Line: 1 Column: 37 The expression to the left of the equals sign is not a valid target for an assignment.

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.