Server Warning: The system load average - server

Why my web server will have warning message as below, how can I solve it ?
And my sever is attacked by the IP 107.148.145.215??
IP '107.148.145.215' currently has '55' connections
Connection info for '107.148.145.215':
tcp 0 0 103.11.102.59:443 107.148.145.215:55633 SYN_RECV
tcp 0 0 103.11.102.59:443 107.148.145.215:55632 SYN_RECV
tcp6 0 0 103.11.102.59:443 107.148.145.215:55288 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55577 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55582 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55448 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55442 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55240 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55243 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55203 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55283 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55304 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55311 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55355 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55554 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55559 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55631 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55312 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55578 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55630 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55627 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55581 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55428 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55197 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55181 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55354 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55317 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55435 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55193 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55629 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55222 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55502 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55437 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55561 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55313 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55628 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55351 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55360 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55264 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55231 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55208 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55297 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55551 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55497 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55424 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55189 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55303 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55268 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55216 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55498 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55444 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55309 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55446 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55224 TIME_WAIT
tcp6 0 0 103.11.102.59:443 107.148.145.215:55501 TIME_WAIT
/usr/sbin/ss output:
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
u_str ESTAB 0 0 * 23040279 * 23040280
u_str ESTAB 0 0 /var/lib/mysql/mysql.sock 23035809 * 23035808
u_str ESTAB 0 0 /var/run/dovecot/login/login 22800153 * 22800152
u_str ESTAB 0 0 * 14289 * 14290
u_str ESTAB 0 0 /var/run/dovecot/stats-writer 21547375 * 21545570
u_str ESTAB 0 0 /opt/dell/srvadmin/var/lib/openmanage/.ipc/dcsmilpipea 394954 * 396251
u_str ESTAB 0 0 * 23041217 * 23041218
u_str ESTAB 0 0 /var/run/dovecot/login/login 23038005 * 23037090
u_str ESTAB 0 0 * 23037090 * 23038005
u_str ESTAB 0 0 /var/run/dovecot/stats-writer 22801721 * 22801720
u_str ESTAB 0 0 /var/run/dovecot/config 19618541 * 19618325
u_str ESTAB 0 0 /run/systemd/journal/stdout 862402 * 863381
u_str ESTAB 0 0 * 22880303 * 22880304
u_str ESTAB 0 0 * 22269367 * 22267585
u_str ESTAB 0 0 /var/run/dovecot/login/login 21747419 * 21749101
u_str ESTAB 0 0 /var/run/dovecot/config 22801714 * 22799193
u_str ESTAB 0 0 * 22324284 * 22322846
u_str ESTAB 0 0 /var/run/dovecot/stats-writer 22706177 * 22705226
u_str ESTAB 0 0 /var/run/dovecot/stats-writer 19618445 * 19618322
u_str ESTAB 0 0 /var/run/dovecot/stats-writer 19618431 * 19618313
u_str ESTAB 0 0 * 15111 * 17421
u_str ESTAB 0 0 /run/dbus/system_bus_socket 15091 * 16361
u_str ESTAB 0 0 * 19618677 * 19618722
u_str ESTAB 0 0 * 19618508 * 19618511
u_str ESTAB 0 0 /run/systemd/journal/stdout 398927 * 397199
u_str ESTAB 0 0 /var/run/dovecot/anvil 23036387 * 23036386
u_str ESTAB 0 0 * 22269368 * 22267588
u_str ESTAB 0 0 /run/systemd/journal/stdout 14294 * 13312
u_str ESTAB 0 0 * 22799193 * 22801714
u_str ESTAB 0 0 * 22767519 * 22768263
u_str ESTAB 0 0 * 19621068 * 19618435
u_str ESTAB 0 0 * 856096 * 855006
u_str ESTAB 0 0 /var/run/dovecot/config 19618420 * 19619448
u_str ESTAB 0 0 /var/lib/mysql/mysql.sock 23040161 * 23040160
u_str ESTAB 0 0 * 23041140 * 23041141
u_str ESTAB 0 0 * 23038784 * 23038785
u_str ESTAB 0 0 * 21097884 * 21097354
u_str ESTAB 0 0 /var/run/dovecot/stats-writer 19618447 * 19618324
u_str ESTAB 0 0 * 21545569 * 21547373
u_str ESTAB 0 0 /var/lib/mysql/mysql.sock 23039234 * 23039233
u_str ESTAB 0 0 * 19620359 * 19618448
u_str ESTAB 0 0 /var/run/dovecot/anvil 19618498 * 19618495
u_str ESTAB 0 0 /var/run/dovecot/stats-writer 22782793 * 22783164
u_str ESTAB 0 0 * 19618316 * 19618425
u_str ESTAB 0 0 /var/run/dovecot/config 19618417 * 19620348
u_str ESTAB 0 0 * 19618313 * 19618431
u_str ESTAB 0 0 /run/systemd/journal/stdout 16378 * 15176
u_str ESTAB 0 0 * 22705226 * 22706177
u_str ESTAB 0 0 * 22584365 * 22584366
u_str ESTAB 0 0 * 20039551 * 20039552
u_str ESTAB 0 0 * 19618525 * 19618528
u_str ESTAB 0 0 * 21749101 * 21747419
u_str ESTAB 0 0 /var/run/dovecot/stats-writer 23036393 * 23036392
u_str ESTAB 0 0 * 22767521 * 22766579
u_str ESTAB 0 0 /var/run/dovecot/login/login 22665108 * 22666431
u_str ESTAB 0 0 /var/run/dovecot/anvil 19618533 * 19618530
u_str ESTAB 0 0 * 22801718 * 22801719
u_str ESTAB 0 0 /var/run/dovecot/anvil 19618611 * 19618608
u_str ESTAB 0 0 * 19618338 * 19618465
u_str ESTAB 0 0 * 19618337 * 19618612
u_str ESTAB 0 0 * 21505976 * 21507332
u_str ESTAB 0 0 /var/run/dovecot/login/login 22583610 * 22584368
u_str ESTAB 0 0 /var/run/dovecot/config 19618602 * 19619454
u_str ESTAB 0 0 * 22783166 * 22782795
u_str ESTAB 0 0 /var/run/dovecot/config 22126820 * 22126819
u_str ESTAB 0 0 /var/run/dovecot/stats-writer 22801715 * 22799194
u_str ESTAB 0 0 /var/run/dovecot/login/login 19618689 * 19618496
u_str ESTAB 0 0 * 23036390 * 23036391
u_str ESTAB 0 0 * 22801320 * 22801705
u_str ESTAB 0 0 /var/run/dovecot/config 19618534 * 19620358
u_str ESTAB 0 0 /var/run/dovecot/stats-writer 22679448 * 22682621
u_str ESTAB 0 0 * 19618672 * 19618721
u_str ESTAB 0 0 /var/run/dovecot/anvil 22992984 * 22992983
u_str ESTAB 0 0 * 22803728 * 22802768
u_str ESTAB 0 0 * 22705227 * 22703603
u_str ESTAB 0 0 * 21469011 * 21470719
u_str ESTAB 0 0 /var/run/dovecot/stats-writer 19618442 * 19618320
u_str ESTAB 0 0 * 19620354 * 19618423
u_str ESTAB 0 0 * 19620348 * 19618417
u_str ESTAB 0 0 * 19618312 * 19618415
u_str ESTAB 0 0 /var/run/dovecot/login/login 23037138 * 23036396
u_str ESTAB 0 0 /var/run/dovecot/login/login 19618697 * 19618536
u_str ESTAB 0 0 * 23039233 * 23039234
u_str ESTAB 0 0 * 22801729 * 22801730
u_str ESTAB 0 0 * 16516 * 19625
u_str ESTAB 0 0 /run/dbus/system_bus_socket 28690 * 25394
u_str ESTAB 0 0 /var/lib/mysql/mysql.sock 23041218 * 23041217
u_str ESTAB 0 0 /var/lib/mysql/mysql.sock 23041141 * 23041140
u_str ESTAB 0 0 * 22918058 * 22918059
u_str ESTAB 0 0 /var/run/dovecot/stats-writer 22641155 * 22643075
u_str ESTAB 0 0 /var/run/dovecot/anvil-auth-penalty 19618682 * 19618680
u_str ESTAB 0 0 * 396875 * 0
u_str ESTAB 0 0 * 23040076 * 23037777
u_str ESTAB 0 0 * 19618352 * 19618479
u_str ESTAB 0 0 /var/run/dovecot/login/login 22801727 * 22801726
u_str ESTAB 0 0 /var/run/dovecot/config 22666211 * 22666428
u_str ESTAB 0 0 /var/run/dovecot/anvil 22322846 * 22324284
u_str ESTAB 0 0 * 397397 * 395031
u_str ESTAB 0 0 * 13153 * 13152
u_str ESTAB 0 0 /var/run/dovecot/config 22801719 * 22801718
u_str ESTAB 0 0 * 22682620 * 22679447
u_str ESTAB 0 0 * 19618321 * 19618519
u_str ESTAB 0 0 * 19618314 * 19618416
u_str ESTAB 0 0 * 32149 * 31401
u_str ESTAB 0 0 /run/dbus/system_bus_socket 17421 * 15111
u_str ESTAB 0 0 /var/run/dovecot/login/login 22878984 * 22880295
u_str ESTAB 0 0 /var/run/dovecot/config 22802231 * 22803727
u_str ESTAB 0 0 * 23036392 * 23036393
u_str ESTAB 0 0 /var/run/dovecot/anvil 22801716 * 22801325
u_str ESTAB 0 0 * 22666428 * 22666211
u_str ESTAB 0 0 /var/run/dovecot/anvil 19618545 * 19618542
u_str ESTAB 0 0 /var/run/dovecot/stats-writer 21550305 * 21550304
u_str ESTAB 0 0 * 21545573 * 21545574
u_str ESTAB 0 0 * 22801733 * 22801734
u_str ESTAB 0 0 * 19618495 * 19618498
u_str ESTAB 0 0 * 22269369 * 22269370
u_str ESTAB 0 0 * 21550304 * 21550305
u_str ESTAB 0 0 /var/run/dovecot/anvil 21545574 * 21545573
u_str ESTAB 0 0 /var/run/dovecot/login/login 22782795 * 22783166
u_str ESTAB 0 0 * 22767520 * 22768264
u_str ESTAB 0 0 * 19621077 * 19618446
u_str ESTAB 0 0 * 23040160 * 23040161
u_str ESTAB 0 0 /var/run/dovecot/anvil 22703603 * 22705227
u_str ESTAB 0 0 * 19618323 * 19618529
u_str ESTAB 0 0 /var/run/dovecot/config 19618423 * 19620354
u_str ESTAB 0 0 /var/run/dovecot/config 22918057 * 22918056
u_str ESTAB 0 0 /var/run/dovecot/login/login 23037130 * 23036388
u_str ESTAB 0 0 * 21749098 * 21747418
u_str ESTAB 0 0 /var/run/dovecot/login/login 22766579 * 22767521
u_str ESTAB 0 0 * 22584363 * 22584364
u_str ESTAB 0 0 * 21505974 * 21503445
u_str ESTAB 0 0 * 20039553 * 20039554
u_str ESTAB 0 0 /var/run/dovecot/config 19618529 * 19618323
u_str ESTAB 0 0 * 19620357 * 19618440
u_str ESTAB 0 0 /var/run/dovecot/config 22679447 * 22682620
u_str ESTAB 0 0 /var/run/dovecot/anvil 21097354 * 21097884
u_str ESTAB 0 0 /var/run/dovecot/login/login 19618722 * 19618677
u_str ESTAB 0 0 /var/run/dovecot/anvil 19618679 * 19618676
u_str ESTAB 0 0 * 19619454 * 19618602
u_str ESTAB 0 0 * 371030 * 369637
u_str ESTAB 0 0 /var/run/dovecot/stats-writer 22878988 * 22880302
u_str ESTAB 0 0 /var/run/dovecot/config 22801704 * 22801319
u_str ESTAB 0 0 /var/run/dovecot/stats-writer 22267585 * 22269367
u_str ESTAB 0 0 * 19618483 * 19618687
u_str ESTAB 0 0 * 19618482 * 19618485
u_str ESTAB 0 0 * 22666431 * 22665108
u_str ESTAB 0 0 * 22666430 * 22666212
u_str ESTAB 0 0 /var/run/dovecot/login/login 22124412 * 22126824
u_str ESTAB 0 0 /var/run/dovecot/config 19618427 * 19618319
u_str ESTAB 0 0 * 19620349 * 19618433
u_str ESTAB 0 0 /var/lib/mysql/mysql.sock 23040325 * 23040324
u_str ESTAB 0 0 /var/run/dovecot/config 22184559 * 22183629
u_str ESTAB 0 0 * 20039552 * 20039551
u_str ESTAB 0 0 * 397199 * 398927
u_str ESTAB 0 0 * 23039491 * 23039492
u_str ESTAB 0 0 /var/run/dovecot/config 21747418 * 21749098
u_str ESTAB 0 0 * 22801325 * 22801716
u_str ESTAB 0 0 /var/run/dovecot/login/login 19618698 * 19618543
u_str ESTAB 0 0 /var/run/dovecot/anvil 22124411 * 22126823
u_str ESTAB 0 0 * 19619448 * 19618420
u_str ESTAB 0 0 * 19618309 * 19618429
u_str ESTAB 0 0 /run/systemd/journal/stdout 14258 * 14257
u_str ESTAB 0 0 /var/run/dovecot/config 22990821 * 22992980
u_str ESTAB 0 0 * 22880293 * 22878982
u_str ESTAB 0 0 /var/run/dovecot/anvil 22583609 * 22584367
u_str ESTAB 0 0 * 21505975 * 21507331
........

If you just want that IP to stop "attacking" you, block it with iptables.
sudo iptables -I INPUT -s 107.148.145.215 -j DROP

Related

Expanding a matrix according to elements in lists

I have currently created a function which takes in two arguments.
function p = matr(x, phi)
x_dir = linspace(0, x, 1);
r = linspace(0, phi, 1);
p = zeros(800, 2);
p(1:400, 1) = p(1:400, 1) + x_dir.';
p(401:800, 2) = p(401:800, 2) + r.';
end
Which returns this matrix for the given input:
path = trajectory(10, pi/2)
path =
0 0
0.0251 0
0.0501 0
0.0752 0
0.1003 0
0.1253 0
0.1504 0
0.1754 0
0.2005 0
0.2256 0
0.2506 0
0.2757 0
0.3008 0
0.3258 0
0.3509 0
0.3759 0
0.4010 0
0.4261 0
0.4511 0
0.4762 0
0.5013 0
0.5263 0
0.5514 0
0.5764 0
0.6015 0
0.6266 0
0.6516 0
0.6767 0
0.7018 0
0.7268 0
0.7519 0
0.7769 0
0.8020 0
0.8271 0
0.8521 0
0.8772 0
0.9023 0
0.9273 0
0.9524 0
0.9774 0
1.0025 0
1.0276 0
1.0526 0
1.0777 0
1.1028 0
1.1278 0
1.1529 0
1.1779 0
1.2030 0
1.2281 0
1.2531 0
1.2782 0
1.3033 0
1.3283 0
1.3534 0
1.3784 0
1.4035 0
1.4286 0
1.4536 0
1.4787 0
1.5038 0
1.5288 0
1.5539 0
1.5789 0
1.6040 0
1.6291 0
1.6541 0
1.6792 0
1.7043 0
1.7293 0
1.7544 0
1.7794 0
1.8045 0
1.8296 0
1.8546 0
1.8797 0
1.9048 0
1.9298 0
1.9549 0
1.9799 0
2.0050 0
2.0301 0
2.0551 0
2.0802 0
2.1053 0
2.1303 0
2.1554 0
2.1805 0
2.2055 0
2.2306 0
2.2556 0
2.2807 0
2.3058 0
2.3308 0
2.3559 0
2.3810 0
2.4060 0
2.4311 0
2.4561 0
2.4812 0
2.5063 0
2.5313 0
2.5564 0
2.5815 0
2.6065 0
2.6316 0
2.6566 0
2.6817 0
2.7068 0
2.7318 0
2.7569 0
2.7820 0
2.8070 0
2.8321 0
2.8571 0
2.8822 0
2.9073 0
2.9323 0
2.9574 0
2.9825 0
3.0075 0
3.0326 0
3.0576 0
3.0827 0
3.1078 0
3.1328 0
3.1579 0
3.1830 0
3.2080 0
3.2331 0
3.2581 0
3.2832 0
3.3083 0
3.3333 0
3.3584 0
3.3835 0
3.4085 0
3.4336 0
3.4586 0
3.4837 0
3.5088 0
3.5338 0
3.5589 0
3.5840 0
3.6090 0
3.6341 0
3.6591 0
3.6842 0
3.7093 0
3.7343 0
3.7594 0
3.7845 0
3.8095 0
3.8346 0
3.8596 0
3.8847 0
3.9098 0
3.9348 0
3.9599 0
3.9850 0
4.0100 0
4.0351 0
4.0602 0
4.0852 0
4.1103 0
4.1353 0
4.1604 0
4.1855 0
4.2105 0
4.2356 0
4.2607 0
4.2857 0
4.3108 0
4.3358 0
4.3609 0
4.3860 0
4.4110 0
4.4361 0
4.4612 0
4.4862 0
4.5113 0
4.5363 0
4.5614 0
4.5865 0
4.6115 0
4.6366 0
4.6617 0
4.6867 0
4.7118 0
4.7368 0
4.7619 0
4.7870 0
4.8120 0
4.8371 0
4.8622 0
4.8872 0
4.9123 0
4.9373 0
4.9624 0
4.9875 0
5.0125 0
5.0376 0
5.0627 0
5.0877 0
5.1128 0
5.1378 0
5.1629 0
5.1880 0
5.2130 0
5.2381 0
5.2632 0
5.2882 0
5.3133 0
5.3383 0
5.3634 0
5.3885 0
5.4135 0
5.4386 0
5.4637 0
5.4887 0
5.5138 0
5.5388 0
5.5639 0
5.5890 0
5.6140 0
5.6391 0
5.6642 0
5.6892 0
5.7143 0
5.7393 0
5.7644 0
5.7895 0
5.8145 0
5.8396 0
5.8647 0
5.8897 0
5.9148 0
5.9398 0
5.9649 0
5.9900 0
6.0150 0
6.0401 0
6.0652 0
6.0902 0
6.1153 0
6.1404 0
6.1654 0
6.1905 0
6.2155 0
6.2406 0
6.2657 0
6.2907 0
6.3158 0
6.3409 0
6.3659 0
6.3910 0
6.4160 0
6.4411 0
6.4662 0
6.4912 0
6.5163 0
6.5414 0
6.5664 0
6.5915 0
6.6165 0
6.6416 0
6.6667 0
6.6917 0
6.7168 0
6.7419 0
6.7669 0
6.7920 0
6.8170 0
6.8421 0
6.8672 0
6.8922 0
6.9173 0
6.9424 0
6.9674 0
6.9925 0
7.0175 0
7.0426 0
7.0677 0
7.0927 0
7.1178 0
7.1429 0
7.1679 0
7.1930 0
7.2180 0
7.2431 0
7.2682 0
7.2932 0
7.3183 0
7.3434 0
7.3684 0
7.3935 0
7.4185 0
7.4436 0
7.4687 0
7.4937 0
7.5188 0
7.5439 0
7.5689 0
7.5940 0
7.6190 0
7.6441 0
7.6692 0
7.6942 0
7.7193 0
7.7444 0
7.7694 0
7.7945 0
7.8195 0
7.8446 0
7.8697 0
7.8947 0
7.9198 0
7.9449 0
7.9699 0
7.9950 0
8.0201 0
8.0451 0
8.0702 0
8.0952 0
8.1203 0
8.1454 0
8.1704 0
8.1955 0
8.2206 0
8.2456 0
8.2707 0
8.2957 0
8.3208 0
8.3459 0
8.3709 0
8.3960 0
8.4211 0
8.4461 0
8.4712 0
8.4962 0
8.5213 0
8.5464 0
8.5714 0
8.5965 0
8.6216 0
8.6466 0
8.6717 0
8.6967 0
8.7218 0
8.7469 0
8.7719 0
8.7970 0
8.8221 0
8.8471 0
8.8722 0
8.8972 0
8.9223 0
8.9474 0
8.9724 0
8.9975 0
9.0226 0
9.0476 0
9.0727 0
9.0977 0
9.1228 0
9.1479 0
9.1729 0
9.1980 0
9.2231 0
9.2481 0
9.2732 0
9.2982 0
9.3233 0
9.3484 0
9.3734 0
9.3985 0
9.4236 0
9.4486 0
9.4737 0
9.4987 0
9.5238 0
9.5489 0
9.5739 0
9.5990 0
9.6241 0
9.6491 0
9.6742 0
9.6992 0
9.7243 0
9.7494 0
9.7744 0
9.7995 0
9.8246 0
9.8496 0
9.8747 0
9.8997 0
9.9248 0
9.9499 0
9.9749 0
10.000 0
0 0
0 0.0039
0 0.0079
0 0.0118
0 0.0157
0 0.0197
0 0.0236
0 0.0276
0 0.0315
0 0.0354
0 0.0394
0 0.0433
0 0.0472
0 0.0512
0 0.0551
0 0.0591
0 0.0630
0 0.0669
0 0.0709
0 0.0748
0 0.0787
0 0.0827
0 0.0866
0 0.0905
0 0.0945
0 0.0984
0 0.1024
0 0.1063
0 0.1102
0 0.1142
0 0.1181
0 0.1220
0 0.1260
0 0.1299
0 0.1339
0 0.1378
0 0.1417
0 0.1457
0 0.1496
0 0.1535
0 0.1575
0 0.1614
0 0.1653
0 0.1693
0 0.1732
0 0.1772
0 0.1811
0 0.1850
0 0.1890
0 0.1929
0 0.1968
0 0.2008
0 0.2047
0 0.2087
0 0.2126
0 0.2165
0 0.2205
0 0.2244
0 0.2283
0 0.2323
0 0.2362
0 0.2401
0 0.2441
0 0.2480
0 0.2520
0 0.2559
0 0.2598
0 0.2638
0 0.2677
0 0.2716
0 0.2756
0 0.2795
0 0.2835
0 0.2874
0 0.2913
0 0.2953
0 0.2992
0 0.3031
0 0.3071
0 0.3110
0 0.3149
0 0.3189
0 0.3228
0 0.3268
0 0.3307
0 0.3346
0 0.3386
0 0.3425
0 0.3464
0 0.3504
0 0.3543
0 0.3583
0 0.3622
0 0.3661
0 0.3701
0 0.3740
0 0.3779
0 0.3819
0 0.3858
0 0.3897
0 0.3937
0 0.3976
0 0.4016
0 0.4055
0 0.4094
0 0.4134
0 0.4173
0 0.4212
0 0.4252
0 0.4291
0 0.4331
0 0.4370
0 0.4409
0 0.4449
0 0.4488
0 0.4527
0 0.4567
0 0.4606
0 0.4645
0 0.4685
0 0.4724
0 0.4764
0 0.4803
0 0.4842
0 0.4882
0 0.4921
0 0.4960
0 0.5000
0 0.5039
0 0.5079
0 0.5118
0 0.5157
0 0.5197
0 0.5236
0 0.5275
0 0.5315
0 0.5354
0 0.5393
0 0.5433
0 0.5472
0 0.5512
0 0.5551
0 0.5590
0 0.5630
0 0.5669
0 0.5708
0 0.5748
0 0.5787
0 0.5827
0 0.5866
0 0.5905
0 0.5945
0 0.5984
0 0.6023
0 0.6063
0 0.6102
0 0.6141
0 0.6181
0 0.6220
0 0.6260
0 0.6299
0 0.6338
0 0.6378
0 0.6417
0 0.6456
0 0.6496
0 0.6535
0 0.6575
0 0.6614
0 0.6653
0 0.6693
0 0.6732
0 0.6771
0 0.6811
0 0.6850
0 0.6889
0 0.6929
0 0.6968
0 0.7008
0 0.7047
0 0.7086
0 0.7126
0 0.7165
0 0.7204
0 0.7244
0 0.7283
0 0.7323
0 0.7362
0 0.7401
0 0.7441
0 0.7480
0 0.7519
0 0.7559
0 0.7598
0 0.7637
0 0.7677
0 0.7716
0 0.7756
0 0.7795
0 0.7834
0 0.7874
0 0.7913
0 0.7952
0 0.7992
0 0.8031
0 0.8071
0 0.8110
0 0.8149
0 0.8189
0 0.8228
0 0.8267
0 0.8307
0 0.8346
0 0.8385
0 0.8425
0 0.8464
0 0.8504
0 0.8543
0 0.8582
0 0.8622
0 0.8661
0 0.8700
0 0.8740
0 0.8779
0 0.8819
0 0.8858
0 0.8897
0 0.8937
0 0.8976
0 0.9015
0 0.9055
0 0.9094
0 0.9133
0 0.9173
0 0.9212
0 0.9252
0 0.9291
0 0.9330
0 0.9370
0 0.9409
0 0.9448
0 0.9488
0 0.9527
0 0.9567
0 0.9606
0 0.9645
0 0.9685
0 0.9724
0 0.9763
0 0.9803
0 0.9842
0 0.9881
0 0.9921
0 0.9960
0 1.0000
0 1.0039
0 1.0078
0 1.0118
0 1.0157
0 1.0196
0 1.0236
0 1.0275
0 1.0315
0 1.0354
0 1.0393
0 1.0433
0 1.0472
0 1.0511
0 1.0551
0 1.0590
0 1.0629
0 1.0669
0 1.0708
0 1.0748
0 1.0787
0 1.0826
0 1.0866
0 1.0905
0 1.0944
0 1.0984
0 1.1023
0 1.1063
0 1.1102
0 1.1141
0 1.1181
0 1.1220
0 1.1259
0 1.1299
0 1.1338
0 1.1377
0 1.1417
0 1.1456
0 1.1496
0 1.1535
0 1.1574
0 1.1614
0 1.1653
0 1.1692
0 1.1732
0 1.1771
0 1.1810
0 1.1850
0 1.1889
0 1.1929
0 1.1968
0 1.2007
0 1.2047
0 1.2086
0 1.2125
0 1.2165
0 1.2204
0 1.2244
0 1.2283
0 1.2322
0 1.2362
0 1.2401
0 1.2440
0 1.2480
0 1.2519
0 1.2558
0 1.2598
0 1.2637
0 1.2677
0 1.2716
0 1.2755
0 1.2795
0 1.2834
0 1.2873
0 1.2913
0 1.2952
0 1.2992
0 1.3031
0 1.3070
0 1.3110
0 1.3149
0 1.3188
0 1.3228
0 1.3267
0 1.3306
0 1.3346
0 1.3385
0 1.3425
0 1.3464
0 1.3503
0 1.3543
0 1.3582
0 1.3621
0 1.3661
0 1.3700
0 1.3740
0 1.3779
0 1.3818
0 1.3858
0 1.3897
0 1.3936
0 1.3976
0 1.4015
0 1.4054
0 1.4094
0 1.4133
0 1.4173
0 1.4212
0 1.4251
0 1.4291
0 1.4330
0 1.4369
0 1.4409
0 1.4448
0 1.4488
0 1.4527
0 1.4566
0 1.4606
0 1.4645
0 1.4684
0 1.4724
0 1.4763
0 1.4802
0 1.4842
0 1.4881
0 1.4921
0 1.4960
0 1.4999
0 1.5039
0 1.5078
0 1.5117
0 1.5157
0 1.5196
0 1.5236
0 1.5275
0 1.5314
0 1.5354
0 1.5393
0 1.5432
0 1.5472
0 1.5511
0 1.5550
0 1.5590
0 1.5629
0 1.5669
0 1.5708
But i want to modify this function so that it can two lists like:
trajectory([x1, x2, x3, ... xn], [phi1, phi2, phi3, ..., phin])
and create a matrix like this:
trajectory =
x1 0
x1+k 0
. 0
. 0
x1_n 0
0 phi1
0 phi1+k
0 .
0 .
0 phi1_n
x2 0
x2+k 0
. 0
. 0
x2_n 0
0 phi2
0 phi2+k
0 .
0 .
0 phi2_n
and so on. So I was wandering if there was a more automatic way expanding the matrix, so that two lists can be provided as an input argument and the matrix expanding according to the elements of the list.
function p = matr(x, phi)
p = zeros(800*length(x), 2);
for ii = 1:length(x)
x_dir = linspace(0, x(ii), 400);
r = linspace(0, phi(ii), 400);
p((800*(ii-1)+1):(800*(ii-1)+400), 1) = x_dir;
p((800*ii-399):(800*ii), 2) = r;
end
end
OR
function p2 = matr_compound(x, phi)
p2 = [];
for ii = 1:length(x)
p2 = [p2; matr(x(ii), phi(ii))];
end
end

How to visualize Markov Chain transition probabilities in MATLAB?

I want to visualize my Markov chain using a digraph. I am using the following lines of code:
mc = dtmc(TPM,'StateNames',namesStates);
graphplot(mc,'ColorNodes',true,'ColorEdges',true);
where namesStates is a cell array that contains the names (string) of each node of my MC.
Since the probabilities are so close to each other, I want to visualize the probabilities of each edge of the digraph or the transition rates. Is it possible?
EDIT:
Here is a TPM that I am using:
0,941033925686591 7,34322220590395e-05 0,000146864444118079 0,0220296666177119 0 0 0 0 0 0,0367161110295198 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0,000220296666177119 0,926053752386547 0,000293728888236158 0 0,0367161110295198 0 0 0 0 0 0,0367161110295198 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0,000367161110295198 0,000440593332354237 0,903730356880599 0 0 0,0587457776472316 0 0 0 0 0 0,0367161110295198 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
7,34322220590395e-05 0 0 0,940960493464532 7,34322220590395e-05 0,000146864444118079 0,0220296666177119 0 0 0 0 0 0,0367161110295198 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 7,34322220590395e-05 0 0,000220296666177119 0,925980320164488 0,000293728888236158 0 0,0367161110295198 0 0 0 0 0 0,0367161110295198 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 7,34322220590395e-05 0,000367161110295198 0,000440593332354237 0,903656924658540 0 0 0,0587457776472316 0 0 0 0 0 0,0367161110295198 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 7,34322220590395e-05 0 0 0,962990160082244 7,34322220590395e-05 0,000146864444118079 0 0 0 0 0 0 0,0367161110295198 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 7,34322220590395e-05 0 0,000220296666177119 0,962696431194008 0,000293728888236158 0 0 0 0 0 0 0 0,0367161110295198 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 7,34322220590395e-05 0,000367161110295198 0,000440593332354237 0,962402702305772 0 0 0 0 0 0 0 0 0,0367161110295198 0 0 0 0 0 0 0 0 0
0,00367161110295198 0 0 0 0 0 0 0 0 0,937362314583639 7,34322220590395e-05 0,000146864444118079 0,0220296666177119 0 0 0 0 0 0,0367161110295198 0 0 0 0 0 0 0 0
0 0,00367161110295198 0 0 0 0 0 0 0 0,000220296666177119 0,922382141283595 0,000293728888236158 0 0,0367161110295198 0 0 0 0 0 0,0367161110295198 0 0 0 0 0 0 0
0 0 0,00367161110295198 0 0 0 0 0 0 0,000367161110295198 0,000440593332354237 0,900058745777647 0 0 0,0587457776472316 0 0 0 0 0 0,0367161110295198 0 0 0 0 0 0
0 0 0 0,00367161110295198 0 0 0 0 0 3,85519165809957e-05 0 0 0,937323762667058 7,34322220590395e-05 0,000146864444118079 0,0220296666177119 0 0 0 0 0 0,0367161110295198 0 0 0 0 0
0 0 0 0 0,00367161110295198 0 0 0 0 0 5,07906202575023e-05 0 0,000220296666177119 0,922331350663338 0,000293728888236158 0 0,0367161110295198 0 0 0 0 0 0,0367161110295198 0 0 0 0
0 0 0 0 0 0,00367161110295198 0 0 0 0 0 5,87457776472316e-05 0,000367161110295198 0,000440593332354237 0,900000000000000 0 0 0,0587457776472316 0 0 0 0 0 0,0367161110295198 0 0 0
0 0 0 0 0 0 0,00367161110295198 0 0 0 0 0 3,85519165809957e-05 0 0 0,959353429284770 7,34322220590395e-05 0,000146864444118079 0 0 0 0 0 0 0,0367161110295198 0 0
0 0 0 0 0 0 0 0,00367161110295198 0 0 0 0 0 5,07906202575023e-05 0 0,000220296666177119 0,959047461692858 0,000293728888236158 0 0 0 0 0 0 0 0,0367161110295198 0
0 0 0 0 0 0 0 0 0,00367161110295198 0 0 0 0 0 5,87457776472316e-05 0,000367161110295198 0,000440593332354237 0,958745777647232 0 0 0 0 0 0 0 0 0,0367161110295198
0 0 0 0 0 0 0 0 0 0,00734322220590395 0 0 0 0 0 0 0 0 0,970406814510207 7,34322220590395e-05 0,000146864444118079 0,0220296666177119 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0,00734322220590395 0 0 0 0 0 0 0 0,000220296666177119 0,955426641210163 0,000293728888236158 0 0,0367161110295198 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0,00734322220590395 0 0 0 0 0 0 0,000367161110295198 0,000440593332354237 0,933103245704215 0 0 0,0587457776472316 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0,00734322220590395 0 0 0 0 0 4,40593332354237e-05 0 0 0,970362755176972 7,34322220590395e-05 0,000146864444118079 0,0220296666177119 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0,00734322220590395 0 0 0 0 0 5,50741665442796e-05 0 0,000220296666177119 0,955371567043619 0,000293728888236158 0 0,0367161110295198 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,00734322220590395 0 0 0 0 0 6,16830665295932e-05 0,000367161110295198 0,000440593332354237 0,933041562637686 0 0 0,0587457776472316
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,00734322220590395 0 0 0 0 0 4,40593332354237e-05 0 0 0,992392421794684 7,34322220590395e-05 0,000146864444118079
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,00734322220590395 0 0 0 0 0 5,50741665442796e-05 0 0,000220296666177119 0,992087678073139 0,000293728888236158
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,00734322220590395 0 0 0 0 0 6,16830665295932e-05 0,000367161110295198 0,000440593332354237 0,991787340284917
instead of:
mc = dtmc(TPM,'StateNames',namesStates);
We can do:
mc = dtmc(TPM);
In the documentation you can find the 'LabelEdges' parameter, when set to true the probability is also displayed.
graphplot(mc,'ColorNodes',true,'ColorEdges',true,'LabelEdges',true);

least-squares method with a constraint

I have 37 linear equations with 36 variables in the form of matrix: A x = b. (A has 37 rows and 36 columns.) The equations don't have an exact solution so I have used Matlab to find the closest answer using x = A \ b.
The problem is that I also have a condition, all elements of x should be positive: xi > 0 for all i. x = A \ b gives negative values for some elements. How can I apply this constraint ?
Here are the concrete values of A and b that I'm working with:
A = [0.83 0.17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.02 0.63 0.17 0 0 0 0.18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0.02 -0.37 0.17 0 0 0 0.18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0.02 -0.37 0.17 0 0 0 0.18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0.02 -0.37 0.17 0 0 0 0.18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0.02 -0.2 0 0 0 0 0.18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.15 0 0 0 0 0 -0.32 0.17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0.15 0 0 0 0 0.02 -0.52 0.17 0 0 0 0.18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0.15 0 0 0 0 0.02 -0.52 0.17 0 0 0 0.18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0.15 0 0 0 0 0.02 -0.52 0.17 0 0 0 0.18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0.15 0 0 0 0 0.02 -0.52 0.17 0 0 0 0.18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0.15 0 0 0 0 0.02 -0.33 0 0 0 0 0.18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0.15 0 0 0 0 0 -0.32 0.17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0.15 0 0 0 0 0.02 -0.52 0.17 0 0 0 0.18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0.15 0 0 0 0 0.02 -0.52 0.17 0 0 0 0.18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0.15 0 0 0 0 0.02 -0.52 0.17 0 0 0 0.18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0.15 0 0 0 0 0.02 -0.52 0.17 0 0 0 0.18 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0.15 0 0 0 0 0.02 -0.35 0 0 0 0 0.18 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0.15 0 0 0 0 0 -0.32 0.17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0 0 0 0 0.02 -0.52 0.17 0 0 0 0.18 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0 0 0 0 0.02 -0.52 0.17 0 0 0 0.18 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0 0 0 0 0.02 -0.52 0.17 0 0 0 0.18 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0 0 0 0 0.02 -0.52 0.17 0 0 0 0.18 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0 0 0 0 0.02 -0.35 0 0 0 0 0.18 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0 0 0 0 0 -0.32 0.17 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0 0 0 0 0.02 -0.52 0.17 0 0 0 0.18 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0 0 0 0 0.02 -0.52 0.17 0 0 0 0.18 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0 0 0 0 0.02 -0.52 0.17 0 0 0 0.18 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0 0 0 0 0.02 -0.52 0.17 0 0 0 0.18 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0 0 0 0 0.02 -0.35 0 0 0 0 0.018 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0 0 0 0 0 -0.32 0.17 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0 0 0 0 0.02 -0.34 0.17 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0 0 0 0 0.02 -0.34 0.17 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0 0 0 0 0.02 -0.34 0.17 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0 0 0 0 0.02 -0.34 0.17
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0 0 0 0 0.02 -0.17
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1];
b = [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1]';
You want to find an approximate solution x to A x = b in the least-squares sense, i.e. you want to minimize
||A x - b||2 = xT AT A x
+ bT b - 2 xT AT b.
Disregarding the constant term bTb and dividing by a factor 2, this fits the form of a quadratic programming problem, which is to minimize
1/2 xT H x + fT x,
if we choose H = AT A and f = - AT b.
The corresponding use of quadprog is:
H = A' * A;
f = - A' * b;
x = quadprog(H, f)
You also want the elements of x to be positive. A non-negativity constraint can be introduced using the additional parameters to quadprog, A and b (not to be confused with your matrices!):
n = size(A, 2);
x = quadprog(H, f, -eye(n), zeros(n, 1))
A positivity constraint does not make sense, because if the optimal solution involves one or more elements of x to be exactly 0, then a strictly positive solution will be the better the smaller the corresponding elements are: 0.01 will be better than 0.1, 0.001 will be better than 0.01, etc. etc. – there is no natural bound. If you want to make sure that the solution is all-positive, you have to set a finite bound yourself:
x = quadprog(H, f, -eye(n), zeros(n, 1) + 0.001)
Now the smallest possible value of an element of x is 0.001.
Update after the question was supplemented with the actual data of A and b: Using the code
H = A' * A;
f = - A' * b;
n = size(A, 2);
x = quadprog(H, f, -eye(n), zeros(n, 1))
I get the result:
Minimum found that satisfies the constraints.
Optimization completed because the objective function is non-decreasing in
feasible directions, to within the default value of the function tolerance,
and constraints are satisfied to within the default value of the constraint tolerance.
<stopping criteria details>
x =
0.000380906335150292
3.90638261088393e-05
0.0111196970167585
0.0227055107206744
0.0318402514628274
0.0371743514880516
0.000800900221354844
0.00746652476710186
0.0180511534370576
0.0282423767946842
0.0362606972021829
0.0417582260990786
0.00860220929402253
0.0174105435824309
0.0265771677458008
0.0343071472371469
0.0395176470725881
0.0419494410289298
0.0187719294637544
0.0268976053211278
0.0336818044612046
0.0382365751296441
0.0398823076542831
0.0391016682549663
0.0279383031707377
0.0339393563379992
0.0377917413001034
0.0382731422972829
0.0338557405807941
0.0217568643500703
0.0343698083354502
0.0381554349806972
0.0392353941260779
0.0368010570888738
0.031271868401718
0.0258232230013864
This would be a linear optimization problem when you have x>0 condition. The best algorithm to solve that is simplex algorithm. The idea is that each linear equation aix=bi provide a line and the combination of these lines provide a polygon/polyhedron and the answer is one of the vertices of this polyhedron/polygon. Simplex algorithm is pretty standard and there are many available functions and libraries tha can calculate that.
The Matlab functions lsqlin or lsqnonneg can be used to solve your issue.
e.g:
x=lsqnonneg(A,b)
will give you what you are looking for.

Random numbers over periods (Using logical)

With the code below:
t=10;
period=9;
A=zeros(36,36,t);
for j=1:t
A(7:period:end,7:period:end,j)=rand(1,1);
A(8:period:end,8:period:end,j)=rand(1,1);
A(9:period:end,9:period:end,j)=rand(1,1);
end
Edit: This is A. I've split them up into 9x9 visually so it's easier to see the pattern.
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1
I'd like to make every single number which is labelled 1, a random number between 0 to 1. Is it necessary to create a vector(48,1) and then plug in the values where the 1s are?
Of course the numbers are not entirely random, the same three random numbers are being reproduced every ''period''.
Is there a simple way that can create random numbers so every single randomnly generated value is random?
Many thanks.
It was slightly trickier than I thought at first. Here's my solution though:
A = zeros(36,36,t);
idx = sub2ind([36 36 t],repmat(34:36,1,t),repmat(34:36,1,t),repmat(1:t,1,3));
A(idx) = rand(length(idx),1);
The solution with logical indexing is:
A(logical(A)) = rand(nnz(A),1);
But you have to prepare A as the binary matrix given in the question.

How can I read this text file to matrix with MATLAB? [closed]

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 11 years ago.
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
% read in data
fid = fopen('filepath');
data = textscan(fid,'%f%f%f%f','HeaderLines',2,'CollectOutput',1);
data = data{:};
fid = fclose(fid);
% retrieve column 1
data(:,1)
% Number of rows
size(data,1)
http://www.mathworks.com/matlabcentral/answers/3294-read-text-file-into-a-matrix
You may have to adapt the code a bit for your particular data file.
Just put brackets around the whole thing, and set it equal to a variable:
myData = [0 0 1 0 ... ];