from Tieset & Reliability analysis of a System by praveen gujjeti
Reliability analysis of a system

tieset.m
%TO RUN THIS PROGRAM FIRST CHECK "TiesetAnalysis.DOC" FILE
clear;
clc;
disp('ENTER 1-default accuracy, 2-better accuracy , 3-bestaccuracy');
accuracy=input(' : ');
if accuracy == 1
    format;
elseif accuracy == 2
    format long;
else 
    format long g;
end
%format long ;%format for best accuracy

nn=input('ENTER THE NO. OF TIESETTS (n) : ');
for ii=1:nn,
    
    xx = input('enter each tiesett : ','s');
    [M,N] = size(xx);
    SW(ii:ii,1:N)=xx(1:1,1:N);
    
end
done = cellstr(SW);  %for conversion to cell from char
nooftiesets=1:nn; %this is for to make the array

destin='';
for set=1:nn
    destin=strcat(destin,done(set));
end
destin=char(destin);

%LOGIC FOR removing occurance of characters start 
        des='';
                for er=1:length(destin)
                  if er==1
                        des=strcat(des,destin(er));
                    else
                        for ert=1:length(des)
                            if destin(er)==des(ert)
                                ert=-1;
                                break;
                            end
                        end
                        if ert ~=-1 
                            des=strcat(des,destin(er));
                        end
                  end
                end                
        
%LOGIC FOR removing occurance of characters end
des=char(des);

disp('ENTER THE RELIABILITY OF EACH BLOCK : ');
for jc=1:length(des);
    disp('enter ');
    disp(des(jc));
    get=input(': ');
    if des(jc)=='a'
        a = get;
    elseif des(jc)=='b'
        b = get;
    elseif des(jc)=='c'
        c = get;
    elseif des(jc)=='d'
        d = get;
    elseif des(jc)=='e'
        e = get;
    elseif des(jc)=='f'
        f = get;
    elseif des(jc)=='g'
        g = get;
    elseif des(jc)=='h'
        h = get;
    elseif des(jc)=='i'
        i = get;
    elseif des(jc)=='j'
        j = get;
    elseif des(jc)=='k'
        k = get;
    elseif des(jc)=='l'
        l = get;
    elseif des(jc)=='m'
        m = get;
    elseif des(jc)=='n'
        n = get;
    elseif des(jc)=='o'
        o = get;
    elseif des(jc)=='p'
        p = get;
    elseif des(jc)=='q'
        q = get;
    elseif des(jc)=='r'
        r = get;
    elseif des(jc)=='s'
        s = get;
    elseif des(jc)=='t'
        t = get;
    elseif des(jc)=='u'
        u = get;
    elseif des(jc)=='v'
        v = get;
    elseif des(jc)=='w'
        w = get;
    elseif des(jc)=='x'
        x = get;
    elseif des(jc)=='y'
        y = get;
    elseif des(jc)=='z'
        z = get;
    elseif des(jc)=='A'
        A = get;
    elseif des(jc)=='B'
        B = get;
    elseif des(jc)=='C'
        C = get;
    elseif des(jc)=='D'
        D = get;
    elseif des(jc)=='E'
        E = get;
    elseif des(jc)=='F'
        F = get;
    elseif des(jc)=='G'
        G = get;
    elseif des(jc)=='H'
        H = get;
    elseif des(jc)=='I'
        I = get;
    elseif des(jc)=='J'
        J = get;
    elseif des(jc)=='K'
        K = get;
    elseif des(jc)=='L'
        L = get;
    elseif des(jc)=='M'
        M = get;
    elseif des(jc)=='N'
        N = get;
    elseif des(jc)=='O'
        O = get;
    elseif des(jc)=='P'
        P = get;
    elseif des(jc)=='Q'
        Q = get;
    elseif des(jc)=='R'
        R = get;
    elseif des(jc)=='S'
        S = get;
    elseif des(jc)=='T'
        T = get;
    elseif des(jc)=='U'
        U = get;
    elseif des(jc)=='V'
        V = get;
    elseif des(jc)=='W'
        W = get;    
    elseif des(jc)=='X'
        X = get;
    elseif des(jc)=='Y'
        Y = get;    
    else des(jc)=='Z'
        Z = get;
    end
end

t0 = clock;  %this is for time taken to calculate.(start)

sum=0;
for jj=1:nn  %1st
    temp=nchoosek(nooftiesets,jj);
    [row,col] = size(temp);
    for inner = 1:row  %2nd
        if col>1 %if  start
            add='';
            for bmp=1:col   %3rd
                eval=temp(inner,bmp);
                gather=done(eval);
                add=strcat(add,gather);
            end      %3rd  
            gather=char(add);
        else
            eval=temp(inner,col);
            gather=done(eval);
            gather=char(gather);
        end  %if end
        
        %LOGIC FOR removing occurance of characters start 
        des='';
                for er=1:length(gather)
                  if er==1
                        des=strcat(des,gather(er));
                    else
                        for ert=1:length(des)
                            if gather(er)==des(ert)
                                ert=-1;
                                break;
                            end
                        end
                        if ert ~=-1 
                            des=strcat(des,gather(er));
                        end
                  end
                end                
        
        %LOGIC FOR removing occurance of characters end
        gather=char(des);
        [rw,cl]=size(gather);
        product=1;
        for gel=rw:cl     % 'for' (start)
            if  gather(gel) == 'a'
                product = product*a;
            elseif  gather(gel) == 'b'
                    product = product*b;
            elseif  gather(gel) == 'c'
                    product = product*c;
            elseif  gather(gel) == 'd'
                    product = product*d;
            elseif  gather(gel) == 'e'
                    product = product*e;
            elseif  gather(gel) == 'f'
                    product = product*f;
            elseif  gather(gel) == 'g'
                    product = product*g;
            elseif  gather(gel) == 'h'
                    product = product*h;
            elseif  gather(gel) == 'i'
                    product = product*i;
            elseif  gather(gel) == 'j'
                    product = product*j;
            elseif  gather(gel) == 'k'
                    product = product*k;
            elseif  gather(gel) == 'l'
                    product = product*l;
            elseif  gather(gel) == 'm'
                    product = product*m;
            elseif  gather(gel) == 'n'
                    product = product*n;
            elseif  gather(gel) == 'o'
                    product = product*o;
            elseif  gather(gel) == 'p'
                    product = product*p;
            elseif  gather(gel) == 'q'
                    product = product*q; 
            elseif  gather(gel) == 'r'
                    product = product*r;
            elseif  gather(gel) == 's'
                    product = product*s;
            elseif  gather(gel) == 't'
                    product = product*t;
            elseif  gather(gel) == 'u'
                    product = product*u;                    
            elseif  gather(gel) == 'v'
                    product = product*v;
            elseif  gather(gel) == 'w'
                    product = product*w;
            elseif  gather(gel) == 'x'
                    product = product*x;
            elseif  gather(gel) == 'y'
                    product = product*y;     
            elseif  gather(gel) == 'z'
                    product = product*z;     
            elseif  gather(gel) == 'A'
                    product = product*A;     
            elseif  gather(gel) == 'B'
                    product = product*B;
            elseif  gather(gel) == 'C'
                    product = product*C;
            elseif  gather(gel) == 'D'
                    product = product*D;
            elseif  gather(gel) == 'E'
                    product = product*E;
            elseif  gather(gel) == 'F'
                    product = product*F;
            elseif  gather(gel) == 'G'
                    product = product*G;
            elseif  gather(gel) == 'H'
                    product = product*H;
            elseif  gather(gel) == 'I'
                    product = product*I;
            elseif  gather(gel) == 'J'
                    product = product*J;
            elseif  gather(gel) == 'K'
                    product = product*K;
            elseif  gather(gel) == 'L'
                    product = product*L;
            elseif  gather(gel) == 'M'
                    product = product*M;
            elseif  gather(gel) == 'N'
                    product = product*N;
            elseif  gather(gel) == 'O'
                    product = product*O;
            elseif  gather(gel) == 'P'
                    product = product*P;
            elseif  gather(gel) == 'Q'
                    product = product*Q; 
            elseif  gather(gel) == 'R'
                    product = product*R;
            elseif  gather(gel) == 'S'
                    product = product*S;
            elseif  gather(gel) == 'T'
                    product = product*T;
            elseif  gather(gel) == 'U'
                    product = product*U;                    
            elseif  gather(gel) == 'V'
                    product = product*V;
            elseif  gather(gel) == 'W'
                    product = product*W;
            elseif  gather(gel) == 'X'
                    product = product*X;
            elseif  gather(gel) == 'Y'
                    product = product*Y;                         
            else  gather(gel) == 'Z'
                    product = product*Z;
            end
        end   %'for' (end)
        
        %this is to check even or odd (start)
        if mod(jj,2)==0
            product=-product;
        else
            product=product;
        end
        %this is to check even or odd (end)
        sum=sum+product;
    end%2nd    
end%1st
timetaken=etime(clock,t0);%this is for time taken to calculate.(end)
disp('THE RELIABILITY OF THE SYSTEM IS : ');
disp(sum);
disp('TIME TAKEN FOR CALCULATION :');
disp(timetaken);
format;%changing the format to default format of MATLAB

Contact us at files@mathworks.com