choose a part of matrix with an condition
1 次查看(过去 30 天)
显示 更早的评论
i have the following code:
clc; clear all; close all;
lamda=1;
n=100;m=10;
for i=1:n
u=rand;
t(i)=-log(1-u)./lamda;
end
aa=min(t);aaa=max(t);
alpha=(t-aa)./(aaa-aa);
cut=alpha';
x=t';
fs =sort([x cut]);
result the follwling fuzzy set
0.0251095217432329 0
0.0259813666329032 0.000157215256236631
0.0343724949438669 0.00167034379911478
0.0365119840971735 0.00205614675493619
0.0444796386769595 0.00349291248150910
0.0685101096620772 0.00782620237994602
0.0729419959197381 0.00862538138743353
0.0729823212975833 0.00863265305316889
0.0771056967721968 0.00937619991509561
0.0782934192059375 0.00959037572660854
0.0942481070214086 0.0124674016320231
0.118104923234842 0.0167693772683126
0.132928037723898 0.0194423524388193
0.141464614937633 0.0209817090261459
0.150486651883491 0.0226086060430634
0.160165769148197 0.0243539909377214
0.162624667685636 0.0247973913271754
0.174022001792908 0.0268526133320516
0.177437098264183 0.0274684399236455
0.186089797358388 0.0290287361659603
0.192389357916822 0.0301647031700760
0.193639507619337 0.0303901361664079
0.198540620337461 0.0312739283420046
0.230425224929311 0.0370235133201386
0.243585467389849 0.0393966314230066
0.246461893804786 0.0399153224438845
0.277901483165116 0.0455846601389507
0.291537135509796 0.0480435064345724
0.309915334323799 0.0513575514785294
0.319423270431970 0.0530720681651994
0.334011019687199 0.0557026011467529
0.357922356879197 0.0600144082676525
0.364889059485256 0.0612706775287480
0.365435326188982 0.0613691829633927
0.443159715125493 0.0753848179315693
0.449823839934316 0.0765865249115897
0.468569891981819 0.0799669030166767
0.513582634608457 0.0880838168734941
0.554022281661509 0.0953760881810300
0.581646474411458 0.100357415241576
0.588036425496520 0.101509681899418
0.601783323397470 0.103988588527837
0.613498559211000 0.106101136094633
0.638552105558661 0.110618911854234
0.638916426867956 0.110684608021834
0.651875003547725 0.113021360782915
0.687205861775114 0.119392390762089
0.691297023750098 0.120130128731106
0.705899157309337 0.122763255559417
0.823433299288465 0.143957576323044
0.858045642838051 0.150199040285924
0.888157505568769 0.155628955940717
0.889518685776218 0.155874410490757
0.893463294721270 0.156585721313814
0.915285437208968 0.160520794815401
0.937878900953337 0.164594956669108
0.955028908877928 0.167687528435336
0.978256016710709 0.171875952033193
0.992685558782281 0.174477956335836
1.08909370982563 0.191862736987945
1.11174608686031 0.195947522369003
1.11550892269812 0.196626054992669
1.11575884057759 0.196671121384552
1.25770274616163 0.222267127912803
1.28429691903436 0.227062716843958
1.29259304165275 0.228558713504230
1.35119807040169 0.239126653651248
1.37659600127880 0.243706530482590
1.37747485674277 0.243865009919242
1.45006245198353 0.256954353586431
1.52626623667126 0.270695785896039
1.52631887410864 0.270705277731460
1.53674879873361 0.272586051813950
1.55574556165166 0.276011639306878
1.56381957936798 0.277467584944880
1.59033309595797 0.282248629547901
1.75485836515092 0.311916615975340
1.77673375075387 0.315861290531090
1.94447021196261 0.346108334519763
1.97521587492537 0.351652540075276
2.05646098147899 0.366303047747151
2.08463410738727 0.371383361070237
2.18820048893875 0.390058948214269
2.21500819936291 0.394893043261894
2.23664670373312 0.398795002256487
2.38362299297179 0.425298472365837
2.42209071247778 0.432235156230854
2.57895632620045 0.460521916809850
2.68559900772363 0.479752237134110
2.70979097605743 0.484114649009811
2.76197414497776 0.493524568561156
2.76341068061933 0.493783611564858
2.85507329914818 0.510312655010629
2.90563229743653 0.519429696315966
2.97068170733797 0.531159718211906
3.03761808247567 0.543230006738578
3.11245164225496 0.556724353514239
3.61120264525975 0.646661528881897
5.47375984678937 0.982526785607316
5.57065841146458 1
with two columns first the element of the set and the second represent the degree of membership of the element
How can i selecet a set from the fuzzy set above which contian the elements have a degree of membership greater than 0.5
with my best regurads
0 个评论
回答(1 个)
Arif Hoq
2022-2-1
编辑:Arif Hoq
2022-2-1
Try this:
lamda=1;
n=100;m=10;
for i=1:n
u=rand;
t(i)=-log(1-u)./lamda;
end
aa=min(t);aaa=max(t);
alpha=(t-aa)./(aaa-aa);
cut=alpha';
x=t';
fs =sort([x cut]);
element_of_set=fs(:,1);
degree_of_membership=fs(:,2);
greater_value=degree_of_membership(degree_of_membership>0.5) % expexted value greater than 0.5
6 个评论
Arif Hoq
2022-2-2
@Bashar AlHalaq If you find your answer, then please consider marking it as accepted answer. That will make it easier for others with similar issues to find an answer.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Fuzzy Logic Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!