Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- % Vector components: [ sm, ah, cs, ps, rv, nl ]
- % NOTE: sm = Steel Meridian, ah = Arbiters of Hexis, etc...
- % Syndicate mixing matrix
- W = [ 1 0 0 -1 0.5 -0.5; 0 1 0.5 -0.5 -1 0; 0 0.5 1 0 -0.5 -1; -1 -0.5 0 1 0 0.5; 0.5 -1 -0.5 0 1 0; -0.5 0 -1 0.5 0 1 ];
- % Starting syndicate standing (accumulate over rank)
- s0 = [ 372000, 372000, 372000, -71000, 372000, -71000 ]';
- % Target syndicate standing (all but Perrin Sequence)
- s = [ 372000, 372000, 372000, -71000, 372000, 372000 ]';
- % All 6 syndicates at max rank example
- % If you have 5 syndicates initially maxed
- %s0 = [ 372000, 372000, 372000, -71000, 372000, 372000 ]';
- %s = [ 283400, 283400, 283400, -71000, 283400, 283400 ]';
- % Mask out Perrin Sequence
- M = eye(6);
- M(4,4) = 0;
- Z = eye(6) - 1.0/6;
- Wh = M*W;
- % Shorthand for \hat{W}^T*\hat{W}
- Q = Wh'*Wh;
- % Pseudo inverse
- Qi = Z*inv(Q + 1)*Z;
- uh = Qi*Wh'*(s-s0);
- c = -6.0*min(uh);
- p = uh/c + 1/6;
- format longG
- disp("Starting syndicate standing: ")
- s0
- disp("Target syndicate standing: ")
- s
- disp("Total standing needed (not including the +50%): ")
- round(c) % The W will distribute the +50%
- disp("Total cumulative standing earned across: ")
- round(c*1.5)
- format shortG
- disp("Proportion of standing to accumulate per syndicate: ")
- p
- format longG
- disp("Ending standing: ")
- round(s0 + c*W*p)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement