Octave基本操作
4309 ワード
文書ディレクトリ manipulating data plotting control statements, iterate
manipulating data
3*2のマトリクスを作成
size(a)は[32]のマトリクス
size(size(a))は、[12]の行列
size(a,1)とsize(a,2)は、numpyのaxis=0と1に相当する行と列数をそれぞれ表示することができるが、octaveの下付き記号と座標軸記号は1から
データの読み込み(デフォルトはスペース区切りであるべきで、値付け文を付けないと自動的にファイル名を変数名とする)
行列は一般的に
スライス方式で付与することができ、もちろんターゲットとデータの形状が同じ
append方式増加データ:
manipulating data
3*2のマトリクスを作成
a=[1 2 ; 3 4 ; 5 6]
size(a)は[32]のマトリクス
size(a)
であるsize(size(a))は、[12]の行列
size(size(a))
であるsize(a,1)とsize(a,2)は、numpyのaxis=0と1に相当する行と列数をそれぞれ表示することができるが、octaveの下付き記号と座標軸記号は1から
size(a,1) size(a,2)
であるsize(a)
はマトリクスに一般的に用いられ、length(v)
はベクトルに一般的に用いられる.ls, cd, pwd
はlinuxと同じですデータの読み込み(デフォルトはスペース区切りであるべきで、値付け文を付けないと自動的にファイル名を変数名とする)
load features.dat
は、現在の作業ディレクトリの下にあるfeaturesを読み出す.datファイルは、スペースで区切られてマトリクスになり、ファイルに名前情報が含まれていない場合はfeaturesという変数が生成されます.save hello.mat v
vという変数をhelloに保存する.matこのファイルでclear
ですべての変数をクリアしてload hello.mat
で読み込むと、vという変数が自動的に生成されます.save hello.txt v -ascii
は、ユーザに対してより友好的なフォーマットを格納するが、名前、行列数などの変数の情報は削除される.who
は変数のリストを表示し、whos
は変数の詳細を表示し、clear
は変数をクリアし、いずれもパラメータを追加することができる.a(m:n)
は、行列についても変数についても、m-n要素のみを表示します.行列は、列-行で数えられます.たとえば、次のようにします.[1 2 3]
[4 5 6]
[7 8 9](3:5) = [7 2 5]
a(3,2)
行2列の要素をとる行列は一般的に
a(:, [1 3])
:すべての行、1および3列を使用します.a(:, [1:3])
すべての行、1~3列です.a([1:3],:)
-3行、すべての列スライス方式で付与することができ、もちろんターゲットとデータの形状が同じ
m=magic(3)
で2行目:m(2,:)=[1 1 1]
を修正して最後に1行目:m(4,:)=[1 1 1]
を追加し、m(n,:)=[x x x]
でn>行数を変更すると、データを最後に増加するappend方式増加データ:
m = [m, [ 1; 1; 1; 1; 1]]
は最後に1列増加し、一番前にm=[[1; 1; 1],m]
列増加するm(:)
行列の要素をベクトルにするc=[a b]
c=[a,b]
横方向に2つのマトリクスを組み合わせ、c=[a;b]
縦方向に2つのマトリクスを組み合わせます.a=[1 2;3 4; 5 6]
b=[11 12;31 41; 25 26]
c=[1 1;2 2]
a*b
点乗a.*b
元素乗a/b
点除a./b*
元素除a^2
a*a点乗、形状の関係でaは方陣才^2 a.^2
元素平方前面帯である.のはすべて要素演算log
exp
abs
...a+ones(size(a))
はこのように1をプラスすることができて、直接a+1
をプラスすることができます...a'
がmax(a)
に回転すると、2つの値が返されます.1つは最大値で、もう1つは位置です.(パラメータが行列であれば、2つのベクトルを返す)max(a,[],1)
列別最大値(デフォルト動作)max(a,[],2)
行別max(a,n)
aがベクトルであれ行列であれ、各要素はnと比較して最大値を返すa ,
find(a a n , a , a(:)
に を します.2つの を すことができます.1つ は つかった の 、2つ は つかった の です.[r, c] = find(a>1)
magic(n)
は、1−n 2 n^2 n 2の を むn*nの を し、 、 、および の を した が しいsum(a)
ごとに prod(a)
の .aはベクトル に1つのスカラーを し、aはマトリクス に ごとに1つのスカラーを すfloor(a)
を り てるceil(a)
rand(n)
0-1 の ランダム n*nのマトリクスmax(rand(3), rand(3))
の2つの3*3 の の ( じ の の )max(a(:))
max(max(a))
m = magic(10)
sum(m,1)
とsum(m,2)
とsum(sum(m.*eye(5)))
m の の を するflipud(eye(5))
、 を るために できますpinv(m)
plotting t = [0:0.01:0.98];
y1= sin(2*pi*4*t);
y2= cos(2*pi*4*t);
plot(t,y1);
hold on;
plot(t,y2,'r');
xlabel('time');
ylabel('value');
legend('sin', 'cos');
title('my plot');
cd 'f:';
print -dpng 'myplot.png';
close;
の が に されます.t = [0:0.01:0.98];
y1= sin(2*pi*4*t);
y2= cos(2*pi*4*t);
figure(1); plot(t,y1);
figure(2); plot(t,y2,'r');
の が じ にsubplot(1,2,1);
plot(t,y1);
subplot(1,2,2);
plot(t,y2,'b');
axis([x_lo, x_hi, y_lo, y_hi]); % ,x_lo:x ,
clf; % ,
???m = magic(5);
imagesc(m);
imagesc(m), colorbar, colormap gray; %
control statements, iterate
のforループ :v = zeros(10,1);
for i=1:10,
v(i) = 2^i;
end;
v
のこともできます.idx = 1:10;
for i=idx, disp(i);
end;
while: i = 1
while i<=5,
v(i) = 100;
i+=1;
end;
if & while: i = 1;
while true,
v(i) = 999;
i = i+1;
if i == 4,
break;
end;
end;