function [R,K] = rigidityMatrixFnc (edgeL) %% Fungsi ini digunakan untuk menggenerasi fungsi rigidity R. %% diaman fungsi tersebut adalah hasil turunan dari fungsi edge addpath("./networks-toolbox"); pkg load symbolic % generasi koneksi bentuk incidence tmp = edgeL2adj(edgeL); gInc = adj2inc(tmp); drawCircGraph(tmp) tmp = getNodes(gInc,'adjacency') % generasi vector error menggunakan matrix % koneksi K = kron(adj2inc(edgeL2adj(edgeL))',eye(2)); edgeVector = @(x,k) k*x; % hasil turunan dari fungsi edge str = "errBlockDiagonal = @(errVec) (blkdiag("; for i = 1:2:(length(tmp)*2)-2 str = strcat(str,sprintf("errVec(%i:%i)', ",i,i+1)); endfor str = strcat(str,sprintf("errVec(%i:%i)' ));",i+2,i+3)); % return sebagai fungsi R eval(str) R = @(x,k) errBlockDiagonal(edgeVector(x,k))*k; endfunction