Is there any specific clinical data classification only using triangular membership function available?

4 views (last 30 days)
I am working on fuzzy classification using clinical numeric data. In which, I am going to perform some modification in triangular membership function. It is better if any clinical application data can be classified only using triangular membership function.

Answers (2)

JERMAINE
JERMAINE on 6 Jun 2025
Edited: Walter Roberson on 7 Jun 2025
triangular membership function
1 if = frop _ f —faown . Q — feop — frown i ftop >f > faown 0 i faown =f
  1 Comment
Walter Roberson
Walter Roberson on 7 Jun 2025
Edited: Walter Roberson on 7 Jun 2025
Unfortunately, I do not understand your notation there?
I also do not understand how this is a solution to the question that was given?

Sign in to comment.


Sam Chak
Sam Chak on 20 Jun 2025
This response comes a decade late. Nonetheless, I hope this demo helps others understand how to fuzzify clinical data into the desired types of membership functions.
Additionally, in the past, the mf2mf() function was used to convert the parameters of one type of membership function into those of another. However, this function has become obsolete since R2024b, and the documentation does not provide guidance on how to perform the conversion. Please refer to my approach in Step 5.
If you are still around or active in the MATLAB community, please consider clicking 'Accept' ✔ on the answer to close the issue.
%% Step 1: Get the Clinical data ready
mu = [1 2];
sigma = [1.0, 0.5;
0.5, 2.0];
R = chol(sigma);
n = 200;
zdata = repmat(mu, n, 1) + randn(n, 2)*R;
figure
plot(zdata(:,1), zdata(:,2), 'o'), grid on
xlabel('x'), ylabel('y')
%% Step 2a: Process the clinical data using Fuzzy C-Means Clustering
% This step is not needed, but to show how it computes cluster centers and a fuzzy partition matrix (U) for the clinical data
options = fcmOptions(NumClusters="auto"); % The Expert can decide the number of clusters
[centers, U]= fcm(zdata, options);
Iteration count = 1, obj. fcn = 348.165 Iteration count = 2, obj. fcn = 283.674 Iteration count = 3, obj. fcn = 281.042 Iteration count = 4, obj. fcn = 269.366 Iteration count = 5, obj. fcn = 241.707 Iteration count = 6, obj. fcn = 220.241 Iteration count = 7, obj. fcn = 215.176 Iteration count = 8, obj. fcn = 214.605 Iteration count = 9, obj. fcn = 214.551 Iteration count = 10, obj. fcn = 214.545 Iteration count = 11, obj. fcn = 214.544 Iteration count = 12, obj. fcn = 214.544 Iteration count = 13, obj. fcn = 214.544 Iteration count = 14, obj. fcn = 214.544 Minimum improvement reached. Current number of clusters = 2, Current validity index = 0.381922 Optimal number of clusters = 2, Optimal validity index = 0.381922 Iteration count = 1, obj. fcn = 239.924 Iteration count = 2, obj. fcn = 187.638 Iteration count = 3, obj. fcn = 179.836 Iteration count = 4, obj. fcn = 161.25 Iteration count = 5, obj. fcn = 143.677 Iteration count = 6, obj. fcn = 136.112 Iteration count = 7, obj. fcn = 133.606 Iteration count = 8, obj. fcn = 132.792 Iteration count = 9, obj. fcn = 132.503 Iteration count = 10, obj. fcn = 132.382 Iteration count = 11, obj. fcn = 132.322 Iteration count = 12, obj. fcn = 132.29 Iteration count = 13, obj. fcn = 132.272 Iteration count = 14, obj. fcn = 132.261 Iteration count = 15, obj. fcn = 132.254 Iteration count = 16, obj. fcn = 132.25 Iteration count = 17, obj. fcn = 132.248 Iteration count = 18, obj. fcn = 132.247 Iteration count = 19, obj. fcn = 132.246 Iteration count = 20, obj. fcn = 132.245 Iteration count = 21, obj. fcn = 132.245 Iteration count = 22, obj. fcn = 132.245 Iteration count = 23, obj. fcn = 132.245 Iteration count = 24, obj. fcn = 132.244 Iteration count = 25, obj. fcn = 132.244 Iteration count = 26, obj. fcn = 132.244 Iteration count = 27, obj. fcn = 132.244 Iteration count = 28, obj. fcn = 132.244 Minimum improvement reached. Current number of clusters = 3, Current validity index = 0.780991 Optimal number of clusters = 2, Optimal validity index = 0.381922 Iteration count = 1, obj. fcn = 184.71 Iteration count = 2, obj. fcn = 139.025 Iteration count = 3, obj. fcn = 130.231 Iteration count = 4, obj. fcn = 117.005 Iteration count = 5, obj. fcn = 107.256 Iteration count = 6, obj. fcn = 101.926 Iteration count = 7, obj. fcn = 98.9312 Iteration count = 8, obj. fcn = 97.204 Iteration count = 9, obj. fcn = 96.2483 Iteration count = 10, obj. fcn = 95.7457 Iteration count = 11, obj. fcn = 95.4857 Iteration count = 12, obj. fcn = 95.35 Iteration count = 13, obj. fcn = 95.2776 Iteration count = 14, obj. fcn = 95.2379 Iteration count = 15, obj. fcn = 95.215 Iteration count = 16, obj. fcn = 95.2011 Iteration count = 17, obj. fcn = 95.192 Iteration count = 18, obj. fcn = 95.1853 Iteration count = 19, obj. fcn = 95.1801 Iteration count = 20, obj. fcn = 95.1756 Iteration count = 21, obj. fcn = 95.1716 Iteration count = 22, obj. fcn = 95.1678 Iteration count = 23, obj. fcn = 95.1642 Iteration count = 24, obj. fcn = 95.1607 Iteration count = 25, obj. fcn = 95.1573 Iteration count = 26, obj. fcn = 95.1541 Iteration count = 27, obj. fcn = 95.1509 Iteration count = 28, obj. fcn = 95.1479 Iteration count = 29, obj. fcn = 95.1449 Iteration count = 30, obj. fcn = 95.1421 Iteration count = 31, obj. fcn = 95.1393 Iteration count = 32, obj. fcn = 95.1367 Iteration count = 33, obj. fcn = 95.1342 Iteration count = 34, obj. fcn = 95.1319 Iteration count = 35, obj. fcn = 95.1296 Iteration count = 36, obj. fcn = 95.1275 Iteration count = 37, obj. fcn = 95.1255 Iteration count = 38, obj. fcn = 95.1237 Iteration count = 39, obj. fcn = 95.1219 Iteration count = 40, obj. fcn = 95.1203 Iteration count = 41, obj. fcn = 95.1188 Iteration count = 42, obj. fcn = 95.1174 Iteration count = 43, obj. fcn = 95.1161 Iteration count = 44, obj. fcn = 95.1149 Iteration count = 45, obj. fcn = 95.1138 Iteration count = 46, obj. fcn = 95.1127 Iteration count = 47, obj. fcn = 95.1118 Iteration count = 48, obj. fcn = 95.111 Iteration count = 49, obj. fcn = 95.1102 Iteration count = 50, obj. fcn = 95.1095 Iteration count = 51, obj. fcn = 95.1088 Iteration count = 52, obj. fcn = 95.1082 Iteration count = 53, obj. fcn = 95.1077 Iteration count = 54, obj. fcn = 95.1072 Iteration count = 55, obj. fcn = 95.1068 Iteration count = 56, obj. fcn = 95.1064 Iteration count = 57, obj. fcn = 95.106 Iteration count = 58, obj. fcn = 95.1057 Iteration count = 59, obj. fcn = 95.1054 Iteration count = 60, obj. fcn = 95.1052 Iteration count = 61, obj. fcn = 95.1049 Iteration count = 62, obj. fcn = 95.1047 Iteration count = 63, obj. fcn = 95.1045 Iteration count = 64, obj. fcn = 95.1044 Iteration count = 65, obj. fcn = 95.1042 Iteration count = 66, obj. fcn = 95.1041 Iteration count = 67, obj. fcn = 95.104 Iteration count = 68, obj. fcn = 95.1039 Iteration count = 69, obj. fcn = 95.1038 Iteration count = 70, obj. fcn = 95.1037 Iteration count = 71, obj. fcn = 95.1036 Iteration count = 72, obj. fcn = 95.1035 Iteration count = 73, obj. fcn = 95.1035 Iteration count = 74, obj. fcn = 95.1034 Iteration count = 75, obj. fcn = 95.1034 Iteration count = 76, obj. fcn = 95.1033 Iteration count = 77, obj. fcn = 95.1033 Iteration count = 78, obj. fcn = 95.1032 Iteration count = 79, obj. fcn = 95.1032 Iteration count = 80, obj. fcn = 95.1032 Iteration count = 81, obj. fcn = 95.1032 Iteration count = 82, obj. fcn = 95.1031 Iteration count = 83, obj. fcn = 95.1031 Iteration count = 84, obj. fcn = 95.1031 Iteration count = 85, obj. fcn = 95.1031 Iteration count = 86, obj. fcn = 95.1031 Iteration count = 87, obj. fcn = 95.1031 Iteration count = 88, obj. fcn = 95.1031 Iteration count = 89, obj. fcn = 95.103 Minimum improvement reached. Current number of clusters = 4, Current validity index = 1.25007 Optimal number of clusters = 2, Optimal validity index = 0.381922 Iteration count = 1, obj. fcn = 148.905 Iteration count = 2, obj. fcn = 113.199 Iteration count = 3, obj. fcn = 110.66 Iteration count = 4, obj. fcn = 102.936 Iteration count = 5, obj. fcn = 91.6813 Iteration count = 6, obj. fcn = 82.8832 Iteration count = 7, obj. fcn = 78.0338 Iteration count = 8, obj. fcn = 75.9542 Iteration count = 9, obj. fcn = 75.1129 Iteration count = 10, obj. fcn = 74.737 Iteration count = 11, obj. fcn = 74.5382 Iteration count = 12, obj. fcn = 74.4132 Iteration count = 13, obj. fcn = 74.3238 Iteration count = 14, obj. fcn = 74.2549 Iteration count = 15, obj. fcn = 74.1996 Iteration count = 16, obj. fcn = 74.1544 Iteration count = 17, obj. fcn = 74.1168 Iteration count = 18, obj. fcn = 74.0853 Iteration count = 19, obj. fcn = 74.0583 Iteration count = 20, obj. fcn = 74.0347 Iteration count = 21, obj. fcn = 74.0135 Iteration count = 22, obj. fcn = 73.9937 Iteration count = 23, obj. fcn = 73.9747 Iteration count = 24, obj. fcn = 73.9558 Iteration count = 25, obj. fcn = 73.9365 Iteration count = 26, obj. fcn = 73.9164 Iteration count = 27, obj. fcn = 73.8952 Iteration count = 28, obj. fcn = 73.8726 Iteration count = 29, obj. fcn = 73.8486 Iteration count = 30, obj. fcn = 73.823 Iteration count = 31, obj. fcn = 73.7962 Iteration count = 32, obj. fcn = 73.7682 Iteration count = 33, obj. fcn = 73.7394 Iteration count = 34, obj. fcn = 73.7103 Iteration count = 35, obj. fcn = 73.6812 Iteration count = 36, obj. fcn = 73.6527 Iteration count = 37, obj. fcn = 73.6252 Iteration count = 38, obj. fcn = 73.5992 Iteration count = 39, obj. fcn = 73.575 Iteration count = 40, obj. fcn = 73.5528 Iteration count = 41, obj. fcn = 73.5327 Iteration count = 42, obj. fcn = 73.5149 Iteration count = 43, obj. fcn = 73.4993 Iteration count = 44, obj. fcn = 73.4858 Iteration count = 45, obj. fcn = 73.4742 Iteration count = 46, obj. fcn = 73.4643 Iteration count = 47, obj. fcn = 73.456 Iteration count = 48, obj. fcn = 73.449 Iteration count = 49, obj. fcn = 73.4433 Iteration count = 50, obj. fcn = 73.4385 Iteration count = 51, obj. fcn = 73.4346 Iteration count = 52, obj. fcn = 73.4314 Iteration count = 53, obj. fcn = 73.4288 Iteration count = 54, obj. fcn = 73.4266 Iteration count = 55, obj. fcn = 73.4249 Iteration count = 56, obj. fcn = 73.4235 Iteration count = 57, obj. fcn = 73.4224 Iteration count = 58, obj. fcn = 73.4214 Iteration count = 59, obj. fcn = 73.4207 Iteration count = 60, obj. fcn = 73.4201 Iteration count = 61, obj. fcn = 73.4196 Iteration count = 62, obj. fcn = 73.4192 Iteration count = 63, obj. fcn = 73.4189 Iteration count = 64, obj. fcn = 73.4186 Iteration count = 65, obj. fcn = 73.4184 Iteration count = 66, obj. fcn = 73.4183 Iteration count = 67, obj. fcn = 73.4181 Iteration count = 68, obj. fcn = 73.418 Iteration count = 69, obj. fcn = 73.418 Iteration count = 70, obj. fcn = 73.4179 Iteration count = 71, obj. fcn = 73.4178 Iteration count = 72, obj. fcn = 73.4178 Iteration count = 73, obj. fcn = 73.4177 Iteration count = 74, obj. fcn = 73.4177 Iteration count = 75, obj. fcn = 73.4177 Iteration count = 76, obj. fcn = 73.4177 Iteration count = 77, obj. fcn = 73.4177 Iteration count = 78, obj. fcn = 73.4176 Iteration count = 79, obj. fcn = 73.4176 Iteration count = 80, obj. fcn = 73.4176 Minimum improvement reached. Current number of clusters = 5, Current validity index = 1.27576 Optimal number of clusters = 2, Optimal validity index = 0.381922 Iteration count = 1, obj. fcn = 125.261 Iteration count = 2, obj. fcn = 94.0685 Iteration count = 3, obj. fcn = 91.1515 Iteration count = 4, obj. fcn = 84.2486 Iteration count = 5, obj. fcn = 75.8606 Iteration count = 6, obj. fcn = 69.4636 Iteration count = 7, obj. fcn = 65.3236 Iteration count = 8, obj. fcn = 62.9277 Iteration count = 9, obj. fcn = 61.781 Iteration count = 10, obj. fcn = 61.2172 Iteration count = 11, obj. fcn = 60.901 Iteration count = 12, obj. fcn = 60.694 Iteration count = 13, obj. fcn = 60.5411 Iteration count = 14, obj. fcn = 60.4204 Iteration count = 15, obj. fcn = 60.3222 Iteration count = 16, obj. fcn = 60.2417 Iteration count = 17, obj. fcn = 60.1758 Iteration count = 18, obj. fcn = 60.1213 Iteration count = 19, obj. fcn = 60.0758 Iteration count = 20, obj. fcn = 60.0364 Iteration count = 21, obj. fcn = 60.0007 Iteration count = 22, obj. fcn = 59.9662 Iteration count = 23, obj. fcn = 59.9307 Iteration count = 24, obj. fcn = 59.8921 Iteration count = 25, obj. fcn = 59.8487 Iteration count = 26, obj. fcn = 59.7995 Iteration count = 27, obj. fcn = 59.7449 Iteration count = 28, obj. fcn = 59.6862 Iteration count = 29, obj. fcn = 59.6262 Iteration count = 30, obj. fcn = 59.568 Iteration count = 31, obj. fcn = 59.5146 Iteration count = 32, obj. fcn = 59.4675 Iteration count = 33, obj. fcn = 59.4272 Iteration count = 34, obj. fcn = 59.3929 Iteration count = 35, obj. fcn = 59.3633 Iteration count = 36, obj. fcn = 59.3367 Iteration count = 37, obj. fcn = 59.312 Iteration count = 38, obj. fcn = 59.2878 Iteration count = 39, obj. fcn = 59.2634 Iteration count = 40, obj. fcn = 59.2379 Iteration count = 41, obj. fcn = 59.2109 Iteration count = 42, obj. fcn = 59.1818 Iteration count = 43, obj. fcn = 59.1504 Iteration count = 44, obj. fcn = 59.1163 Iteration count = 45, obj. fcn = 59.0794 Iteration count = 46, obj. fcn = 59.0398 Iteration count = 47, obj. fcn = 58.9977 Iteration count = 48, obj. fcn = 58.9532 Iteration count = 49, obj. fcn = 58.9071 Iteration count = 50, obj. fcn = 58.8597 Iteration count = 51, obj. fcn = 58.8117 Iteration count = 52, obj. fcn = 58.7637 Iteration count = 53, obj. fcn = 58.7161 Iteration count = 54, obj. fcn = 58.6693 Iteration count = 55, obj. fcn = 58.6233 Iteration count = 56, obj. fcn = 58.578 Iteration count = 57, obj. fcn = 58.5334 Iteration count = 58, obj. fcn = 58.4889 Iteration count = 59, obj. fcn = 58.4441 Iteration count = 60, obj. fcn = 58.3986 Iteration count = 61, obj. fcn = 58.3517 Iteration count = 62, obj. fcn = 58.3032 Iteration count = 63, obj. fcn = 58.2527 Iteration count = 64, obj. fcn = 58.2004 Iteration count = 65, obj. fcn = 58.1469 Iteration count = 66, obj. fcn = 58.093 Iteration count = 67, obj. fcn = 58.0403 Iteration count = 68, obj. fcn = 57.9902 Iteration count = 69, obj. fcn = 57.9443 Iteration count = 70, obj. fcn = 57.9036 Iteration count = 71, obj. fcn = 57.8687 Iteration count = 72, obj. fcn = 57.8397 Iteration count = 73, obj. fcn = 57.8162 Iteration count = 74, obj. fcn = 57.7975 Iteration count = 75, obj. fcn = 57.783 Iteration count = 76, obj. fcn = 57.7719 Iteration count = 77, obj. fcn = 57.7634 Iteration count = 78, obj. fcn = 57.757 Iteration count = 79, obj. fcn = 57.7522 Iteration count = 80, obj. fcn = 57.7486 Iteration count = 81, obj. fcn = 57.7459 Iteration count = 82, obj. fcn = 57.7439 Iteration count = 83, obj. fcn = 57.7424 Iteration count = 84, obj. fcn = 57.7412 Iteration count = 85, obj. fcn = 57.7403 Iteration count = 86, obj. fcn = 57.7397 Iteration count = 87, obj. fcn = 57.7391 Iteration count = 88, obj. fcn = 57.7387 Iteration count = 89, obj. fcn = 57.7384 Iteration count = 90, obj. fcn = 57.7382 Iteration count = 91, obj. fcn = 57.738 Iteration count = 92, obj. fcn = 57.7379 Iteration count = 93, obj. fcn = 57.7377 Iteration count = 94, obj. fcn = 57.7376 Iteration count = 95, obj. fcn = 57.7376 Iteration count = 96, obj. fcn = 57.7375 Iteration count = 97, obj. fcn = 57.7375 Iteration count = 98, obj. fcn = 57.7374 Iteration count = 99, obj. fcn = 57.7374 Iteration count = 100, obj. fcn = 57.7374 Maximum iteration reached. Current number of clusters = 6, Current validity index = 1.05138 Optimal number of clusters = 2, Optimal validity index = 0.381922 Iteration count = 1, obj. fcn = 107.735 Iteration count = 2, obj. fcn = 79.1616 Iteration count = 3, obj. fcn = 73.0436 Iteration count = 4, obj. fcn = 64.059 Iteration count = 5, obj. fcn = 58.3002 Iteration count = 6, obj. fcn = 55.1325 Iteration count = 7, obj. fcn = 53.1979 Iteration count = 8, obj. fcn = 52.0973 Iteration count = 9, obj. fcn = 51.3419 Iteration count = 10, obj. fcn = 50.7078 Iteration count = 11, obj. fcn = 50.2003 Iteration count = 12, obj. fcn = 49.8353 Iteration count = 13, obj. fcn = 49.5756 Iteration count = 14, obj. fcn = 49.3817 Iteration count = 15, obj. fcn = 49.2289 Iteration count = 16, obj. fcn = 49.1034 Iteration count = 17, obj. fcn = 48.9974 Iteration count = 18, obj. fcn = 48.9069 Iteration count = 19, obj. fcn = 48.829 Iteration count = 20, obj. fcn = 48.7622 Iteration count = 21, obj. fcn = 48.7052 Iteration count = 22, obj. fcn = 48.6573 Iteration count = 23, obj. fcn = 48.6176 Iteration count = 24, obj. fcn = 48.5853 Iteration count = 25, obj. fcn = 48.5595 Iteration count = 26, obj. fcn = 48.5393 Iteration count = 27, obj. fcn = 48.5237 Iteration count = 28, obj. fcn = 48.5118 Iteration count = 29, obj. fcn = 48.5028 Iteration count = 30, obj. fcn = 48.4961 Iteration count = 31, obj. fcn = 48.491 Iteration count = 32, obj. fcn = 48.4873 Iteration count = 33, obj. fcn = 48.4845 Iteration count = 34, obj. fcn = 48.4824 Iteration count = 35, obj. fcn = 48.4808 Iteration count = 36, obj. fcn = 48.4797 Iteration count = 37, obj. fcn = 48.4788 Iteration count = 38, obj. fcn = 48.4782 Iteration count = 39, obj. fcn = 48.4777 Iteration count = 40, obj. fcn = 48.4773 Iteration count = 41, obj. fcn = 48.4771 Iteration count = 42, obj. fcn = 48.4768 Iteration count = 43, obj. fcn = 48.4767 Iteration count = 44, obj. fcn = 48.4766 Iteration count = 45, obj. fcn = 48.4765 Iteration count = 46, obj. fcn = 48.4764 Iteration count = 47, obj. fcn = 48.4764 Iteration count = 48, obj. fcn = 48.4763 Iteration count = 49, obj. fcn = 48.4763 Iteration count = 50, obj. fcn = 48.4763 Iteration count = 51, obj. fcn = 48.4762 Iteration count = 52, obj. fcn = 48.4762 Iteration count = 53, obj. fcn = 48.4762 Iteration count = 54, obj. fcn = 48.4762 Minimum improvement reached. Current number of clusters = 7, Current validity index = 1.76242 Optimal number of clusters = 2, Optimal validity index = 0.381922 Iteration count = 1, obj. fcn = 93.8582 Iteration count = 2, obj. fcn = 70.8157 Iteration count = 3, obj. fcn = 69.4893 Iteration count = 4, obj. fcn = 65.1125 Iteration count = 5, obj. fcn = 58.6787 Iteration count = 6, obj. fcn = 53.0716 Iteration count = 7, obj. fcn = 49.1723 Iteration count = 8, obj. fcn = 46.7149 Iteration count = 9, obj. fcn = 45.2254 Iteration count = 10, obj. fcn = 44.2202 Iteration count = 11, obj. fcn = 43.5712 Iteration count = 12, obj. fcn = 43.1898 Iteration count = 13, obj. fcn = 42.9634 Iteration count = 14, obj. fcn = 42.8093 Iteration count = 15, obj. fcn = 42.6751 Iteration count = 16, obj. fcn = 42.5231 Iteration count = 17, obj. fcn = 42.3301 Iteration count = 18, obj. fcn = 42.1092 Iteration count = 19, obj. fcn = 41.908 Iteration count = 20, obj. fcn = 41.7587 Iteration count = 21, obj. fcn = 41.6567 Iteration count = 22, obj. fcn = 41.5859 Iteration count = 23, obj. fcn = 41.5349 Iteration count = 24, obj. fcn = 41.4971 Iteration count = 25, obj. fcn = 41.4693 Iteration count = 26, obj. fcn = 41.449 Iteration count = 27, obj. fcn = 41.4344 Iteration count = 28, obj. fcn = 41.424 Iteration count = 29, obj. fcn = 41.4166 Iteration count = 30, obj. fcn = 41.4113 Iteration count = 31, obj. fcn = 41.4075 Iteration count = 32, obj. fcn = 41.4048 Iteration count = 33, obj. fcn = 41.4028 Iteration count = 34, obj. fcn = 41.4013 Iteration count = 35, obj. fcn = 41.4002 Iteration count = 36, obj. fcn = 41.3993 Iteration count = 37, obj. fcn = 41.3985 Iteration count = 38, obj. fcn = 41.3979 Iteration count = 39, obj. fcn = 41.3974 Iteration count = 40, obj. fcn = 41.3969 Iteration count = 41, obj. fcn = 41.3963 Iteration count = 42, obj. fcn = 41.3958 Iteration count = 43, obj. fcn = 41.3952 Iteration count = 44, obj. fcn = 41.3945 Iteration count = 45, obj. fcn = 41.3937 Iteration count = 46, obj. fcn = 41.3928 Iteration count = 47, obj. fcn = 41.3917 Iteration count = 48, obj. fcn = 41.3904 Iteration count = 49, obj. fcn = 41.3888 Iteration count = 50, obj. fcn = 41.3869 Iteration count = 51, obj. fcn = 41.3847 Iteration count = 52, obj. fcn = 41.3821 Iteration count = 53, obj. fcn = 41.379 Iteration count = 54, obj. fcn = 41.3754 Iteration count = 55, obj. fcn = 41.3712 Iteration count = 56, obj. fcn = 41.3665 Iteration count = 57, obj. fcn = 41.3612 Iteration count = 58, obj. fcn = 41.3553 Iteration count = 59, obj. fcn = 41.3489 Iteration count = 60, obj. fcn = 41.342 Iteration count = 61, obj. fcn = 41.3347 Iteration count = 62, obj. fcn = 41.3273 Iteration count = 63, obj. fcn = 41.3197 Iteration count = 64, obj. fcn = 41.3123 Iteration count = 65, obj. fcn = 41.3052 Iteration count = 66, obj. fcn = 41.2984 Iteration count = 67, obj. fcn = 41.2923 Iteration count = 68, obj. fcn = 41.2868 Iteration count = 69, obj. fcn = 41.2819 Iteration count = 70, obj. fcn = 41.2778 Iteration count = 71, obj. fcn = 41.2743 Iteration count = 72, obj. fcn = 41.2713 Iteration count = 73, obj. fcn = 41.269 Iteration count = 74, obj. fcn = 41.267 Iteration count = 75, obj. fcn = 41.2655 Iteration count = 76, obj. fcn = 41.2643 Iteration count = 77, obj. fcn = 41.2633 Iteration count = 78, obj. fcn = 41.2625 Iteration count = 79, obj. fcn = 41.2619 Iteration count = 80, obj. fcn = 41.2614 Iteration count = 81, obj. fcn = 41.2611 Iteration count = 82, obj. fcn = 41.2608 Iteration count = 83, obj. fcn = 41.2606 Iteration count = 84, obj. fcn = 41.2604 Iteration count = 85, obj. fcn = 41.2603 Iteration count = 86, obj. fcn = 41.2602 Iteration count = 87, obj. fcn = 41.2601 Iteration count = 88, obj. fcn = 41.26 Iteration count = 89, obj. fcn = 41.26 Iteration count = 90, obj. fcn = 41.2599 Iteration count = 91, obj. fcn = 41.2599 Iteration count = 92, obj. fcn = 41.2599 Iteration count = 93, obj. fcn = 41.2599 Iteration count = 94, obj. fcn = 41.2599 Iteration count = 95, obj. fcn = 41.2598 Iteration count = 96, obj. fcn = 41.2598 Minimum improvement reached. Current number of clusters = 8, Current validity index = 1.4591 Optimal number of clusters = 2, Optimal validity index = 0.381922 Iteration count = 1, obj. fcn = 82.7906 Iteration count = 2, obj. fcn = 62.5224 Iteration count = 3, obj. fcn = 60.1794 Iteration count = 4, obj. fcn = 55.124 Iteration count = 5, obj. fcn = 48.8069 Iteration count = 6, obj. fcn = 43.8785 Iteration count = 7, obj. fcn = 41.0288 Iteration count = 8, obj. fcn = 39.2168 Iteration count = 9, obj. fcn = 37.963 Iteration count = 10, obj. fcn = 37.3288 Iteration count = 11, obj. fcn = 37.0561 Iteration count = 12, obj. fcn = 36.929 Iteration count = 13, obj. fcn = 36.8619 Iteration count = 14, obj. fcn = 36.8231 Iteration count = 15, obj. fcn = 36.7992 Iteration count = 16, obj. fcn = 36.7839 Iteration count = 17, obj. fcn = 36.7735 Iteration count = 18, obj. fcn = 36.7661 Iteration count = 19, obj. fcn = 36.7605 Iteration count = 20, obj. fcn = 36.7558 Iteration count = 21, obj. fcn = 36.7518 Iteration count = 22, obj. fcn = 36.7481 Iteration count = 23, obj. fcn = 36.7446 Iteration count = 24, obj. fcn = 36.7411 Iteration count = 25, obj. fcn = 36.7377 Iteration count = 26, obj. fcn = 36.7343 Iteration count = 27, obj. fcn = 36.7308 Iteration count = 28, obj. fcn = 36.7274 Iteration count = 29, obj. fcn = 36.7238 Iteration count = 30, obj. fcn = 36.7203 Iteration count = 31, obj. fcn = 36.7167 Iteration count = 32, obj. fcn = 36.7131 Iteration count = 33, obj. fcn = 36.7095 Iteration count = 34, obj. fcn = 36.7058 Iteration count = 35, obj. fcn = 36.7022 Iteration count = 36, obj. fcn = 36.6985 Iteration count = 37, obj. fcn = 36.6948 Iteration count = 38, obj. fcn = 36.6911 Iteration count = 39, obj. fcn = 36.6873 Iteration count = 40, obj. fcn = 36.6836 Iteration count = 41, obj. fcn = 36.6798 Iteration count = 42, obj. fcn = 36.676 Iteration count = 43, obj. fcn = 36.6722 Iteration count = 44, obj. fcn = 36.6684 Iteration count = 45, obj. fcn = 36.6644 Iteration count = 46, obj. fcn = 36.6605 Iteration count = 47, obj. fcn = 36.6564 Iteration count = 48, obj. fcn = 36.6522 Iteration count = 49, obj. fcn = 36.6478 Iteration count = 50, obj. fcn = 36.6433 Iteration count = 51, obj. fcn = 36.6386 Iteration count = 52, obj. fcn = 36.6336 Iteration count = 53, obj. fcn = 36.6282 Iteration count = 54, obj. fcn = 36.6224 Iteration count = 55, obj. fcn = 36.6161 Iteration count = 56, obj. fcn = 36.6093 Iteration count = 57, obj. fcn = 36.6016 Iteration count = 58, obj. fcn = 36.593 Iteration count = 59, obj. fcn = 36.5834 Iteration count = 60, obj. fcn = 36.5723 Iteration count = 61, obj. fcn = 36.5597 Iteration count = 62, obj. fcn = 36.5452 Iteration count = 63, obj. fcn = 36.5285 Iteration count = 64, obj. fcn = 36.5093 Iteration count = 65, obj. fcn = 36.4873 Iteration count = 66, obj. fcn = 36.4625 Iteration count = 67, obj. fcn = 36.4345 Iteration count = 68, obj. fcn = 36.4036 Iteration count = 69, obj. fcn = 36.3698 Iteration count = 70, obj. fcn = 36.3333 Iteration count = 71, obj. fcn = 36.2945 Iteration count = 72, obj. fcn = 36.2539 Iteration count = 73, obj. fcn = 36.2126 Iteration count = 74, obj. fcn = 36.1716 Iteration count = 75, obj. fcn = 36.1323 Iteration count = 76, obj. fcn = 36.0958 Iteration count = 77, obj. fcn = 36.0632 Iteration count = 78, obj. fcn = 36.0348 Iteration count = 79, obj. fcn = 36.0107 Iteration count = 80, obj. fcn = 35.9904 Iteration count = 81, obj. fcn = 35.9733 Iteration count = 82, obj. fcn = 35.9585 Iteration count = 83, obj. fcn = 35.9452 Iteration count = 84, obj. fcn = 35.9325 Iteration count = 85, obj. fcn = 35.9192 Iteration count = 86, obj. fcn = 35.9044 Iteration count = 87, obj. fcn = 35.887 Iteration count = 88, obj. fcn = 35.8659 Iteration count = 89, obj. fcn = 35.841 Iteration count = 90, obj. fcn = 35.8129 Iteration count = 91, obj. fcn = 35.7836 Iteration count = 92, obj. fcn = 35.7558 Iteration count = 93, obj. fcn = 35.7313 Iteration count = 94, obj. fcn = 35.7112 Iteration count = 95, obj. fcn = 35.6951 Iteration count = 96, obj. fcn = 35.6825 Iteration count = 97, obj. fcn = 35.6724 Iteration count = 98, obj. fcn = 35.6644 Iteration count = 99, obj. fcn = 35.658 Iteration count = 100, obj. fcn = 35.6527 Maximum iteration reached. Current number of clusters = 9, Current validity index = 1.81018 Optimal number of clusters = 2, Optimal validity index = 0.381922 Iteration count = 1, obj. fcn = 76.209 Iteration count = 2, obj. fcn = 56.0352 Iteration count = 3, obj. fcn = 53.4155 Iteration count = 4, obj. fcn = 47.8761 Iteration count = 5, obj. fcn = 42.8311 Iteration count = 6, obj. fcn = 39.4763 Iteration count = 7, obj. fcn = 36.9838 Iteration count = 8, obj. fcn = 35.162 Iteration count = 9, obj. fcn = 34.0566 Iteration count = 10, obj. fcn = 33.4236 Iteration count = 11, obj. fcn = 33.1077 Iteration count = 12, obj. fcn = 32.9544 Iteration count = 13, obj. fcn = 32.8696 Iteration count = 14, obj. fcn = 32.814 Iteration count = 15, obj. fcn = 32.7717 Iteration count = 16, obj. fcn = 32.7346 Iteration count = 17, obj. fcn = 32.6974 Iteration count = 18, obj. fcn = 32.6563 Iteration count = 19, obj. fcn = 32.6076 Iteration count = 20, obj. fcn = 32.5495 Iteration count = 21, obj. fcn = 32.4822 Iteration count = 22, obj. fcn = 32.4088 Iteration count = 23, obj. fcn = 32.3323 Iteration count = 24, obj. fcn = 32.2525 Iteration count = 25, obj. fcn = 32.1662 Iteration count = 26, obj. fcn = 32.0692 Iteration count = 27, obj. fcn = 31.9589 Iteration count = 28, obj. fcn = 31.8369 Iteration count = 29, obj. fcn = 31.7113 Iteration count = 30, obj. fcn = 31.5937 Iteration count = 31, obj. fcn = 31.4941 Iteration count = 32, obj. fcn = 31.4159 Iteration count = 33, obj. fcn = 31.3566 Iteration count = 34, obj. fcn = 31.3117 Iteration count = 35, obj. fcn = 31.2768 Iteration count = 36, obj. fcn = 31.2491 Iteration count = 37, obj. fcn = 31.2265 Iteration count = 38, obj. fcn = 31.2078 Iteration count = 39, obj. fcn = 31.1923 Iteration count = 40, obj. fcn = 31.1795 Iteration count = 41, obj. fcn = 31.1691 Iteration count = 42, obj. fcn = 31.1606 Iteration count = 43, obj. fcn = 31.1539 Iteration count = 44, obj. fcn = 31.1485 Iteration count = 45, obj. fcn = 31.1443 Iteration count = 46, obj. fcn = 31.141 Iteration count = 47, obj. fcn = 31.1384 Iteration count = 48, obj. fcn = 31.1363 Iteration count = 49, obj. fcn = 31.1346 Iteration count = 50, obj. fcn = 31.1333 Iteration count = 51, obj. fcn = 31.1322 Iteration count = 52, obj. fcn = 31.1313 Iteration count = 53, obj. fcn = 31.1306 Iteration count = 54, obj. fcn = 31.13 Iteration count = 55, obj. fcn = 31.1296 Iteration count = 56, obj. fcn = 31.1292 Iteration count = 57, obj. fcn = 31.1289 Iteration count = 58, obj. fcn = 31.1286 Iteration count = 59, obj. fcn = 31.1284 Iteration count = 60, obj. fcn = 31.1282 Iteration count = 61, obj. fcn = 31.128 Iteration count = 62, obj. fcn = 31.1279 Iteration count = 63, obj. fcn = 31.1278 Iteration count = 64, obj. fcn = 31.1277 Iteration count = 65, obj. fcn = 31.1276 Iteration count = 66, obj. fcn = 31.1275 Iteration count = 67, obj. fcn = 31.1275 Iteration count = 68, obj. fcn = 31.1274 Iteration count = 69, obj. fcn = 31.1274 Iteration count = 70, obj. fcn = 31.1273 Iteration count = 71, obj. fcn = 31.1273 Iteration count = 72, obj. fcn = 31.1273 Iteration count = 73, obj. fcn = 31.1272 Iteration count = 74, obj. fcn = 31.1272 Iteration count = 75, obj. fcn = 31.1272 Iteration count = 76, obj. fcn = 31.1272 Iteration count = 77, obj. fcn = 31.1272 Iteration count = 78, obj. fcn = 31.1272 Iteration count = 79, obj. fcn = 31.1272 Minimum improvement reached. Current number of clusters = 10, Current validity index = 2.28414 Optimal number of clusters = 2, Optimal validity index = 0.381922 Iteration count = 1, obj. fcn = 68.3373 Iteration count = 2, obj. fcn = 51.1159 Iteration count = 3, obj. fcn = 48.9406 Iteration count = 4, obj. fcn = 44.4934 Iteration count = 5, obj. fcn = 39.7558 Iteration count = 6, obj. fcn = 36.329 Iteration count = 7, obj. fcn = 33.9661 Iteration count = 8, obj. fcn = 32.471 Iteration count = 9, obj. fcn = 31.4953 Iteration count = 10, obj. fcn = 30.7045 Iteration count = 11, obj. fcn = 30.0161 Iteration count = 12, obj. fcn = 29.5458 Iteration count = 13, obj. fcn = 29.2345 Iteration count = 14, obj. fcn = 28.9655 Iteration count = 15, obj. fcn = 28.7292 Iteration count = 16, obj. fcn = 28.5411 Iteration count = 17, obj. fcn = 28.3985 Iteration count = 18, obj. fcn = 28.2918 Iteration count = 19, obj. fcn = 28.2117 Iteration count = 20, obj. fcn = 28.1518 Iteration count = 21, obj. fcn = 28.108 Iteration count = 22, obj. fcn = 28.0768 Iteration count = 23, obj. fcn = 28.0547 Iteration count = 24, obj. fcn = 28.0389 Iteration count = 25, obj. fcn = 28.0272 Iteration count = 26, obj. fcn = 28.0184 Iteration count = 27, obj. fcn = 28.0116 Iteration count = 28, obj. fcn = 28.0061 Iteration count = 29, obj. fcn = 28.0016 Iteration count = 30, obj. fcn = 27.9978 Iteration count = 31, obj. fcn = 27.9947 Iteration count = 32, obj. fcn = 27.992 Iteration count = 33, obj. fcn = 27.9896 Iteration count = 34, obj. fcn = 27.9876 Iteration count = 35, obj. fcn = 27.9859 Iteration count = 36, obj. fcn = 27.9843 Iteration count = 37, obj. fcn = 27.983 Iteration count = 38, obj. fcn = 27.9818 Iteration count = 39, obj. fcn = 27.9808 Iteration count = 40, obj. fcn = 27.9799 Iteration count = 41, obj. fcn = 27.979 Iteration count = 42, obj. fcn = 27.9783 Iteration count = 43, obj. fcn = 27.9777 Iteration count = 44, obj. fcn = 27.9771 Iteration count = 45, obj. fcn = 27.9766 Iteration count = 46, obj. fcn = 27.9762 Iteration count = 47, obj. fcn = 27.9758 Iteration count = 48, obj. fcn = 27.9754 Iteration count = 49, obj. fcn = 27.9751 Iteration count = 50, obj. fcn = 27.9748 Iteration count = 51, obj. fcn = 27.9745 Iteration count = 52, obj. fcn = 27.9743 Iteration count = 53, obj. fcn = 27.9741 Iteration count = 54, obj. fcn = 27.9739 Iteration count = 55, obj. fcn = 27.9737 Iteration count = 56, obj. fcn = 27.9735 Iteration count = 57, obj. fcn = 27.9734 Iteration count = 58, obj. fcn = 27.9732 Iteration count = 59, obj. fcn = 27.9731 Iteration count = 60, obj. fcn = 27.973 Iteration count = 61, obj. fcn = 27.9729 Iteration count = 62, obj. fcn = 27.9728 Iteration count = 63, obj. fcn = 27.9727 Iteration count = 64, obj. fcn = 27.9726 Iteration count = 65, obj. fcn = 27.9725 Iteration count = 66, obj. fcn = 27.9724 Iteration count = 67, obj. fcn = 27.9723 Iteration count = 68, obj. fcn = 27.9722 Iteration count = 69, obj. fcn = 27.9722 Iteration count = 70, obj. fcn = 27.9721 Iteration count = 71, obj. fcn = 27.972 Iteration count = 72, obj. fcn = 27.972 Iteration count = 73, obj. fcn = 27.9719 Iteration count = 74, obj. fcn = 27.9718 Iteration count = 75, obj. fcn = 27.9718 Iteration count = 76, obj. fcn = 27.9717 Iteration count = 77, obj. fcn = 27.9716 Iteration count = 78, obj. fcn = 27.9716 Iteration count = 79, obj. fcn = 27.9715 Iteration count = 80, obj. fcn = 27.9714 Iteration count = 81, obj. fcn = 27.9714 Iteration count = 82, obj. fcn = 27.9713 Iteration count = 83, obj. fcn = 27.9712 Iteration count = 84, obj. fcn = 27.9712 Iteration count = 85, obj. fcn = 27.9711 Iteration count = 86, obj. fcn = 27.971 Iteration count = 87, obj. fcn = 27.971 Iteration count = 88, obj. fcn = 27.9709 Iteration count = 89, obj. fcn = 27.9708 Iteration count = 90, obj. fcn = 27.9707 Iteration count = 91, obj. fcn = 27.9706 Iteration count = 92, obj. fcn = 27.9705 Iteration count = 93, obj. fcn = 27.9705 Iteration count = 94, obj. fcn = 27.9704 Iteration count = 95, obj. fcn = 27.9702 Iteration count = 96, obj. fcn = 27.9701 Iteration count = 97, obj. fcn = 27.97 Iteration count = 98, obj. fcn = 27.9699 Iteration count = 99, obj. fcn = 27.9697 Iteration count = 100, obj. fcn = 27.9696 Maximum iteration reached. Current number of clusters = 11, Current validity index = 3.83096 Optimal number of clusters = 2, Optimal validity index = 0.381922
maxU = max(U);
index1 = find(U(1,:) == maxU);
index2 = find(U(2,:) == maxU);
%% Step 2b: Visualize clusters identified by FCM
figure
plot(zdata(index1,1), zdata(index1,2), "ob")
hold on
plot(zdata(index2,1), zdata(index2,2), "or")
plot(centers(1,1), centers(1,2), "xb", MarkerSize=15, LineWidth=3)
plot(centers(2,1), centers(2,2), "xr", MarkerSize=15, LineWidth=3)
xlabel("Feature 1")
ylabel("Feature 2")
hold off
%% Step 3: Generate the Fuzzy Inference System (fis)
% Mamdani type is preferred for systems without discernible patterns
opt = genfisOptions("FCMClustering", FISType="mamdani");
opt.NumClusters = size(U, 1);
opt.Verbose = 0;
inputData = zdata(:,1);
outputData = zdata(:,2);
fis = genfis(inputData, outputData, opt);
%% Step 4: Plot the membership functions for both Input and Output
figure
subplot(211)
plotmf(fis, "input", 1)
xline(centers(1,1), '--') % Center of Feature 1 in Cluster 1
xline(centers(2,1), '--') % Center of Feature 1 in Cluster 2
subplot(212)
plotmf(fis, "output", 1)
xline(centers(1,2), '--') % Center of Feature 2 in Cluster 1
xline(centers(2,2), '--') % Center of Feature 2 in Cluster 2
sgtitle("gaussMFs in the generated FIS")
%% Step 5: Convert Gaussian membership functions to Triangular membership functions
fis.Inputs(1).MembershipFunctions(1).Type = "trimf";
fis.Inputs(1).MembershipFunctions(2).Type = "trimf";
fis.Outputs(1).MembershipFunctions(1).Type = "trimf";
fis.Outputs(1).MembershipFunctions(2).Type = "trimf";
figure
subplot(211)
plotmf(fis, "input", 1)
xline(centers(1,1), '--') % Center of Feature 1 in Cluster 1
xline(centers(2,1), '--') % Center of Feature 1 in Cluster 2
subplot(212)
plotmf(fis, "output", 1)
xline(centers(1,2), '--') % Center of Feature 2 in Cluster 1
xline(centers(2,2), '--') % Center of Feature 2 in Cluster 2
sgtitle("Successfully converted gaussMFs to triMFs")

Categories

Find more on Fuzzy Logic Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!