トップページ⇒tech
990コメント352KB

MATLABプログラミング 質問箱 その3

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2009/10/03(土) 09:01:48
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プログラミング 質問箱 その2
http://pc11.2ch.net/test/read.cgi/tech/1163125702/
0685デフォルトの名無しさん2011/12/10(土) 19:22:54.40
>>684
多分,何かのミスじゃない?
そのコードで通ると思うけど

ところで,下の行列があるとき,
0.8147 0.6324 0.9575 0.9572
0.9058 0.0975 0.9649 0.4854
0.1270 0.2785 0.1576 0.8003
0.9134 0.5469 0.9706 0.1419
各行の最大要素が格納されてる列番号を調べるにはどうすれば良い?
上だと,
1行目:3列目
2行目:3行目
3行目:4列目
2行目:3行目
って感じで・・・
0686デフォルトの名無しさん2011/12/11(日) 08:04:55.58
>>685
doc max
0687デフォルトの名無しさん2011/12/11(日) 13:35:23.22
>>686
ありがとう!
0688デフォルトの名無しさん2011/12/11(日) 15:25:25.98
surfとかwaterfallで表示された結果はについてなんだけど,
matlabのウィンドウならzoomとか回転とか出きると思うんだけど,
当たり前だけど画像形式で保存するとそういう操作はできなくなってしまう

保存後,保存先でもzoomとか回転とか出来るようにするには
どういう保存の仕方がいいのだろうか・・・?
0689デフォルトの名無しさん2011/12/11(日) 18:18:22.74
>>688
.fig で保存するのではダメなの?
0690デフォルトの名無しさん2011/12/11(日) 23:38:54.45
あ
0691デフォルトの名無しさん2011/12/12(月) 23:57:59.22
symbolic mathつかってるんだが、一部のパラメータをスライドバーで変えながらプロットを見るのってできないかね?
例えば a*x^2+b*y^2-1=0 のaとbが可変、みたいな
0692デフォルトの名無しさん2011/12/13(火) 00:15:03.97
シミュリンクじゃ、駄目なのか?
0693デフォルトの名無しさん2011/12/13(火) 23:32:45.95
関数によって返された行列の一部分を使いたいのですが、
これは一度変数に入れなければならないのでしょうか。

例としては、
hoge=eye(10);
hoge=hoge(:, 8:10);

を一度hogeに入れずに一部分を抽出したいということです。
0694デフォルトの名無しさん2011/12/13(火) 23:42:09.93
>>692
simulinkもってねー
0695デフォルトの名無しさん2011/12/14(水) 22:31:46.80
>>693
arrayfunやmat2cell/cellfunを駆使すれば出来る場合があるが、
Matlabにあまりそういうワンライナーを推奨していない気がする
0696デフォルトの名無しさん2011/12/15(木) 22:33:17.71
Matlabの使い方をマンツーマンで教えてくれるような先生や、
バイトみたいに個人レッスンをしてくれる人を探すことはできますか?
初心者で時間もないのに、Matlabを使いこなさなければいけないようになりました。
そういう人やサービスあるなら東京近辺がいいです。。
0697デフォルトの名無しさん2011/12/16(金) 00:45:14.73
mathworksが定期的にセミナーやってる
0698デフォルトの名無しさん2011/12/16(金) 00:46:55.67
それじゃダメなんだろ
割れてるからなw
0699デフォルトの名無しさん2011/12/16(金) 01:17:34.36
>>693
function part(array, varargin)
% Example: part(eye(10), ':, 8:10')

eval(['array(', [varargin{:}], ')']);

勧めないが
0700デフォルトの名無しさん2011/12/17(土) 06:24:18.19
>>696
ところでプログラミングが初めての後輩に入門書を買ってもらおうと思ったら良い和書が無かった。
0701デフォルトの名無しさん2011/12/27(火) 12:45:46.62
ループでJITが動いてるかどうか確認する方法ってあります?
0702デフォルトの名無しさん2011/12/30(金) 15:40:02.83
MATLABで作成した.matファイルがoctaveで読み込めないのですがどうしてでしょうか?
.matファイルの関連付けはAccessになっています.
0703デフォルトの名無しさん2011/12/31(土) 10:07:22.32
>>702
1)拡張子を .m にする
2)octave から
souce hoge.m
とするか、hoge.mがカレントディレクトリにあれば単に
hoge
とする。
0704デフォルトの名無しさん2012/01/01(日) 09:58:13.10
matファイルのバージョンを確認したら?
0705デフォルトの名無しさん2012/01/04(水) 21:59:53.04
>>702
アスキーで保存するのがよろしい
0706デフォルトの名無しさん2012/01/04(水) 22:00:28.52
>>700
http://www.amazon.co.jp/MATLAB%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E5%85%A5%E9%96%80-%E4%B8%8A%E5%9D%82-%E5%90%89%E5%89%87/dp/4434155911
0707デフォルトの名無しさん2012/01/07(土) 20:18:23.29
Six-hump camel back functionのグラフが描けません。
以下のサイトのようなグラフが得られるはずですが、得られるグラフが違ったものに
なってしまいます。
http://www.geatbx.com/docu/fcnindex-01.html#P247_13252
私が書いたコードは以下の通りです。

[x,y] = meshgrid(-2:0.1:2,-2:0.1:2);
z = (4 - 2.1 * (x.^2) + 1/3*(x.^4))*(x.^2)+x.*y+(-4+4*(y.^2)).*(y.^2);
figure(1);
surf(x,y,z)
figure(2);
contour(x,y,z,32)
どなたか原因をご教授願えれば幸いです。
0708デフォルトの名無しさん2012/01/07(土) 23:12:10.28
Win7でMatlab2011aを使用しています。

Matlabに出力として特定のキーを押したのと同じ動作をさせたいのですがどうすればいいでしょうか。

実験で使うのですが、Matlabは非アクティブ状態で回しておき、
もう一つ他のプログラムをキー入力を受け付けられるようにアクティブ状態で待機させておこうと思っています。

どなたかわかる方がいましたらご回答お願いします。
0709デフォルトの名無しさん2012/01/08(日) 01:16:00.69
test
0710デフォルトの名無しさん2012/01/09(月) 14:39:24.88
>>707
そのページに書いてある数式まちがってない?
http://www.it.lut.fi/ip/evo/functions/node26.html
のやつでやったら似たような結果になった。

[x,y] = meshgrid(-1.9:0.1:1.9, -1.1:0.1:1.1);
z = (4 - 2.1 * x.^2 + x.^4 / 3).*(x.^2) + x.*y + (-4 + 4*(y.^2)).*(y.^2);
surf(x,y,z);
view(30,45);
0711デフォルトの名無しさん2012/01/14(土) 20:09:55.82
下のコードは自分で作成しました。
もし、n=5であれば、5つの図を出したいのですが、
上記の場合ですと、1つ目の図はプロットされていますが、
2つ目以降のグラフは、grid とtitleなどが表示された図が表示されるだけで
プロットされてません。
なお、xx1やxx2はちゃんと値が入っているので数字的ミスはまったくないです。

forで回すのは、figureを作成するうえでやめたほうがいいんでしょうか?

よろしくお願いします。
0712デフォルトの名無しさん2012/01/14(土) 20:10:29.81
for i=1:1:n
t=0:dt:t;
figure(i)
subplot(1,3,1)
plot(t,xx1(i,:))
grid on
title('Displacement-time')
xlabel('time')
ylabel('displacement')

subplot(1,3,2)
plot(t,xx2(i,:))
grid on
title('Velocity-time')
xlabel('time')
ylabel('Velocity')

subplot(1,3,3)
plot(t,xx3(i,:))
grid on
title('Acceralation-time')
xlabel('time')
ylabel('Acceralation')
hold on
end
0713デフォルトの名無しさん2012/01/14(土) 20:57:46.71
>>712
t=0:dt:t;
↑
これ、tに値を入れる前にtを使ってないですか?
0714デフォルトの名無しさん2012/01/14(土) 21:04:32.91
>>713
返信ありがとうございます。
使っていないです。
使っていたとしてもtは書き換えられるので大丈夫かなとは思います。
0715デフォルトの名無しさん2012/01/14(土) 21:36:16.16
>>714
いや、t=0:dt:t;
っていう文は、文法的におかしいでしょ? ってこと。
Cで言うところの

int a;
a=a+1

みたいなもんで。(aの値は不定になる。

0716デフォルトの名無しさん2012/01/14(土) 23:05:35.12
ほんとだ。。このせいでした。学校に行ってまたmatlabを動かしたいと思います。
ありがとうございました!
0717デフォルトの名無しさん2012/01/18(水) 15:24:53.29
for i=1:1:n
figure(n)
。。。
end

とやり、figureをnまでひとつずつ別ウィンドウで表示させたいのですが、
どれがn番目のグラフかわかるようにしたいのですがその場合
どうすればいいでしょうか?
0718デフォルトの名無しさん2012/01/18(水) 21:32:48.49
タイトルつければいい
0719デフォルトの名無しさん2012/01/19(木) 18:01:40.91
>>717-718
具体的には
for k=1:n
 figure(k);
 何か描画
 title(sprintf('Figure %d', k));
end
とするといいんじゃないかな。
0720デフォルトの名無しさん2012/01/19(木) 20:29:52.01
最短距離法により
ある点Aからある1本の線の一番近い座標を求めたいのですがどうすれば良いでしょうか?
ちなみに線は直線とは限らず曲線の場合もあります。ですから一番近い座標が複数あることもありえます。
最短距離法の式や使い方がわからなくて困ってます。
よろしくお願いします。
0721デフォルトの名無しさん2012/01/22(日) 12:41:09.42
>>703,704,705

解決しました,ありがとうございます.
0722デフォルトの名無しさん2012/01/26(木) 20:17:13.33
すいませんOctaveの質問なんですがMATLABでも同じかなと思って質問します
行列をsaveしたときに行頭にスペースが出来てしまうんですがこれを作らない方法ありますでしょうか
0723デフォルトの名無しさん2012/01/27(金) 09:33:01.80
>>722
当方 Matlab も Octave も使っていますが、そういう現象は見たことがありません。
「行頭にスペースが出来る」という表現も曖昧で、いまいち要領を得ない。
save した行列の 1 列目が空白になってしまうのか、
あるいは文字列に限って一文字目にスペースが入ってしまうのか。

その問題の行列を作ったときの statement を書き、
行列をセーブしたファイルをアップロードして
スレ住人が直接チェックできるようにした方が、早期問題解決できると思います。
0724デフォルトの名無しさん2012/02/05(日) 21:24:12.00
plotにlegendで凡例を書き込むと、表示される図は問題無いのですが、
TeXに貼り付けようと、eps形式にすると凡例の文字が凡例の枠(テキストボックス)から
はみ出してしまします。どなたか対処法をご存じないでしょうか。
よろしくお願いします。
0725デフォルトの名無しさん2012/02/05(日) 21:28:34.96
どのようにeps形式にしたのかが最重要
0726デフォルトの名無しさん2012/02/05(日) 21:32:54.43
matlabが吐く図をファイルメニューから「ファイルの種類」でepsを選択して、
そのまま保存しています。この方法では問題があるでしょうか。
0727デフォルトの名無しさん2012/02/05(日) 21:40:33.99
printコマンドで出すのとGUIで出すので、
ファイルが微妙に違う。
0728デフォルトの名無しさん2012/02/23(木) 17:34:28.05
簡単な微分方程式
x'(t) = (x(t))^2, x(3) = 1
をmatlabで数値計算で解いてみます。
解析的な解は x(t) = 1 / (t-4)^2 となります。
まず、

function xdot = diffeq(t,x)
xdot = [x(1); x(1).^2];

として、
tspan = [3, 0];
x0 = [1;0];
[t,x] = ode45('diffeq',tspan,x0);

を実行しました。すると若干、解析的な解である x(t) = 1 / (t-4)^2 とは
異なった数値になってしまいます。私のプログラムが間違っているのでしょうか?
それとも、こんなものなのでしょうか?

それから、output のxは行数が2になっていますが、2行目の列ベクトル
x(:, 2) には何が入っているのでしょうか?初期値x0をスカラーにするとエラーが
返され、x0の2番目の要素を変えると、x(:, 2) の値も変わってきます。
0729デフォルトの名無しさん2012/02/23(木) 23:50:58.50
>>728
x'(t) = (x(t))^2, x(3) = 1 なら
解析解は x(t) = -1/(t-4)

diffeq は
xdot = x.^2;

じゃないの?
07307282012/02/24(金) 09:24:49.51
すみません、解析的な解は検算した時にx'(t)を計算した時にだした
式をまちがって書いてしまいました。

function diffeq のほうをおっしゃるとおりに書き直したらうまくいきました
ありがとうございます。
0731デフォルトの名無しさん2012/03/17(土) 16:06:03.39
ここってscilabやxcosに関する質問もおk?
0732デフォルトの名無しさん2012/03/18(日) 01:05:58.11
>>731
OKでっす
0733デフォルトの名無しさん2012/03/18(日) 09:53:06.61
いいけど、octaveは

データ解析ツールoctaveを語ろう Part 2
http://toro.2ch.net/test/read.cgi/unix/1256735581/

こっちへ
0734デフォルトの名無しさん2012/03/18(日) 23:04:49.50
xcosで作ったモデルの周波数応答取りたいんだけど、なんかいい方法ない?
思いゆつくのは、一旦、応答をテキストに書きだしてfftすることぐらい。
他に方法あればご教示願います。
0735営利利用に関するLR審議中@詳細は自治スレへ2012/04/01(日) 21:23:27.01
グラフでダブルYってどうやって出したらいいでしょうか
0736営利利用に関するLR審議中@詳細は自治スレへ2012/04/03(火) 11:04:45.07
plotyyのこと?
0737営利利用に関するLR審議中@詳細は自治スレへ2012/04/04(水) 18:47:00.29
それでした。どうもありがとうございました。
axisはどうやってやるんだろう?片面しか効かないけど・・・setとか使うのかな・・・
0738デフォルトの名無しさん2012/04/23(月) 10:04:45.31
ステップ入力のグラフをかきたいのですが、どうやればいいですか?
0739デフォルトの名無しさん2012/04/23(月) 16:14:37.34
力技だけど

x = [-1, 0, 0, 1];
y = [ 0, 0, 1, 1];
plot(x, y);

って感じでいけない?(今手元にMatlabなくて検証してないけど、できなかったらスマン(´・ω・`))
0740デフォルトの名無しさん2012/04/26(木) 03:25:46.42
( ・ω・)y─┛〜〜
0741デフォルトの名無しさん2012/05/01(火) 13:16:49.11
sin関数みたいに、ベクトルや行列を渡すとその要素に作用して結果を返す関数って
どうやって作るのでしょうか。

forやarrayfunで出来ることは出来るのですが、
並列化されないためか、遅いです。
0742デフォルトの名無しさん2012/05/01(火) 13:51:21.30
関数内で .* みたいに要素ごとに処理する演算子を使えば普通にできる
0743デフォルトの名無しさん2012/05/01(火) 15:08:10.56
>>739
stairsでいいんでないか?
0744デフォルトの名無しさん2012/05/01(火) 22:29:28.61
>>741
なんで遅いと思ったの?
0745デフォルトの名無しさん2012/05/03(木) 17:24:56.72
GPUって簡単に使えるの?
0746デフォルトの名無しさん2012/05/09(水) 14:49:27.86
for i=1:length(C)
  C(i)=max(table(table(:,:,2) == x2(i)) );
end

とすると
??? Improper assignment with rectangular empty matrix.
というエラーが出ます。
わからないのは、for文を回さずに、
C(1)=max(table(table(:,:,2) == x2(1)) );
という風にコマンドラインで1つずつやっていくと1〜length(C)までちゃんと出るんです。
forやwhileなど、繰り返し文に入れるとエラーが起きてしまいます。
どうしてでしょうか?
0747デフォルトの名無しさん2012/05/09(水) 16:14:03.91
自己解決しました!。
table(table(:,:,2) == x2(i))
が空だった時にエラーが出るみたいです!。
0748デフォルトの名無しさん2012/05/09(水) 21:03:11.84
時報の音をプログラミングして、それをハミング関数を使用せずに
ハミング窓で窓掛けしたいのですが
----------------------------------------------
Fs = 48000;
FqA = 440;
FqB= 880;
time = Fs / 10;


n = 1:time;
tone(n) = 1 * sin (2 * pi * FqA * (n-1) / Fs);
n = time:Fs;
tone(n) = 0;
tone = repmat(tone, 1, 3)


n = 3 * Fs + 1:6 * Fs;
A = [ones(1, Fs) linspace(1, 0, Fs * 2)];
tone(n) = A .* sin (2 * pi * FqB * (n-1) / Fs);


soundsc(tone, Fs);

liner(n) = (n-1) / time;
tone_win(n) = 0.5 + 0.5 * cos (pi / tone(n) .* liner );
soundsc(tone_win, Fs)
-------------------------------------------------------------
tone_win(n) = 0.5 + 0.5 * cos (pi / tone(n) .* liner );
で次元が合わないとエラーを吐いてしまいます。
MATLAB初心者で窓掛け自体をしっかりと理解していないのもありますが
上手く次元を合わせられないのですがどう改変すればいいですか?
0749デフォルトの名無しさん2012/05/10(木) 22:42:12.64
cos()の中にtone()が入っているので、なんか音が歪みそう。
ハミング窓をかけるのは、音圧をフェードイン・アウトさせる目的?
0750デフォルトの名無しさん2012/05/13(日) 00:07:25.66
致違いで申し訳ございません。
どこにもこれから質問するものに関連するものがなかったのでここで質問させていただきます。

今現在研究で(大学生4年です)解析をしています。
解析手法としては線形加速度法という陰解法を使用していますが、
この手法の欠点としては、ステップ間隔を短くしなければなりません。

実際研究で使う地震波は、100秒もあり、扱う対象のものは
固有円振動数だけで330個、その中の最小のものより1/60程度にしなければ
なりません。そうしなければ、解は拡散してしまうからです。

そこで、0.0005秒間隔で100秒までとなると20万ステップしなければなりません。
構造解析のソフトウェアではそれにどれだけいったいかかるのか
図ったことはありませんが、最適化ですのでこれを少なくとも100回は回していかなければ
なりません。線形加速度法で扱う行列は、330行列。。。
この前0.0005秒間隔で20000ステップやるのですら、
1時間かかていました。。 20万ステップですから単純計算で
一回終えるのに10時間。これが最低でも100回回さなければならないため、
1000時間かかってしまいます。

そこで、解析手法を変えようと思っているのですが、
どの方法が適切でしょうか?何卒ご協力お願い申し上げます
0751デフォルトの名無しさん2012/05/13(日) 00:48:34.95
シミュ板に書いたら
0752デフォルトの名無しさん2012/05/13(日) 23:30:13.49
まず先生に相談しよう
それがダメなら海外の研究者にメールしよう
0753デフォルトの名無しさん2012/05/15(火) 18:00:24.32
>>748-749
tone_win(n) = 0.5 + 0.5 * cos (pi ./ tone(n) .* liner(n));

とすれば、とりあえず通るみたいだけど、確かに音が歪みますね。

tone_win = (0.5 + 0.5 * cos (pi .* liner)) .* tone;

なら、フェードアウト部分がエコーっぽく装飾される。
plot(tone_win) で確認すればよくわかる。
0754デフォルトの名無しさん2012/05/16(水) 06:31:22.59
matlabをやめれば速くなるかもね。
0755デフォルトの名無しさん2012/05/16(水) 12:17:00.24
>>748
nの使い方が変なので左辺と右辺の長さが合ってない
n = 1:time;
n = time:Fs;
n = 3 * Fs + 1:6 * Fs;
どんどん変わってるからliner(n)の長さがおかしくなってる

窓掛けはcos関数の中にtoneを入れちゃダメだろ…
最初の
soundsc(tone, Fs);
まではとりあえず動くようなので

x = 0:length(tone) -1;
hann_window = 0.5 - 0.5 * cos(2 * pi * x / length(tone));
tone_win = tone .* hann_window;
soundsc(tone_win, Fs)

ま、普通はこういう窓のかけ方はしないんだけどな
エスパー回答なんで質問の意図と違ってるかも知れん
0756デフォルトの名無しさん2012/05/16(水) 19:17:39.77
a=sin(θ)のグラフを描くときに、θが0からπのときだけa=0となるようなグラフは、どうすればかけますか?
0757デフォルトの名無しさん2012/05/16(水) 23:45:07.18
a=sin(θ).*~(θは0からπ)
0758デフォルトの名無しさん2012/05/17(木) 00:21:09.31
>>757ありがとうございます
0759デフォルトの名無しさん2012/05/17(木) 18:39:28.45
突然失礼します。
今メモ帳にあるデータを、アルゴリズム上で格納したいのですが、
以下のようにしたいです。
加速度   
0.01 0.02 0.01 .....約10万行......
0.01 0.02 0.01 .....約10万行......
0.01 0.02 0.01 .....約10万行......
.
.
330行


数字は任意です。
データとしては、上からi=1:1:10万として
下のように格納していきたいです。
for i=1:10万
i=i+1;
あるデータ=-----------;
格納(i,あるデータ)
end

としていきたいです。
あるデータは、1行*330行列になっています。
また、加速度という文字も最初の1列目に入れたいため、
i=i+1;としました。
0760デフォルトの名無しさん2012/05/17(木) 18:51:16.31

        ./ニYニヽ
 r、r.rヽ.  / (0)(0)ヽ
r |_,|_,|_,|/  ⌒`´⌒ \   で?っていう
|_,|_,|_,|_,| , -)    (-、.|
|_,|_,|_人 (^ iヽ__ ノ l |
| )   ヽノ |  `ー'´   /
|  `".`´  ノ
   入_ノ
 \_/
   /
  /
0761デフォルトの名無しさん2012/05/17(木) 18:53:15.98
格納の仕方を知りたいです。
何卒宜しくお願いします。
0762デフォルトの名無しさん2012/05/17(木) 18:58:50.15
普通にイコール(=)演算子を使えよ

a = '加速度'

テキストファイル読みたけりゃdlmread関数とか
0763デフォルトの名無しさん2012/05/17(木) 19:03:46.29
どのように格納すればよいのかまったくわかりません。。。
fprintが調べたら出てきたのですが、使い方も複雑な説明の仕方でわかりませんでした。
0764デフォルトの名無しさん2012/05/17(木) 19:26:33.18
絶望的だなw
一つの変数に文字と数字を混在させるにはcellを使うが、もし意味がわからないなら
文字を入れるのは無理だから数字だけにしたほうがいい

ファイルの読み込みはcsvreadかdmlreadを調べて分からなきゃご愁傷様
0765デフォルトの名無しさん2012/05/17(木) 22:05:46.12
小林乙
0766デフォルトの名無しさん2012/05/17(木) 23:33:27.65
エクセル使え
文字列と数を1つの行列で扱うな
0767デフォルトの名無しさん2012/05/18(金) 00:12:06.07
申し訳ございません。
dmlreadなどで調べなおしてきます。
また、自分がメモ帳といったのは、再度そのデータを
matlab上でグラフにするために必要だからメモ帳を選択しました。
メモ帳での書き出しはできます
0768デフォルトの名無しさん2012/05/18(金) 00:52:53.42
matlabのテキストファイルの扱いはたいして融通がきかないから
saveでワークスペースを保存したほうがいい
0769デフォルトの名無しさん2012/05/18(金) 11:04:49.31
>>767
>>759を見る限りまともに書き出されてない

0770デフォルトの名無しさん2012/05/18(金) 13:09:58.18
なぜこの読み込みをしなければならないのかというと、
メモリー不足になってしまうからです。
上のような行列が3個もありそれらすべてを一回、ある行列に格納していって(for - next の中で)
そのあとにplotしていきます。
saveでも大丈夫なんでしょうか?
0771デフォルトの名無しさん2012/05/18(金) 14:14:14.56
>>770
100000 x 330ならデフォの倍精度でも配列の大きさは200MB強くらいしかいかないだろ
まぁ、dlmreadは範囲指定できるからforループ内でファイルの一部だけ読みだすのはできるが
matlabにとっては一番オーバーヘッドが大きい使い方なので普通はやらない
0772デフォルトの名無しさん2012/05/23(水) 13:28:59.63
例えばですが、1行100列の行列があって、
その各要素の高い順に番号をつけたいのですが、そんなことできますか?

たとえば、
a=[ 1 3 5.5 2 4 ]であったら、

ans= [ 5 3 1 4 2 ]
と要素の高い順に番号をつけてくれる。。。というかんじです。
0773デフォルトの名無しさん2012/05/23(水) 17:22:21.04
[Y,I] = sort(a)
で、Iを見ると良いよ。
0774デフォルトの名無しさん2012/05/24(木) 02:19:56.75
だれかGPUつかってる人いる?
実際のところどうなの?
速くなるの?
0775デフォルトの名無しさん2012/05/25(金) 15:46:21.60
3次元の位置[x,y,z]があって
3次元の図上でその各点の強度を色とかで表現する方法ってありますか。

うまい方法があれば教えてください。お願いします
0776デフォルトの名無しさん2012/05/25(金) 16:27:48.48
meshとかsurf関数を調べろ
0777デフォルトの名無しさん2012/05/25(金) 16:29:15.63
いや無理か
2Dに投影はできるんだが
0778デフォルトの名無しさん2012/05/25(金) 18:20:52.95
>>775
こういうののこと?
http://www.okada.jp.org/RWiki/?%A5%B0%A5%E9%A5%D5%A5%A3%A5%C3%A5%AF%A5%B9%BB%B2%B9%CD%BC%C2%CE%E3%BD%B8%A1%A7%C4%BB%E2%D7%BF%DE
0779デフォルトの名無しさん2012/05/25(金) 18:27:01.81
たとえば、a=[ 1 2 ; 5 7 ; 5 6];という行列を
[1 2 5 7 5 6]
と行だけに変換する関数ってありますか?

宜しくお願いします。
0780デフォルトの名無しさん2012/05/25(金) 18:42:28.53
>>779
reshape
0781デフォルトの名無しさん2012/05/25(金) 22:07:06.58
>>779
a(:).'を良く見かける
0782デフォルトの名無しさん2012/05/28(月) 00:38:30.23
突然失礼します。
線の色について非常に困っています。
x=[10×2000]の行列があって、
これを、tの軸と一緒にプロットしたいのですが、
plot(t,x)とやってしまうと、
どれが1,2,3と8,9,10行の成分なのかわからなくなります。
これは、1〜7番目までは違う色で、8番目からはまた同じ色が使われてしまうからです。
この問題を解決するためにどのような手段を講じればよいでしょうか?

何卒よろしくお願い致します。
0783デフォルトの名無しさん2012/05/28(月) 15:45:37.20
holdするかlegend
0784デフォルトの名無しさん2012/05/29(火) 00:36:35.87
カラーマップ変えるか自分で色を指定するか
■ このスレッドは過去ログ倉庫に格納されています