Appendix A
A.1 Matlab Code for Interpretive Structural Modeling (ISM-Case Study 2.3)1
clc;
clear;
close all;
syms X V O A %this is for symbolic variables
%INPUT matrix
Self_interaction_Matrix= [1 X O V V O V X O;
0 1 V X X O A V A;
0 0 1 A A A V A A;
0 0 0 1 A O O V O;
0 0 0 0 1 V O V O;
0 0 0 0 0 1 O X A;
0 0 0 0 0 0 1 V O;
0 0 0 0 0 0 0 1 A;
0 0 0 0 0 0 0 0 1]
%Manuplation of the Self-Interaction Matrix to Reachability Matrix
for i = 1:size(Self_interaction_Matrix,1)
for j = 1:size(Self_interaction_Matrix,2)
if Self_interaction_Matrix(i,j)==V
Self_interaction_Matrix(i,j)=1;
Self_interaction_Matrix(j,i)=0;
end
if Self_interaction_Matrix(i,j)==A
Self_interaction_Matrix(i,j)=0;
Self_interaction_Matrix(j,i)=1;
end
if Self_interaction_Matrix(i,j)==X
Self_interaction_Matrix(i,j)=1;
Self_interaction_Matrix(j,i)=1;
end
if Self_interaction_Matrix(i,j)==0
Self_interaction_Matrix(i,j)=0;
Self_interaction_Matrix(j,i)=0;
end
end
end
Initial_Reachability_Matrix=double(Self_interaction_Matrix) %first output
%transitivity
Reachability_Matrix_w_transitivity=Initial_Reachability_Matrix;
for i = 1:size(Initial_Reachability_Matrix,1)
for j = 1:size(Initial_Reachability_Matrix,2)
if Initial_Reachability_Matrix(i,j)==0
B=transpose(Initial_Reachability_Matrix(:,j))&Initial_Reachability_Matrix(i,:);
if sum(B)>0
Reachability_Matrix_w_transitivity(i,j)=1;
end
end
end
end
Reachability_Matrix_w_transitivity %second output MATRIX AKA FINAL REACHABILITY
%Column and Row Sums
for i=1:size(Reachability_Matrix_w_transitivity,1) ...
Get Transdisciplinary Engineering Design Process now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.