- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!! OCTAVE
MATHLAB の オープンソース版??
Maximaの場合は Tips-maxima
! インストール
https://www.gnu.org/software/octave/
https://www.gnu.org/software/octave/download.html
https://ftp.jaist.ac.jp/pub/GNU/
http://ftp.iij.ad.jp/pub/gnu/
http://ftp.kddlabs.co.jp/pub/gnu/
! 表示桁数
>> pi
pi = 3.1416
>> format long
>> pi
ans = 3.14159265358979
>> format
>> pi
ans = 3.1415
! マンデルブロ
clear;
clf;
point=[-0.6,0];
length=3.3;
roop=15;
thresh=2;
cut=0.004*length;
% 領域計算
remin=point(1)-length/2;
remax=point(1)+length/2;
immin=point(2)-length/2;
immax=point(2)+length/2;
re=[remin:cut:remax];
im=[immin:cut:immax];
% 領域作成
M=size(re)(2);
N=size(im)(2);
F=zeros(M,N);
% 計算ループ
for m=1:M
for n=1:N
z=0;
c=re(m)+i*im(n);
for k=1:roop
z=z^2+c;
% z=(abs(real(z))+i*abs(imag(z)))^2+c;
if abs(z)>thresh
F(N+1-n,m)=k;
break
endif
if k==roop
F(N+1-n,m)=roop;
endif
endfor
endfor
endfor
% 表示
contourf(re,im,F)
axis([remin remax immin immax],"square")
xlabel("Re")
ylabel("Im")
% 結果保存
print('hogePlot','-dpng')
%% imwrite(F,"./hoge.png"); %% ではできない??なぜかな??
! 演算子
,,,
,加算,+,x+y
,減算,-,x-y
,かけ算,*,x*y
,割算,/,x/y
,剰余,rem(),rem(x、y)
,乗数1,^,x^y
,乗数2,**,x**y
! 行列の項目毎の演算子
,,,
,加算,.+,A+B
,減算,.-,A-B
,かけ算,.*,A*B
,割算,./,A/B
,乗数1,.^,A^B
! 行列
A = [1 2 3;4 5 6;7 8 9]
A(1, 2) = 1
# 1行2列を1にする
# =>
# A =
# 1 1 3
# 4 5 6
# 7 8 9
A(:, 2) = 5
# 2列のすべてを5にする
# =>
# A =
# 1 5 3
# 4 5 6
# 7 5 9
A(3, :) = []
# 3行目をすべて削除(行の削除)
# =>
# A =
# 1 5 3
# 4 5 6
! for 文
for i=1:5
i
endfor
# =>
# j = 1
# j = 2
# j = 3
# j = 4
# j = 5
! if文
if(i == 0 && j == 0)
k
elseif i = 1
j
else
i
endif
! 方程式の解
# x + 2y = 3,
# 2x + 5y = 4 の解
A = [1 2; 2 5]
b = [3;4]
A\b # 解を返す
! ファンクション
function y = given_function (x) # 返り値 = 関数名 (引数)
if (0 < x && x < 1)
y = 1/x + exp(x);
else
y = 0;
endif
endfunction