上手く分類出来ない質問は、今のところ「基本」に入れてあります

Contents


matlabって何ですか?

The MathWorks, Inc.が開発した科学技術計算ソフトウェアです.日本国内では,サイバネットシステム株式会社が販売しています.MATLAB は,アルゴリズム開発,データの可視化,数値計算を行うためのハイレベル?なテクニカルコンピューティング言語および対話型環境であり,信号・画像処理,通信システム設計,制御系設計,実験計測,金融工学,生命工学などの様々な分野で利用できます.また,Toolbox(目的別のMATLAB関数群)を使用することにより,容易にMATLAB環境を拡張し,対象分野に特化した問題を解決することができます.ただ、同じようなソフトとして、Mathematicaなどがあり、matlabなんて・・・・という人もいます。
(以下、名無しにかわりましてVIPがお送りします) 2007-05-29 12:55:24

MathematicaとMATLABでは棲み分けがちがうんじゃね?Mathematicaは数式処理、MATLABは大量のデータを元にゴリゴリ計算ってイメージ。MATLABは実験データの解析や工学的なシミュレーションに威力を発揮するのでは。
(まーぼ) 2009-01-07 12:50:51

起動時に指定したディレクトリに自動的に移動する方法はありますか?また、前回のディレクトリを覚えていて自動的に移動する方法はないでしょうか?

■R2006b以前の場合
1) MATLABのショートカットアイコンを右クリックします。
2) コンテキストメニューで[プロパティ]を選択します。
3) プロパティのダイアログの中で[ショートカット]タブを選択します。
4) [作業フォルダ]の項目で指定したいフォルダを選択します。
■R2007aの場合
1) MATLABのショートカットアイコンを右クリックします。
2) プルダウンメニューで[プロパティ]を選択します。
3) プロパティのダイアログの中で[ショートカット]タブを選択します。
4) [リンク先]の項目で、-sd の後に、作業フォルダを指定します。
と、
http://www.cybernet.co.jp/matlab/support/techkwdb/search_view.php?id=1607
のページに書いてました
(以下、名無しにかわりましてVIPがお送りします) 2007-05-29 18:22:28

STARTUPSAV.m、finishsav.mというファイルがmatlabのtoolbox¥localの中にあります。それを改変すれば、出来るそうです。どっかのホームページに書いてたのをパクッタのですが

startup.m
if exist('/任意のディレクトリ/mycd.mat')
load /任意のディレクトリ/mycd.mat;
eval(mycd);
end
clear;

finish.m
mycd = sprintf('cd %s', pwd);
save('/任意のディレクトリ/mycd.mat', 'mycd');
(以下、名無しにかわりましてVIPがお送りします) 2007-05-29 18:33:35


matlab2008aを利用しているのですが、メニューの言語を日本語から英語に変えたいのですが
http://www.cybernet.co.jp/matlab/support/techkwdb/search_view.php?id=1153
上記のURLで書いてあることをしても英語に変わりません。ほかに方法はありませんでしょうか?

OSの言語設定は日本語になっていますか?matlabは日本語バージョンでしょうか?
(まーぼ) 2008-08-01 11:45:11
まーぼさん
とりあえずOSの設定言語を英語にしてみたらmatlabの方も英語になりました。
Windows XP SP2
matlabは海外の大学のHAP Licenseって言うやつで言語は英語のはずなんですが日本語XPに入れたため日本語になってしまいました。が、とりあえず英語でつかえているので問題は解決しました。ほかに何か方法があるんでしたらよろしくお願いします。

演算子.の意味がわかりません。^3は、同じ行列を3回、掛け合わせることかなあ、と思ったりします。また、Bもwも行列なのですが、B = [B w];は行列をつないでいくと言う意味なのでしょうか?

^3は思ってらっしゃる通り、3乗です。
.は行列の対応要素同士の演算です。
一方、.がなければ行列の演算です。
A=[0 1; 2 3]
A.^3
A^3
を見比べてみてください。

B=[B w];
は行列をつないでいくという意味であってます。
どのようにかは、
B=[0;1]
w=[1;2]
B=[B w]
B=[B w]
・・・
と実行してみてください。
(excel使い) 2007-09-13 23:27:45


コマンドラインでヘルプをみるといつも画面に収まらずスクロールしていってしまいます。一画面ずつ表示するようなページャ機能ってないのでしょうか。

コマンドラインで
more on
と入力してから
help ほにゃらら
とすれば、表示が途中で止まります。その状態でreturnキーを押せば次の行に、スペースキーを押せば次のページにいきます。
more on
にするとすべての表示が途中で止まるのでmfileを実行するときなども途中で止まってしまいます。必要なくなったら
more off
で表示をとめるのをやめてください。詳しくは help more まで
(morimo) 2006-11-22 12:53:17


データを読み込むときに、Load以外でおすすめはありますか?


*.matを読み込むのでしたら、load以外はお勧めできません。ほかのファイル形式でしたら、textreadやfreadなどいろいろあります。
help iofun
と打ってみてください。
(morimo) 2006-11-30 09:44:24


'"2008-09-23 02:30:00.1"' というフォーマットで書かれたストリングのセルから時間データを抽出するよいアイディアをどなたかご存知でないでしょうか?もしも、''がなく、"2008-09-23 02:30:00.1" というフォーマットならば、sscanf(%d-%d-%d %d:%d:%d); によって時間データを抽出できるのですが。。

sscanf('"2008-09-23 02:30:00.1"', '\"%d-%d-%d %d:%d:%d\"')
でいかがでしょう
ダブルクォーテーションは\でエスケープしてやると読み込めそうです
(まーぼ) 2008-11-06 17:49:59

もっと単純なこんな方法でも読み込めます
a = '"2008-09-23 02:30:00.1"';
a = a(2:end-1);
sscanf(a, '%d-%d-%d %d:%d:%d');
最後の00.1という文字列を%dで読み込もうとしているのがちょっと不安ですが、%fでなくても大丈夫なのでしょうか?
(まーぼ) 2008-11-06 18:10:24


バンドパスフィルタの作り方を教えてください。

fftしていらないとこ0にしてifftしたらいいんじゃね?
(名無しさん) 2007-06-10 15:01:42

基本的に、フィルタリングしたいものがあるときに、そのデータに対してfft()とすれば、フーリエ変換されます。そして、次にフーリエ変換したものの中でいらない情報を0にします。そのうえで、それをifft()すれば出来ます。ただし、画像のような2次元情報の場合にはfft2を使います。その場合ifftはifft2になります。あと、matlabのfftは高速フーリエ変換なので、それで都合が悪い場合には自分で書いてください。もしくはMatlab File Exchangeで探せばあるかもしれません。
((゚Д゚)ハンパネー!!!) 2007-06-10 20:51:36


下記のような構造体の.matファイルがあります。
X: [1x1 struct]
Y: [1x166 struct]
Description: [1x1 struct]
RTProgram: [1x1 struct]
Capture: [1x1 struct]
X軸は時間、Y軸は時間と共に変化する166個の
データです。
このY軸を分解したセル配列に変換するには
どうしたらよいのでしょうか?

struct2cell
のヘルプを見てみてください。
(mnk) 2007-11-15 17:05:17


近似曲線をFIT関数を用いて求めたところ、CFITオブジェクトができました。この中身にある数値(近似曲線の係数)を読み込みたいのですがどのようにしたら読み込めるのでしょうか。

fit関数がわかりません。なんでしょう。
まあとにかく、Matlabオブジェクトであれば、
Aがcfitオブジェクトとすると、
x=get(A,'PropertyName'); %'PropertyName'の部分には適切なプロパティ名を入れてください。
で取り出せるはずです。
'PropertyName'の部分がわからなければ、
get(A)
で一覧が出てくるはずです。
(excel使い) 2007-09-13 23:28:53


matlabで乱数を複数回発生させるタスクを持つシミュレーションを組んでいます。C言語ですと複数乱数を発生されると偏りがあるそうでが、matlabのrand関数は、多次元均等分布するのでしょうか。サイバネット社のホームページでは、rand関数は数学的に多次元均等分布が証明されているメルセンヌ・ツイスタをサポートしているとありますが、これは、rand関数がメルセンヌ・ツイスタと同程度の精度が期待できるということでしょうか

自信は全くありませんが、基本的には同程度の
精度が期待できるということではないでしょうか?

もし不安があるのならmatlab exchabgeに
Mersenne twisterのプログラムが置いてあるので
使ってみては、どうでしょうか。
そのプログラムにはmex fileが含まれてますが、
それは松本さんのプログラムを元にしているらしいです。
(matlabの神の執事) 2008-01-10 18:30:22


何か神業を一つ教えてください。

申し訳ないですが、神業はわかりません。もっと使い込めば、いずれは到達できるかもしれませんが・・・。
(morimo) 2006-11-27 14:32:35


名前:
コメント:

すべてのコメントを見る