!! 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