MATLAB: Matrix manipulations

condtionalfindprobability

Hey all,
I'm having a bit of trouble calculating conditional proabbilities, say I have a matrix such as:
CgvB =
0 0
0 0
0 0
0 1
0 1
0 1
0 1
0 1
0 1
0 1
1 0
1 0
1 1
1 1
and I want to calculate the probability of having a 1 on the 2nd column given having a 1 on the first column in this case ists 2/14, but I'm using a script to automatically calculate all these probabilties. This is what I've started with: p=CgvB(length(CgvB(:,:)==1))/length(CgvB); this works but for empty matrices i get the error :Subscript indices must either be real positive integers or logicals. How can I perform these calculations without errors? Thanks for any help.

Best Answer

You can ensure that your array has the proper dimensions before doing the calculation
[sr,sc]=size(CgvB);
if (sr>0 & sc==2)
p=CgvB(length(CgvB(:,:)==1))/length(CgvB);
else
disp('The array must have at least one row and two columns');
end