Tips-octave
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.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