Step 1 – Input the initial column vector into matlab for both strings in column A and numbers in Column B
Step2 – Randomize the vector 10 times – randperm. Create 10 randomized order column vectors. The strings should be randomized in the same order the numbers are being randomized. This yields 10 columns vectors for strings and 10 column vectors for numbers from the input vector that are both randomized in the same order. This randomizing order of
So for numbers – the 10 randomized column vectors will be:
- Rvector1, Rvector2, Rvector3, Rvector4, Rvector5, Rvector6, Rvector7,Rvector8,Rvector9,Rvector10
Step3 – First operation is to create a baseline matrix for numbers.
Create a baseline matrix such that each column vector will be as follows. Please keep in mind that these vectors are composed of element wise subtraction of each element in Rvector.
This baseline matrix has to be have one condition – none of the element of this baseline matrix can be 0. If there is any 0 in the baseline matrix – make sure another rowsorter indexer is run to generate randomized vectors such that the baseline matrix is non-zero.
% d2pick=Rvector1-Rvector2;
% d4pick=Rvector1-Rvector2+Rvector3-Rvector4;
% d6pick=Rvector1-Rvector2+Rvector3-Rvector4+Rvector5-Rvector6;
% d8pick=Rvector1-Rvector2+Rvector3-Rvector4+Rvector5-Rvector6+Rvector7-Rvector8;
% d10pick=Rvector1-Rvector2+Rvector3-Rvector4+Rvector5-Rvector6+Rvector7-Rvector8+Rvector9-Rvector10;
%
% baselinenumbers = [d2pick d4pick d6pick d8pick d10pick]; The output baseline matrix will have only 5 columns.
Step 4 – Next operation is for the corresponding baseline matrix – output in what sequence the strings were paired based on the same randomized order that went into generating non zero baseline numbers. So there will be another baselinestrings matrix with the following order For example:
D2pick column will have [
A-C
B-D
C-E
.
.
.
]
D4pick column will have [
A-C+D-E
.
.
.] So on and so forth.
Step 5 – Doubling perturbation iteration. In this case: we double every number one by one and study it’s impact to the baseline numbers matrix. Basically once you double A from say 120 to 240 – we have to run the entire column vector with just A doubled to 240 and compare the new perturbed baselinematrix from this doubling of each individual number to the baseline matrix generated in Step 3. The running method for this first perturbation of A=2A is through the same sorter/randomizer order which was used to establish the non-zero baseline matrix.
We do this for all elements from A through T one by one. For instance when we double B – we double only B and A is set to it’s original value of 120.
A 120
B 10
C 60
D 80
E 90
Step 6 – Doubling perturbation iteration for strings. Basically regenerate Step 4 with all strings with whichever value is doubled. So now instead of baselinestring matrix A-B it will be 2A-B etc. Basically we are updating strings wherever A is doubled.
Step 7 – Creating a difference matrix for % calculation to compare the change to perturbed matrix that was generated in Step 5 and compare it to baseline matrix that was created in Step 4.
For each element of perturbed A matrix to baseline matrix we say difference = (PerturbedA-baseline)/baseline*100 percent. Basically we want to pick the highest % difference value (positive and negative) for each 2pick, 4pick, 6pick, 8pick,10 pick column as a result of doubling A. This has to be done for all doublings from A through T and store these % differences to baseline matrix for all A through T. End goal is to be able to say which one from A through T when doubled shifts the 2pick,4pick,6pick,8pick,10pick value by the most %.
For rest of the steps please see the attached documents.
Hi,
I would like to help you with your
Matlab project. You can rely on me.
I am an experienced developer.
Looking forward to hear from you.
Best regards,
Oleg
Hello, my name's Jorge, I am electronics engineer with experience programming embedded devices.
In my career I have used MATLAB very frequently, so I have experience managing the software.
Please share with me more details to see how can I help you.
Contact me to discuss anything, I'd be glad to answer your questions.
Thanks for your time