MATLAB
MATLABでの平均値計算 X=[0 1 2; 3 4 5; 6 7 8] mean(X) % 各列の平均 mean(X,1) % 各列の平均 mean(X,2) % 各行の平均 X(:) % 行ベクトルに変換 mean(X(:)) % すべての要素の平均
値が昇順に並べ替えされていない場合,データの近似に時間がかかることがある。オリジナルのデータベクトル x と yから,並べ替えたベクトル x_sorted と y_sorted を作成。 [x_sorted, i] = sort(x); y_sorted = y(i);
連立方程式を解くような記述で,最小自乗法をつかえる。すごい。% 非多項式項をもつ線形モデル % y=Xa -> X\y = X\Xa = a clc; close all; t = [0 .3 .8 1.1 1.6 2.3]'; y = [0.5 0.82 1.14 1.25 1.35 1.40]'X = [ones(size(t)) exp(-t) t.*exp(-t)]; a= X\y…
title({'グラフのタイトル';'サブタイトル'})
[X,Y,Z] = peaks; v = [-10:1:10] % レベルの設定 [C,h]=contourf(X,Y,Z,v) % 作図 clabel(C,h) % ラベル表示 caxis([-10 10]) % カラーバーのレンジ colorbar % カラー shading flat % 境界線を消す
% 減衰率の計算 clc; clear all;f=inline('exp(-0.1*x).*cos(x)'); % 関数定義x=[0:0.01:10*pi]; y=f(x); y_d=[0 diff(y)]; % Data作成 idx_s= find(abs(y_d)
コマンドウィンドウから,helpwinと打つ。この方がコマンドを探しやすい(MTLAB5のときは,このHelpと同じだった)。
ttl=char('上側','下側') ii=1 ylabel([ttl(ii,:)]):を使わないと上しかでないので注意
a=sortrows(a,[1 2]); diff(a(:,1)); s=find(diff(a(:,1))==0); a=a(s,:)a = 1 83 2 1 2 32 3 66 1 95 3 41a = 1 83 2 1 3 41
行をグループとしてデータを並び替えるには,sortrowsが便利。 a行列をまず1列で並び替え,1列の値が等しい条件で2列を並び替える場合は,sortrows(a,[1 2])
clear all; close all; name='vibr_050415_1' load([name '.dat']); eval(['aaa=' name '(1:2^15,:);']); save aaa;
Mファイル中での関数定義: ustep=inline('ceil(x./x)'); Figの位置決め: set(gcf,'position',[50 50 800 120*i]) 軸の目盛: set(gca, 'ylim', [ 0 10 ], 'ytick', [0:1:10]);
title(['Initial Temp. = ', num2str(temp_s), '℃']);の[ ] を書くのを良く忘れるので注意すること。 熱伝導逆解析では,データサンプリングの無次元時間Fo(フーリエ数)の選択する際,変化の速さ>ノイズの大きさとしないと,逆解析の結果が不安定(振動)と…
-q(1:len)/1e6' は文法ミス -q(1:len)'/1e6 が正しい。
移動平均(4点評価): a = 1; b = [1/4 1/4 1/4 1/4]; filter(b, a, z) 移動平均 (n点評価) : a = 1; b = 1/n * ones(n,1); filter(b, a, z) 多項式近似: p=polyfit(x,z,2); 多項式近似値: polyval(p,x);