X



MATLABプログラミング 質問箱 その4
0001デフォルトの名無しさん
垢版 |
2012/09/03(月) 17:35:08.97
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/
0284デフォルトの名無しさん
垢版 |
2015/10/31(土) 10:00:16.08ID:BYIr/Kjr
その楽ってのがわからんのよねー

マトラボはなんだがオプションが多すぎてなに追加したらいいのかわからんからなぁ
0285デフォルトの名無しさん
垢版 |
2015/10/31(土) 15:24:38.19ID:JmkKfBd3
取りあえずデフォのmatlabだけで大体問題ないと思う
信号処理ならsignal~
toolbox追加するとか、後追いで対応できるしね
というか、やっぱ本当に必要な関数は自分で作っちゃたほうが安心な気がするけどな
homeライセンスならoffice感覚な値段だし試ししてみたら?
0286デフォルトの名無しさん
垢版 |
2015/10/31(土) 21:29:01.17ID:BYIr/Kjr
>>285
そうしてみようかしら。。。

octave使いなんだけど、やはりマトラボさんの方が絶対いい!って言える?

ごめんね、しつこくて。
(背中押して欲しい)
0288デフォルトの名無しさん
垢版 |
2015/11/01(日) 17:31:34.94ID:zFb2PrGw
octaveだとデフォルトでは使えないfuctionが結構あるけど、
追加しようと思えばできるから個人的にはoctaveでも問題ないけどなぁ
0289デフォルトの名無しさん
垢版 |
2015/11/04(水) 22:57:37.38ID:8s3mVvwI
MatlabはIDEが良くなってきたのとドキュメントがしっかりしてるところが魅力。
Matlabに10年ほど課金してきたけど、もうドキュメント読まなくても覚えちゃってるし、IDEなくてもEmacsでいいし、そろそろOctaveでいいやってなってる。
0290デフォルトの名無しさん
垢版 |
2015/11/05(木) 02:48:42.34ID:fr1U9OCL
まぁぶっちゃけoctave自分から選ぶような層はあえてmatlab選ぶ必要なんて無いよねぇ
cでもpythonでも金のかからない適当な方法選んでばっちり解析出来るイメージ
自分は仕事でどっぷりすぎてmatlab以外の選択肢は考えなかった口だわ;;
0292デフォルトの名無しさん
垢版 |
2015/11/05(木) 07:32:06.44ID:BkqkYBkV
トヨタとか日産なんかの自動車の
研究開発で使ってるよ

mathworksの創始者もmatlabは最初
数学科とかには見向きもされず
工学系の学生に受けが良かったって
語ってなかったっけ?
0293デフォルトの名無しさん
垢版 |
2015/11/06(金) 03:02:03.67ID:USawmPvL
>>288-290
なるほど〜
octave使えてればmatlabしなくても。。。ってことなのかな?
それともoctave使う層の人間はmatlabにない関数やらは自分で作っちゃうよね?ってこと?
そしたら最悪描画に限ったらgnuplotでもよくないかい?
0294デフォルトの名無しさん
垢版 |
2015/11/06(金) 21:19:40.51ID:vc7kfXjf
どっちかって言うと後者かな、自分で作っちゃうイメージ

気のせいかもしれないけど前にoctave触ったとき、メモリ馬鹿食いするプログラム運用するときや数千点プロットする時は
matlabの方が軽いかなーって印象があったような気がする
大きいデータをいっぺんに扱わにゃならんとか、マルチコアフル回転させたいとかならmatlabがいいのかも(octaveあんまり詳しくないです・・・)
0295デフォルトの名無しさん
垢版 |
2015/11/07(土) 11:13:07.82ID:I70puC39
matlabにおいて既定の設定ですとdoubleで保存されます。
そのため変数が例えば a=2.63890000000... というふうに
小数点に無駄な0が多く含まれておりますmatファイルで保存を行う場合、容量が大きくなってしまいます。
出来れば無駄な0をさくじょしたいのですがどのように行えばよいでしょうか
よろしくお願いします
0296デフォルトの名無しさん
垢版 |
2015/11/07(土) 13:14:30.83ID:zFF1fNmF
ハローワークでも、自動車系で、
matlabの募集をたまに見る


でも徐々に、R, matlabの仕事は、
Pythonへ置き換わっていくかも
0297デフォルトの名無しさん
垢版 |
2015/11/07(土) 15:07:03.07ID:WiauWGgx
仕事始めてから触りだした口だけど手計算のノリというか関数電卓の延長で使えるのが好きかな
0299デフォルトの名無しさん
垢版 |
2015/11/07(土) 16:07:24.48ID:Tw+xXJ+7
後方互換性捨てるpythonなんて
怖くて仕事で使えねえよw

数年前のmatlabのparforはcやfortranの
openmpと比べて並列効果が小さかっ
たんだけど今はどうなんだろ?
0303デフォルトの名無しさん
垢版 |
2015/11/24(火) 13:54:40.03ID:G27lalLc
matlabでCAN通信を使いたいんだけどRTI CAN blocksetが見当たらないんだけどどうすればいいんですか?
dSPACEでファームウェアの更新でDS1103CANをアップデートしてdSPACEでは対応してるみたいなんですがちょっとこれからどうすればいいか分からないです
0304デフォルトの名無しさん
垢版 |
2015/11/25(水) 17:51:08.97ID:/w0zGOMb
>>286
遅レスなんで見てないかもだが
非線形関数を最適化する
fminsearch とか明らかに挙動が変わる
octaveは最適解探すの直ぐ諦める感じ

このレベルの関数自作できるのなら
octaveでも構わないんだろうけど
0305デフォルトの名無しさん
垢版 |
2015/11/25(水) 23:48:39.89ID:49khW7T0
lsqcurvefitで非線形曲線の近似曲線を求めようとしてるんですが、よい曲線形に収束しません。
どうすればいいのでしょう?
0306デフォルトの名無しさん
垢版 |
2015/12/17(木) 17:16:26.68ID:Szn4FINI
pitchを増やす
0307デフォルトの名無しさん
垢版 |
2015/12/29(火) 18:20:33.35ID:HrkcQ9Jo
Matlab大好きな人がOctave は重すぎるって行ってけど
今はi686に最適化されてるから使ってる使っているCPUに最適化したら
そこまで重くなさそうなんだけどどうなんだろう
0308デフォルトの名無しさん
垢版 |
2016/02/11(木) 00:49:42.98ID:fG8QiAHt
質問失礼します。

※下付き文字を便宜上[]で示します。
 例えば水はH[2]O、二酸化炭素はCO[2]と表しています。


生物の個体数の変動を表したモデルとして、以下のようなロジスティック写像がある。
x[n+1]=ax[n](1-x[n])

x[n]は正規化されたn年目の生物の個体数、x[n+1]は次年の個体数。aはその生物の出生率として与えられる。
出生率aがもし3以下なら、その生物の個体数は一定に収束する。
しかし、aが3以上になると周期的な挙動を引き起こし、さらにaがある臨界点を超えると、非常に複雑な変動を観察することができる。

このロジスティック写像を視覚的に理解するため、MATLABを利用して以下に述べる様々なグラフィックを描させてみよ。

(1)時系列
横軸に時間(年次)n、縦軸に個体数x[n]をとり、ロジスティック写像の時間的な変動を観察せよ。
a=3とする。

(2)リターンマップ
横軸にx[n]、縦軸にx[n+1]をとり、ロジスティック写像におけるx[n]とx[n+1]の関係をプロットせよ。
a=3とする。

(3)分岐図
横軸に出生率a、縦軸にx[n]をとり。aの値によってx[1]、x[2]、…、x[n]がどんな値をとるか観察せよ。


よろしくお願いします。
0310デフォルトの名無しさん
垢版 |
2016/02/11(木) 15:45:36.50ID:gMshtCfJ
spectrogram()関数について質問です
出力引数無しの場合スペクトログラムがプロットされますが、
出力引数[s,f,t,p]として、関数を使ったあと出力引数無しの場合と同じようなフィギュアをプロットしたいのですが何関数を使えばいいのでしょうか?
0311デフォルトの名無しさん
垢版 |
2016/02/12(金) 13:48:38.84ID:2Gk6fNo9
以下のような非線形の3階常微分方程式がある。

dx/dt =-y-z
dy/dt =x+ay
dz/dt =bx-(c-x)z
(a=0.344 , b=0.4 , c=4.5)

これをレスラー方程式という。

このレスラー方程式をMATLABによる数値微分によって解き、x(t),y(t),z(t)の挙動を次の2通りの方法でコンピュータ画面上に描いてみよ。
なお、常微分方程式の数値積分法についてはルンゲッタ法を参考にするとよい。

(1)
x(t),y(t),z(t)の時間波形(横軸:時間(t),縦軸:x or y or zとした図)を描け。
また数値積分の時間の刻みΔtを何通りか変えて、Δtの値により波形が異なる様子を観察せよ。

(2)
x,y,zを3軸にとったこの方程式の解軌道の3次元プロットを作成し(1)と同様に解軌道に及ぼす影響について観察せよ。



正直何を言っているのかすらわからずお手上げ状態です。
よろしくお願いします。
0313デフォルトの名無しさん
垢版 |
2016/02/25(木) 02:56:33.46ID:haY34JvN
Neuralnetwork Toolboxを利用しようと思いサンプルを試していました。
しかし、パターン認識や時系列、クラスタリングと全てでサンプルデータを動かしてみることができませんでした。
どのエラーも、
「関数または変数 'network' が未定義です。」
と表示されます。
正直、サンプルを動かそうとしているのにエラーを吐かれて困っています。
VERコマンドでインストールされていることは確認しました。
R2013aとR2015aの両方で試しましたが同じエラーで実行できませんでした。
どうすればエラーを回避できるようになるでしょうか?
0314デフォルトの名無しさん
垢版 |
2016/03/12(土) 22:51:46.82ID:qO76WjcC
PDEtoolboxの日本語解説サイトはここか?
0315デフォルトの名無しさん
垢版 |
2016/03/13(日) 19:30:06.85ID:9WnFq3jr
vec = [1 2 3]
この行ベクトルを指定した数だけ行の次元を増やして同じ値を入れるにはどうしたらいいですか?
2だったら
vec2 = [1 2 3;1 2 3]
3だったら
vec3 = [1 2 3;1 2 3;1 2 3]
みたいなのを
vec2 = ?(2,vec)
vec3 = ?(3,vec)
のように行いたいです
0316デフォルトの名無しさん
垢版 |
2016/03/13(日) 21:52:47.20ID:ajmApxM5
>>315
まずrankを変えて行列を定義して、roopで順に入れ込んでいく。
0322デフォルトの名無しさん
垢版 |
2016/05/13(金) 04:38:18.45ID:J5lzfyx8
マトラボのダウンロード番って一つのOSしか選べないのん?
当方、Macintosh、Linuxマシンで運用する予定なんやけど
0327323
垢版 |
2016/05/19(木) 16:35:18.19ID:JGNOXSrH
>>324
複数マシンにインストールしたいとき用に、ISOが公式に用意されてんの。
毎回ダウンロードだと帯域を食うでしょ。
0328デフォルトの名無しさん
垢版 |
2016/05/23(月) 11:14:31.10ID:/WJYw1B9
基本的な質問で申し訳ないんですが、
配列A=zeros(5,2)みたいな配列があったとして、
2から4行目をB=[1,1]にするうまい方法ってありませんか?

スカラーの場合みたいにA(2:4,:)=Bのように使える関数みたいなものはありませんか?
A(2:4,:)=repmat(B,3,1) とかやるしかないんでしょうか?
0330デフォルトの名無しさん
垢版 |
2016/05/30(月) 19:23:25.28ID:FKMhfELD
F(z,w)を定義して、fsolveでF=0を解きたいです
ここで最初wは初期値を与えて、zについてまず値を求めます
次に2回目以降はw=z、前回のzの値に更新してふたたびzについてwを更新したFを解きたいです
for文で10回繰り返すとして、wの値をfor文の中で更新しても関数を呼びたすたびに初期値のwになってしまいます
どのようにすればwおよびFを更新できますか?
ちなみに関数定義の中にwの値を与えず、実際のワークスペースでw=...と与えても入力引数が不足してますとエラーになってしまいます
0333デフォルトの名無しさん
垢版 |
2016/06/04(土) 15:53:10.19ID:aDqlSjFb
matlab homeだと出力したファイルに電子透かしっていうのがついてるらしいんだけど、これはどんな感じなの?
0335デフォルトの名無しさん
垢版 |
2016/06/18(土) 03:34:19.81ID:hixb2VIW
contorf(x,y,z,20) すると等高線が20本引けるかと思うですが、等高線を消す方法ってありますか?
0336323
垢版 |
2016/06/18(土) 09:21:22.78ID:KCOs9NpA
>>335
contourf(x, y, z, 10, 'LineStyle', 'none')
0337デフォルトの名無しさん
垢版 |
2016/06/23(木) 23:07:27.67ID:TLmSrwcN
simulinkで、
2次元(x(t),y(t))のデータをグラフに表示させて、
時間経過(t)とともに変化させたいのですが、
そういうブロックあるんでしょうか?
0339デフォルトの名無しさん
垢版 |
2016/06/25(土) 15:22:53.64ID:Ydr+gOCR
figureからパラコマの動画を作ってどのように推移していくか
見ようとしています。そこで
figure
for i=1:360;
scatter(x(:,:,i),y(:,:,i),1,z(:,:,i),'filled');
hold on
.....
end
みたいな感じで作ってみたのですが
操作自体はあってるのですが
データ量がすごく多く大変時間がかかるようでした…。
元のデータは640×480というデータ点数に
それぞれxとyとzの座標データ(mm)がありまして、それが360枚分ございます。
scatterじゃなくてこっちのほうが軽い、や
for文でやるべきではないなど全くわからない状態ですので
どなたかご教授していただけるとありがたいです。よろしくお願いします。
0340デフォルトの名無しさん
垢版 |
2016/06/27(月) 02:36:51.03ID:i8SsUO8y
自己解決できました。
0341デフォルトの名無しさん
垢版 |
2016/07/23(土) 23:23:08.11ID:nMYN2ky2
fsolveを使って2次の非線形連立方程式を解こうとした所、「Equation solved at initial point.」
という結果が出力されました。
最初は本当に初期値がそのまま解になる事もあるかと思い色々と初期値を変えて再計算をした所、
あらゆる初期値で同じ結果が出力されるという結果になってしまい困っております。
この「Equation solved at initial point.」というのは方程式にどのような問題がある時に発生するものなのでしょうか?
私は初め方程式の値が小さすぎるために初期値の段階で0に収束してしまいソルバーが解に到達したと判断している…と考えたのですが、
これだとべらぼうに大きい初期値を用いた場合にも同じ結果になる事との説明が合わないですよね。
(ただ、方程式中の変数は三角関数の中に入っているので初期値の値に関わらず式の形的に0に収束しているという事もあり得るとも考えています。
すみません、この辺は私の理解不足で支離滅裂です)。
また、残差は仮に方程式をf(x,y)+a=0 とするとaの値がほぼそのまま出力され、アルゴリズムは信頼領域法を用いています。
0343デフォルトの名無しさん
垢版 |
2016/07/24(日) 11:31:35.64ID:wdZTIji9
>あらゆる初期値で同じ結果

わろた
0346デフォルトの名無しさん
垢版 |
2016/09/11(日) 17:45:42.13ID:hnfXbkoz
メインの.mファイルとクラス定義を1ディレクトリにまとめて実行することってできる?
他人にプログラム使ってもらうときに、検索pathがどうのこうのと説明するのが面倒なんだけど…
0349デフォルトの名無しさん
垢版 |
2016/09/15(木) 23:00:36.06ID:73p4VIZp
for文内で1ピクセルごとにまったく同じ処理をしているのに、繰り返すうちに計算時間が長くなっていき、forの最後では最初の1000倍から2000倍の計算時間がかかります
原因として何が考えられますか?
0351デフォルトの名無しさん
垢版 |
2016/10/18(火) 16:50:27.48ID:O5RVdSYg
次元の異なる複数の配列を一つのベクトルとして扱いたいんですが可能でしょうか?
具体的には [[4x3] [5x2] [100x4]] といった感じです
※[4x3]は4行3列の配列です
0354デフォルトの名無しさん
垢版 |
2016/10/20(木) 22:22:55.79ID:QABaVM5f
Matlabの使用用途で一番多いのはなんだろう
画像解析かな?
0359デフォルトの名無しさん
垢版 |
2016/10/28(金) 09:17:05.75ID:fjH3CePY
>>358
ありがとうございます!
communityってところから探せば良かったんですね
自分の調べ方が悪かったです
0360デフォルトの名無しさん
垢版 |
2016/11/25(金) 04:29:03.23ID:5JinvRIo
学生の無料評価版をインストールしてから30日経ったので、製品版を買おうとライセンス更新とか色々したのですが、
再度評価版をインストールしてしまいました。
また無料で使えるみたいですが、何かの間違いですか?
出来るのなら5000円のtoolboxを買いたいです。
0361デフォルトの名無しさん
垢版 |
2016/11/25(金) 07:35:11.11ID:hI5hsUwc
社会人なら格安の個人用途版でも買えば?
商業目的や研究にも使えないけどな
0364デフォルトの名無しさん
垢版 |
2016/12/22(木) 22:35:04.57ID:qJhKd6/F
>>363
誤爆してしまいました。すみません。
∫F(x)G(x)dx
このような定積分をintegralで行いたいのですが次元が合いませんとエラーが出てしまいます。
どのように記述したらよいのでしょうか?
0366デフォルトの名無しさん
垢版 |
2016/12/22(木) 22:51:30.04ID:qJhKd6/F
F(x)=e^Ax
Aは定数です
G(x)はステップ関数やインパルス関数、ガウス波といった入力によって変化します
0367デフォルトの名無しさん
垢版 |
2016/12/22(木) 22:57:02.08ID:a7G+Wtrg
integralを使用する際はベクトル入力した際出力も同じ大きさのベクトルが出力されないといけないから積があるとエラーが起きるね
0369デフォルトの名無しさん
垢版 |
2016/12/22(木) 23:22:08.24ID:qJhKd6/F
>>367
なるほど
*を.*に変更したらエラーが直りました
*だと行列の大きさが変わっていたのですね
ありがとうございました
0370デフォルトの名無しさん
垢版 |
2017/02/03(金) 00:31:21.24ID:J/a9u1T/
皆さん何かテキストから入りました?
大学で講義取ってないんですが、昔の先輩の研究を掘り起こすのにmatrabが必要で自習がしたいです
ちなみに自分機械系でして、fortranとデータ整理にエクセルマクロをいじれる程度です…
0372デフォルトの名無しさん
垢版 |
2017/02/04(土) 00:22:03.19ID:/IQX+wEy
>>370
他言語経験があるなら、公式サイトのヘルプやフォーラムが良く整ってるので基本はそれを参照、あとはソフト付属のexampleを読み解けば何とかなるんでない?私は始めたあとに何冊かテキストぽいの買ってみたけど、最近の版から入った機能をよく使うせいか情報が古くてあまり役に立たなかったよ。
0375デフォルトの名無しさん
垢版 |
2017/02/25(土) 17:08:54.45ID:usTDxsWv
matlab使わんでもmatplotlibで用足りる
0378デフォルトの名無しさん
垢版 |
2017/03/09(木) 19:42:57.99ID:cXYjKDqH
質問です
凡例の順番を入れ替えたく構造体を作成し
入れ替え自体はできるようになりましたが
マーカが入れ替わらず文字のみ順番が変わった状態になってしまいました
ループ内でグラフを重ねて表示して
ループを抜けたところで構造体作成→凡例ソート表示をしているからだと思うのですが
マーカを入れ替える方法はグラフ表示前にソートを行うしかないでしょうか?
0379デフォルトの名無しさん
垢版 |
2017/03/09(木) 19:59:10.19ID:LKSg58e8
入れ替えたら再描画
0380デフォルトの名無しさん
垢版 |
2017/03/09(木) 20:30:35.34ID:cXYjKDqH
>>379
ありがとうございます
現在グラフを描画する配列はcsv読み込み毎に全てループ内で上書きしており
格納もしていないので別の変数に保存して再描画を試してみようと思います
0382デフォルトの名無しさん
垢版 |
2017/04/21(金) 15:57:15.04ID:2kF06mr9
delaunay分割についての質問です。

以下のコードを書いたのですが、三角要素がバラバラの位置にあるため有限要素法が使えません。
どのようにコードを変えたら良いのでしょうか。matlab歴一週間なので拙いコードですがよろしくお願いいたします。

clear
close

N = 9;
L = pi;
x = 0:L/(N-1):L;
y = 0:L/(N-1):L;
[x,y] = meshgrid(x,y);

X = x(:);
Y = y(:);
XY = [X,Y];
tri = delaunayTriangulation(XY);

boundaryedges = freeBoundary(tri)';
triplot(tri)
axis equal
IC = incenter(tri)
hold on
plot(XY(boundaryedges,1),XY(boundaryedges,2),'-r','LineWidth',2)
numtri = size(tri,1);
trilabels = arrayfun(@(P) {sprintf('T%d', P)}, (1:numtri)');
Htl = text(IC(:,1),IC(:,2),trilabels,'FontWeight','bold', ...
'HorizontalAlignment','center','Color','blue');
hold off
0383デフォルトの名無しさん
垢版 |
2017/04/28(金) 22:47:50.48ID:kiQNJp17
今現在Matlab2016aを持っていて、それとは別に古いverも入れたいのですが、ライセンスを新たに買わなければならないのでしょうか?
宜しくお願い致します。
0384デフォルトの名無しさん
垢版 |
2017/05/29(月) 20:26:34.50ID:h0xXu1j0
matlab2016の入ってるPCで作ったプログラムをラズパイで動かしたいのですがどうすれば出来ますか?
レスを投稿する


ニューススポーツなんでも実況