matlab如何生成所有和为10的四个正整数的组合

matlab生成所有和为10的四个正整数的组合
有序的
比如9100 8020 5113等等

供参考

a = 1000:9999;
n1 = mod(a,10);%个位数
n2 = mod(floor(a/10),10);%十位数
n3 = mod(floor(a/100),10);%百位数
n4 = floor(a/1000);%千位数
b = a(n1+n2+n3+n4==10)' %b就是你需要的

效果:

b =

        1009
        1018
        1027
        1036
        1045
        1054
        1063
        1072
        1081
        1090
        1108
        1117
        1126
        1135
        1144
        1153
        1162
        1171
        1180
        1207
        1216
        1225
        1234
        1243
        1252
        1261
        1270
        1306
        1315
        1324
        1333
        1342
        1351
        1360
        1405
        1414
        1423
        1432
        1441
        1450
        1504
        1513
        1522
        1531
        1540
        1603
        1612
        1621
        1630
        1702
        1711
        1720
        1801
        1810
        1900
        2008
        2017
        2026
        2035
        2044
        2053
        2062
        2071
        2080
        2107
        2116
        2125
        2134
        2143
        2152
        2161
        2170
        2206
        2215
        2224
        2233
        2242
        2251
        2260
        2305
        2314
        2323
        2332
        2341
        2350
        2404
        2413
        2422
        2431
        2440
        2503
        2512
        2521
        2530
        2602
        2611
        2620
        2701
        2710
        2800
        3007
        3016
        3025
        3034
        3043
        3052
        3061
        3070
        3106
        3115
        3124
        3133
        3142
        3151
        3160
        3205
        3214
        3223
        3232
        3241
        3250
        3304
        3313
        3322
        3331
        3340
        3403
        3412
        3421
        3430
        3502
        3511
        3520
        3601
        3610
        3700
        4006
        4015
        4024
        4033
        4042
        4051
        4060
        4105
        4114
        4123
        4132
        4141
        4150
        4204
        4213
        4222
        4231
        4240
        4303
        4312
        4321
        4330
        4402
        4411
        4420
        4501
        4510
        4600
        5005
        5014
        5023
        5032
        5041
        5050
        5104
        5113
        5122
        5131
        5140
        5203
        5212
        5221
        5230
        5302
        5311
        5320
        5401
        5410
        5500
        6004
        6013
        6022
        6031
        6040
        6103
        6112
        6121
        6130
        6202
        6211
        6220
        6301
        6310
        6400
        7003
        7012
        7021
        7030
        7102
        7111
        7120
        7201
        7210
        7300
        8002
        8011
        8020
        8101
        8110
        8200
        9001
        9010
        9100