MATLAB 日本語版
http://www.cybernet.co.jp/matlab/
MATLAB??本家
http://www.mathworks.com/
Yahoo??MATLAB
http://dir.yahoo.co.jp/Science/Mathematics/Software/MATLAB/
MATLAB入門
http://feedback.mech.fukui-u.ac.jp/matlab/matlab0.htm
MATLAB??チュートリアル
http://www-isys.eei.metro-u.ac.jp/~sho/pub/ttmatlab/Index.html
前スレ
MATLABプログラミング 質問箱 その3
http://toro.2ch.net/test/read.cgi/tech/1254528108/
MATLABプログラミング 質問箱 その4
2012/09/03(月) 17:35:08.97
2012/09/05(水) 21:48:22.34
2012/09/05(水) 22:44:16.55
windowsなんかでparfor使った場合、マルチスレッドと言えばいいのかな?マルチプロセス?
タスクマネージャ見ると1人のworkerは1つのプロセスみたいだけど
タスクマネージャ見ると1人のworkerは1つのプロセスみたいだけど
4デフォルトの名無しさん
2012/09/06(木) 23:20:08.68 突然の質問失礼します。
if文を一つだけ抜けさせるbreak構文はどうしたらよいのでしょうか?
例えば、
for i=1:100
~
~
for j=1:1000
if ある条件
~
else
ここである条件で抜ける(Aへ)
~
~
end
end
@
end
A
if文を一つだけ抜けさせるbreak構文はどうしたらよいのでしょうか?
例えば、
for i=1:100
~
~
for j=1:1000
if ある条件
~
else
ここである条件で抜ける(Aへ)
~
~
end
end
@
end
A
5デフォルトの名無しさん
2012/09/06(木) 23:21:51.61 上記のように@へ抜けさせたいのですが、break構文を使うと、
Aにいってしまい、終了してしまいます。。
breakで@へいって、再度iの続きをさせたいのですが、どのようにやればよいのでしょうか?
なお、for jからendまで数千行あるため、ある条件で@へ出させることができれば、
非常に効率が良いです。
Aにいってしまい、終了してしまいます。。
breakで@へいって、再度iの続きをさせたいのですが、どのようにやればよいのでしょうか?
なお、for jからendまで数千行あるため、ある条件で@へ出させることができれば、
非常に効率が良いです。
2012/09/07(金) 00:01:10.96
>>5
breakなら@に行くのでは?
breakなら@に行くのでは?
2012/09/07(金) 01:50:59.55
Aに行ったんじゃなくてどっかにreturnがあってそこで終了してたとか
2012/09/07(金) 04:31:56.15
数千行。
ふう。
ふう。
9デフォルトの名無しさん
2012/09/07(金) 11:50:31.38 すみません、質問なんですが3次元の疎行列とスカラーの積を求めようとすると
以下のようなエラーが出てしまいます。
p = 18 x 24 x 4 doubleの疎行列
wx = 0.95
a = wx * p
Error using .*
ND-sparse arrays are not supported.
この計算を行うにはどのように書けば良いでしょうか?
以下のようなエラーが出てしまいます。
p = 18 x 24 x 4 doubleの疎行列
wx = 0.95
a = wx * p
Error using .*
ND-sparse arrays are not supported.
この計算を行うにはどのように書けば良いでしょうか?
2012/09/07(金) 14:42:47.54
2012/09/10(月) 00:45:07.98
>>9
答えかいてあんじゃん
答えかいてあんじゃん
2012/09/10(月) 00:48:16.58
>>4
つmatlab do while
つmatlab do while
2012/09/10(月) 01:40:47.23
どっかバグってんじゃね
その数千行を整理していけば直るのでは
その数千行を整理していけば直るのでは
2012/09/12(水) 11:33:03.40
質問です.
uigetdir関数を用いてディレクトリへのパスを変数dir_pathに入力する関数Aを作成しました.
再度関数Aを使用する際,uigetdir関数のオプションにある,デフォルトのディレクトリを前回指定したdir_pathに設定する仕様にしたいと考えています.
しかし,関数Aの冒頭でdir_pathを読み込んだ場合,初実行の場合”未定義の変数”としてエラーを吐き出してしまいます.
何か良い方法はありませんでしょうか?
uigetdir関数を用いてディレクトリへのパスを変数dir_pathに入力する関数Aを作成しました.
再度関数Aを使用する際,uigetdir関数のオプションにある,デフォルトのディレクトリを前回指定したdir_pathに設定する仕様にしたいと考えています.
しかし,関数Aの冒頭でdir_pathを読み込んだ場合,初実行の場合”未定義の変数”としてエラーを吐き出してしまいます.
何か良い方法はありませんでしょうか?
2012/09/19(水) 23:51:52.98
これってkeyなしで使えるんですか?
2012/09/20(木) 00:25:15.82
>>15
割れ乙
割れ乙
2012/09/20(木) 01:26:06.74
すまん、割れって?
いやオクで買っても仕方ないのかなと。
いやオクで買っても仕方ないのかなと。
2012/09/21(金) 03:33:05.50
macにおいてMATLABを使用している者です
latexを使用するためにいろいろ設定したところプログラムが実行はできるもののずっと回帰せずにこまっています
参考にしたのが
http://osksn2.hep.sci.osaka-u.ac.jp/~taku/osx/install_xtexgsgv.html
なんですがこのページの(0.下準備)のところでターミナルでecho $shellを実行したら
/bin/bash
と表示されたので説明に従いコマンドを実行したのが原因かとおもわれます
macについてあまり詳しくないのでどうすればいいのか調べているところですがわかる方いましたらご教授おねがいします
latexを使用するためにいろいろ設定したところプログラムが実行はできるもののずっと回帰せずにこまっています
参考にしたのが
http://osksn2.hep.sci.osaka-u.ac.jp/~taku/osx/install_xtexgsgv.html
なんですがこのページの(0.下準備)のところでターミナルでecho $shellを実行したら
/bin/bash
と表示されたので説明に従いコマンドを実行したのが原因かとおもわれます
macについてあまり詳しくないのでどうすればいいのか調べているところですがわかる方いましたらご教授おねがいします
2012/09/21(金) 03:55:03.39
スゲー素敵なタイトルのページだね
2012/09/21(金) 11:26:51.71
Mac板のTeXスレに行った方がいい。
2012/09/24(月) 11:42:33.60
>>14
mファイル実行なら自動的にdir_pathはワークスペース変数に保存されて
14が考えているようにできるんだが, 関数実行だとワークスペースに保存されないから
matlabのワークスペースに保存すれようにすればいい。保存場所は関数Aと同じ場所。
matファイルの保存方法はhelpを見てちょ。
mファイル実行なら自動的にdir_pathはワークスペース変数に保存されて
14が考えているようにできるんだが, 関数実行だとワークスペースに保存されないから
matlabのワークスペースに保存すれようにすればいい。保存場所は関数Aと同じ場所。
matファイルの保存方法はhelpを見てちょ。
2012/09/24(月) 11:47:24.51
2012/09/24(月) 12:00:23.39
24デフォルトの名無しさん
2012/09/24(月) 21:27:27.70 インタラクティブチュートリアルに登録するために必要事項を入力し、登録ボタンを押したのですが、
We're Sorry - an error has occurred
We apologize for the inconvenience. This error has been automatically reported to MathWorks.
We will fix this as soon as possible.
というエラーがかえってきてしまいます。
なぜでしょうか。
Chrome, Firefox, Safariそれぞれ試してみましたが、どれもダメでした。
OS X 10.7.3です。
We're Sorry - an error has occurred
We apologize for the inconvenience. This error has been automatically reported to MathWorks.
We will fix this as soon as possible.
というエラーがかえってきてしまいます。
なぜでしょうか。
Chrome, Firefox, Safariそれぞれ試してみましたが、どれもダメでした。
OS X 10.7.3です。
2012/09/24(月) 21:55:47.90
え、おれ行列要素の操作に二重for使ってしまうんだけど、どうするのが正しいんだろう
2012/09/25(火) 16:18:30.44
27デフォルトの名無しさん
2012/09/25(火) 16:22:50.95 あるディレクトリないのものでループさせるとき、
Bシェルでfor day in `ls dir`みたいに書くのをMATLABだとどういう風になるのか教えて下さい。
ちなみにあるディレクトリは日付のディレクトリです。
Bシェルでfor day in `ls dir`みたいに書くのをMATLABだとどういう風になるのか教えて下さい。
ちなみにあるディレクトリは日付のディレクトリです。
2012/09/25(火) 20:54:10.53
>>26
やってるのは画像処理だけど、たとえばxyの添字が共に奇数、共に偶数、それ以外、に分解するとか。
他には、各要素の上下の差と左右の差を求めて、差異が小さい方の平均値で置き換えるとか。
あともっと単純なのだと、各要素がある値より大きければその値で置き換えるってのもあったな。
適した機能があるか調べるよりループで書いちゃった方が早かったんで。
やってるのは画像処理だけど、たとえばxyの添字が共に奇数、共に偶数、それ以外、に分解するとか。
他には、各要素の上下の差と左右の差を求めて、差異が小さい方の平均値で置き換えるとか。
あともっと単純なのだと、各要素がある値より大きければその値で置き換えるってのもあったな。
適した機能があるか調べるよりループで書いちゃった方が早かったんで。
2012/09/26(水) 00:11:45.45
>>27
日付のアドレスのファイル名を取得したいということ?
files = dir('日付のアドレス');
filenames = {files.name};
for i = 1: length(filenames)
if strcmp(filenames{i},'.') || strcmp(filenames{i},'..')
filenames(i) = [];
end
end
filenames{:} %<-ファイル名表示
今, matlabないから動作確認はしとらん。
質問抽象的すぎ。
日付のアドレスのファイル名を取得したいということ?
files = dir('日付のアドレス');
filenames = {files.name};
for i = 1: length(filenames)
if strcmp(filenames{i},'.') || strcmp(filenames{i},'..')
filenames(i) = [];
end
end
filenames{:} %<-ファイル名表示
今, matlabないから動作確認はしとらん。
質問抽象的すぎ。
2012/09/26(水) 00:15:28.78
>>28
差とるんだったらdiffとかbsxfun使えよ。
差とるんだったらdiffとかbsxfun使えよ。
2012/09/26(水) 03:12:01.19
>>28
俺も画像処理だから多分こんな感じ
ひとつめ
I(1:2:end,1:2:end)=処理;
ふたつめ
conv2とfindつかったら?
みっつめ
I(I>0.5)=1;
画像処理でfor文は基本NG
てかmatlabはそういう使い方するもんじゃない
俺も画像処理だから多分こんな感じ
ひとつめ
I(1:2:end,1:2:end)=処理;
ふたつめ
conv2とfindつかったら?
みっつめ
I(I>0.5)=1;
画像処理でfor文は基本NG
てかmatlabはそういう使い方するもんじゃない
32デフォルトの名無しさん
2012/09/26(水) 08:18:15.55 固定のフィルタではconv2を使っていたけど、条件によって処理が別れる場合
どうすればいいかわかんなかった。findでできるんであれば調べてみるよ。
3番目はそのまんまの機能があったんだな。
どうすればいいかわかんなかった。findでできるんであれば調べてみるよ。
3番目はそのまんまの機能があったんだな。
33デフォルトの名無しさん
2012/09/26(水) 16:24:21.99 25です。29さん、ありがとうございます。
抽象的ですいませんでした。
具体的な質問は、DATEというディレクトリ内には120923、120924、
120925などというディレクトリがあります。
Bシェルだとfor day in 120923 120924 120925や、
for day in `ls $DATE`などとループを回していたのですが、MATLABでは
どのようなループになるか教えて下さい。
お願いします。
抽象的ですいませんでした。
具体的な質問は、DATEというディレクトリ内には120923、120924、
120925などというディレクトリがあります。
Bシェルだとfor day in 120923 120924 120925や、
for day in `ls $DATE`などとループを回していたのですが、MATLABでは
どのようなループになるか教えて下さい。
お願いします。
2012/09/26(水) 20:41:43.37
>>33
FOLDERZ = dir('DATE');
FOLNAMES = {FOLDERZ.name};
filenames = FOLNAMES(3:end);%必ず相対パス'.'と'..'が最初に来ると仮定すると
コマンドウィンドウ
>>filenames(:)%<-表示
ans =
'120923'
'120924'
.
.
.
>>filenames{:}%<-表示
ans =
120923
ans=
120924
.
.
.
てな感じ
>>29の訂正
FOLDERZ = dir('DATE');
FOLNAMES = {FOLDERZ.name};
FOLNUM = length(FOLNAMES);
FOLNAMENEW =[];
for i = 1:FOLNUM
if ~strcmp(FOLNAMES{i},'.') && ~strcmp(FOLNAMES{i},'..')
FOLNAMENEW = [ FOLNAMENEW ,{FOLNAMES{i}}];%あまり書き方よくない
end
end
FOLDERZ = dir('DATE');
FOLNAMES = {FOLDERZ.name};
filenames = FOLNAMES(3:end);%必ず相対パス'.'と'..'が最初に来ると仮定すると
コマンドウィンドウ
>>filenames(:)%<-表示
ans =
'120923'
'120924'
.
.
.
>>filenames{:}%<-表示
ans =
120923
ans=
120924
.
.
.
てな感じ
>>29の訂正
FOLDERZ = dir('DATE');
FOLNAMES = {FOLDERZ.name};
FOLNUM = length(FOLNAMES);
FOLNAMENEW =[];
for i = 1:FOLNUM
if ~strcmp(FOLNAMES{i},'.') && ~strcmp(FOLNAMES{i},'..')
FOLNAMENEW = [ FOLNAMENEW ,{FOLNAMES{i}}];%あまり書き方よくない
end
end
35デフォルトの名無しさん
2012/09/28(金) 17:17:35.05 34さん
ありがとうございます。
なかなかうまくいきませんが、
もう少しあがいてみます。
ありがとうございます。
なかなかうまくいきませんが、
もう少しあがいてみます。
2012/09/29(土) 21:50:49.77
TV法ていろんなやり方あるけど導出をやってる論文で日本語のものありますか?
典型的なものから応用してるのまでどれでもいいです
典型的なものから応用してるのまでどれでもいいです
2012/09/29(土) 21:51:28.79
2012/10/02(火) 22:42:54.28
現在 windows7 64bit で Matlab 2007b を使用しています。
mex -setup コマンドを試したところ、Noneしか出ずにコンパイラを選択することができません。
C++コンパイラを使用したいのですが、この場合何をインストールすればよいのでしょうか。
現在visual C++ 2008 express edition と 2010 express edition はインストール済みです。
mex -setup コマンドを試したところ、Noneしか出ずにコンパイラを選択することができません。
C++コンパイラを使用したいのですが、この場合何をインストールすればよいのでしょうか。
現在visual C++ 2008 express edition と 2010 express edition はインストール済みです。
2012/10/03(水) 10:05:45.66
>>38
ググったらいくらでもでてくるだろ
ググったらいくらでもでてくるだろ
40デフォルトの名無しさん
2012/10/04(木) 15:48:19.23 どなたかOS:windows7 64bitを使用していてgetframeで問題が出てる人いませんか?
for文を回す中でgetframeで逐次ウィンドウをキャプチャしていくコードを組んでいるのですが
なぜか最初の1フレーム目のみを延々とループ回数分だけキャプチャしてしまいます
windowsXP32bitではこんなエラー出なかったのですが・・・
どなたか心当たりのある方いらっしゃいましたらご教授いただければと思います
よろしくお願いします
for文を回す中でgetframeで逐次ウィンドウをキャプチャしていくコードを組んでいるのですが
なぜか最初の1フレーム目のみを延々とループ回数分だけキャプチャしてしまいます
windowsXP32bitではこんなエラー出なかったのですが・・・
どなたか心当たりのある方いらっしゃいましたらご教授いただければと思います
よろしくお願いします
41デフォルトの名無しさん
2012/10/04(木) 16:19:20.95 windows7で2012aを使っております。
mathworks製のツールボックスで使われているクラスにメソッドを追加したいのですが、
自分以外のユーザーに影響を与えないようにする方法はありますでしょうか?
具体的には、symbolicツールボックスのsymクラスにないmin()などを追加したい場合などです。
\toolbox\symbolic\symbolic\@sym フォルダに書かず、
C:\Users\ユーザー名 以下に書いたりできるのでしょうか?
mathworks製のツールボックスで使われているクラスにメソッドを追加したいのですが、
自分以外のユーザーに影響を与えないようにする方法はありますでしょうか?
具体的には、symbolicツールボックスのsymクラスにないmin()などを追加したい場合などです。
\toolbox\symbolic\symbolic\@sym フォルダに書かず、
C:\Users\ユーザー名 以下に書いたりできるのでしょうか?
4241
2012/10/04(木) 19:46:19.28 symをオレオレクラスに継承するしかないでしょうか?
4340
2012/10/09(火) 11:01:54.59 40です
解決はできていませんが原因は分かったので、一助になればと思いこちらに報告します
どうもgetframeで取得したい軸または図に
set(gca,'Facealpha',0.5)
などと透過率を設定してやると>>40の症状が発生するようです
どうぞご注意を
解決はできていませんが原因は分かったので、一助になればと思いこちらに報告します
どうもgetframeで取得したい軸または図に
set(gca,'Facealpha',0.5)
などと透過率を設定してやると>>40の症状が発生するようです
どうぞご注意を
44デフォルトの名無しさん
2012/10/10(水) 01:14:12.26 >> 40
Renderer変えると治るかも
OpenGLでダメだったことがあって、zbuffurとかに変えたら治った気がする
set(gcf,'Renderer','zbuffer')
みたいな感じだったと思う
Renderer変えると治るかも
OpenGLでダメだったことがあって、zbuffurとかに変えたら治った気がする
set(gcf,'Renderer','zbuffer')
みたいな感じだったと思う
2012/10/11(木) 06:39:47.61
>> 43
そもそもaxesプロパティでFacealpha設定できねーし。
patch かsurf の軸ハンドルを設定したんだろ。
try catchで囲ってエラー出なかっただけじゃね。
そもそもaxesプロパティでFacealpha設定できねーし。
patch かsurf の軸ハンドルを設定したんだろ。
try catchで囲ってエラー出なかっただけじゃね。
2012/10/13(土) 18:06:44.67
y=1/det(diag[exp(x),exp(2x),exp(3x)]^2)
(diagは対角行列,detは行列式)
(xは変数で1から10など好きに変化させる。)
このような物を計算し、x,y平面でグラフを書きたいのだが、
(本当はもう少し複雑な式ですが、簡易化してる。)
x=1:1:10
A=[exp(x) 0 0; 0 exp(2*x) 0; 0 0 exp(3*x)]
z=det(A)
としてもエラーが出てしまうんだよ
配列型のソフトだから上手くいかないのはあとでわかったのだけど、
上手く行列内に関数を入れることはできるのでしょうか?
できるのであればその定義の仕方を教えろください。
(diagは対角行列,detは行列式)
(xは変数で1から10など好きに変化させる。)
このような物を計算し、x,y平面でグラフを書きたいのだが、
(本当はもう少し複雑な式ですが、簡易化してる。)
x=1:1:10
A=[exp(x) 0 0; 0 exp(2*x) 0; 0 0 exp(3*x)]
z=det(A)
としてもエラーが出てしまうんだよ
配列型のソフトだから上手くいかないのはあとでわかったのだけど、
上手く行列内に関数を入れることはできるのでしょうか?
できるのであればその定義の仕方を教えろください。
レスを投稿する
ニュース
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★5 [BFU★]
- 「母の部屋に安倍氏が表紙の機関誌が」「(安倍氏が被害者なのは)不思議に思いませんでした」山上被告の妹が証言 [おっさん友の会★]
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 「町中華」の“息切れ倒産”が増加 ブームにも支えられ職人技で踏ん張ってきたが… 大手チェーンは値上げでも絶好調 [ぐれ★]
- 【高市売り】円安、止まらず!凄い勢いで暴落中。157円へ [219241683]
- 【悲報】ヤフコメ民「中国が水産物を輸入禁止にするなら、日本国民向けに安く販売すればいい。中国依存から脱するべき」 [153736977]
- >>3と>>5のワードを使ってai生成する
- 中国人「高市早苗が首相になってからの日本での中国人観光客の1日がこれらしいw」中国でバカウケ [165981677]
- ガバガバなんだよ
- 1,000万円のBMWに擦ってしまった札幌のガキ、捕らえられてガチで詰む [329329848]
