How to make a permanent change to a matrix using sortrows?
1 view (last 30 days)
Show older comments
The code im writing, im using sort rows and its working great, it takes my array of random numbers and then puts it in order completely but it isnt a permanent change to the array. From what I can tell the last part of my code prints out the array,sorts it and then prints it again but the array goes back to normal? is there anyway to keep sortrow changes to my array?
a=0; b=0; c=0; d=0; e=0; f=0;
k = 80; u = 40; sigmas = .05; %GPa
c1 = (k + (4/3)*u) ; c2 = (k - (2/3)*u);
P = zeros(50,7);
N = zeros(10,6);
for i = 1:50
for j = 1:6
P(i,j) = (-.0025 + (.005*rand(1)));
end
end
%for di = 1:10
for i = 1:50
a = P(i,1); d = P(i,2); f = P(i,3); b = P(i,4); c = P(i,5); e = P(i,6);
sigmaxx = (a*c1 + a*c2 + a*c2); sigmayy = (d*c2 + d*c1 + d*c2);
sigmazz = (f*c2+f*c2+f*c1); sigmaxy = (2*b*u);
sigmazx = (2*c*u); sigmayz = (2*e*u);
F = ((sigmaxx - sigmayy)^2)+((sigmayy-sigmazz)^2)+((sigmaxx-sigmazz)^2)+6*((sigmaxy^2)+(sigmazx^2)+(sigmayz^2));
Cf = ((F - (2*sigmas^2))/(2*sigmas^2))^2;
P(i,7) = Cf;
end
disp(P)
sortrows(P,7)
disp(P)
>> GE
1.0e+05 *
0.0000 0.0000 -0.0000 0.0000 0.0000 0.0000 0.1659
0.0000 0.0000 -0.0000 0.0000 0.0000 -0.0000 0.3517
-0.0000 -0.0000 0.0000 -0.0000 -0.0000 0.0000 0.1382
0.0000 0.0000 0.0000 -0.0000 0.0000 0.0000 0.0815
-0.0000 0.0000 -0.0000 0.0000 0.0000 -0.0000 0.4886
0.0000 -0.0000 0.0000 0.0000 -0.0000 -0.0000 1.7163
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.1106
0.0000 0.0000 0.0000 -0.0000 0.0000 0.0000 0.1178
0.0000 0.0000 -0.0000 -0.0000 0.0000 -0.0000 1.4394
-0.0000 0.0000 -0.0000 -0.0000 0.0000 0.0000 0.3773
-0.0000 -0.0000 -0.0000 -0.0000 0.0000 -0.0000 0.0505
-0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0.1971
-0.0000 0.0000 0.0000 -0.0000 0.0000 0.0000 1.2847
0.0000 0.0000 0.0000 0.0000 -0.0000 -0.0000 0.0548
-0.0000 -0.0000 0.0000 -0.0000 -0.0000 0.0000 0.7923
-0.0000 -0.0000 0.0000 0.0000 -0.0000 0.0000 1.5805
0.0000 -0.0000 -0.0000 0.0000 0.0000 -0.0000 0.6276
0.0000 -0.0000 -0.0000 0.0000 -0.0000 0.0000 1.1048
0.0000 0.0000 0.0000 0.0000 -0.0000 -0.0000 0.0482
-0.0000 0.0000 -0.0000 -0.0000 -0.0000 0.0000 0.4118
0.0000 0.0000 -0.0000 -0.0000 0.0000 -0.0000 0.2474
-0.0000 -0.0000 0.0000 -0.0000 -0.0000 0.0000 0.5147
-0.0000 -0.0000 0.0000 0.0000 -0.0000 0.0000 0.7107
0.0000 0.0000 0.0000 0.0000 -0.0000 -0.0000 0.0695
0.0000 0.0000 -0.0000 -0.0000 -0.0000 0.0000 0.1451
0.0000 0.0000 -0.0000 -0.0000 0.0000 0.0000 0.8630
0.0000 -0.0000 0.0000 -0.0000 0.0000 0.0000 0.1166
-0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.1223
-0.0000 -0.0000 0.0000 0.0000 0.0000 -0.0000 0.8756
-0.0000 -0.0000 0.0000 0.0000 -0.0000 -0.0000 0.3255
0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0.0000 0.8802
-0.0000 0.0000 -0.0000 -0.0000 0.0000 0.0000 1.6178
-0.0000 -0.0000 0.0000 -0.0000 -0.0000 -0.0000 1.8305
0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0.0000 0.5213
-0.0000 0.0000 0.0000 -0.0000 -0.0000 0.0000 2.2296
-0.0000 0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0.3583
0.0000 0.0000 0.0000 -0.0000 0.0000 -0.0000 0.1360
-0.0000 -0.0000 -0.0000 0.0000 -0.0000 -0.0000 0.0235
-0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.5958
-0.0000 -0.0000 -0.0000 0.0000 -0.0000 -0.0000 0.2636
0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0.0000 1.1244
0.0000 -0.0000 -0.0000 0.0000 0.0000 0.0000 2.1475
-0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.3680
0.0000 -0.0000 0.0000 -0.0000 -0.0000 -0.0000 0.0437
-0.0000 0.0000 -0.0000 -0.0000 0.0000 0.0000 0.9815
-0.0000 -0.0000 0.0000 0.0000 0.0000 -0.0000 0.2089
0.0000 -0.0000 -0.0000 -0.0000 0.0000 0.0000 0.1444
0.0000 -0.0000 0.0000 0.0000 0.0000 0.0000 1.5641
-0.0000 0.0000 -0.0000 -0.0000 0.0000 0.0000 0.2793
-0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 0.2917
ans =
1.0e+05 *
-0.0000 -0.0000 -0.0000 0.0000 -0.0000 -0.0000 0.0235
0.0000 -0.0000 0.0000 -0.0000 -0.0000 -0.0000 0.0437
0.0000 0.0000 0.0000 0.0000 -0.0000 -0.0000 0.0482
-0.0000 -0.0000 -0.0000 -0.0000 0.0000 -0.0000 0.0505
0.0000 0.0000 0.0000 0.0000 -0.0000 -0.0000 0.0548
0.0000 0.0000 0.0000 0.0000 -0.0000 -0.0000 0.0695
0.0000 0.0000 0.0000 -0.0000 0.0000 0.0000 0.0815
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.1106
0.0000 -0.0000 0.0000 -0.0000 0.0000 0.0000 0.1166
0.0000 0.0000 0.0000 -0.0000 0.0000 0.0000 0.1178
-0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.1223
0.0000 0.0000 0.0000 -0.0000 0.0000 -0.0000 0.1360
-0.0000 -0.0000 0.0000 -0.0000 -0.0000 0.0000 0.1382
0.0000 -0.0000 -0.0000 -0.0000 0.0000 0.0000 0.1444
0.0000 0.0000 -0.0000 -0.0000 -0.0000 0.0000 0.1451
0.0000 0.0000 -0.0000 0.0000 0.0000 0.0000 0.1659
-0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0.1971
-0.0000 -0.0000 0.0000 0.0000 0.0000 -0.0000 0.2089
0.0000 0.0000 -0.0000 -0.0000 0.0000 -0.0000 0.2474
-0.0000 -0.0000 -0.0000 0.0000 -0.0000 -0.0000 0.2636
-0.0000 0.0000 -0.0000 -0.0000 0.0000 0.0000 0.2793
-0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 0.2917
-0.0000 -0.0000 0.0000 0.0000 -0.0000 -0.0000 0.3255
0.0000 0.0000 -0.0000 0.0000 0.0000 -0.0000 0.3517
-0.0000 0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0.3583
-0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.3680
-0.0000 0.0000 -0.0000 -0.0000 0.0000 0.0000 0.3773
-0.0000 0.0000 -0.0000 -0.0000 -0.0000 0.0000 0.4118
-0.0000 0.0000 -0.0000 0.0000 0.0000 -0.0000 0.4886
-0.0000 -0.0000 0.0000 -0.0000 -0.0000 0.0000 0.5147
0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0.0000 0.5213
-0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.5958
0.0000 -0.0000 -0.0000 0.0000 0.0000 -0.0000 0.6276
-0.0000 -0.0000 0.0000 0.0000 -0.0000 0.0000 0.7107
-0.0000 -0.0000 0.0000 -0.0000 -0.0000 0.0000 0.7923
0.0000 0.0000 -0.0000 -0.0000 0.0000 0.0000 0.8630
-0.0000 -0.0000 0.0000 0.0000 0.0000 -0.0000 0.8756
0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0.0000 0.8802
-0.0000 0.0000 -0.0000 -0.0000 0.0000 0.0000 0.9815
0.0000 -0.0000 -0.0000 0.0000 -0.0000 0.0000 1.1048
0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0.0000 1.1244
-0.0000 0.0000 0.0000 -0.0000 0.0000 0.0000 1.2847
0.0000 0.0000 -0.0000 -0.0000 0.0000 -0.0000 1.4394
0.0000 -0.0000 0.0000 0.0000 0.0000 0.0000 1.5641
-0.0000 -0.0000 0.0000 0.0000 -0.0000 0.0000 1.5805
-0.0000 0.0000 -0.0000 -0.0000 0.0000 0.0000 1.6178
0.0000 -0.0000 0.0000 0.0000 -0.0000 -0.0000 1.7163
-0.0000 -0.0000 0.0000 -0.0000 -0.0000 -0.0000 1.8305
0.0000 -0.0000 -0.0000 0.0000 0.0000 0.0000 2.1475
-0.0000 0.0000 0.0000 -0.0000 -0.0000 0.0000 2.2296
1.0e+05 *
0.0000 0.0000 -0.0000 0.0000 0.0000 0.0000 0.1659
0.0000 0.0000 -0.0000 0.0000 0.0000 -0.0000 0.3517
-0.0000 -0.0000 0.0000 -0.0000 -0.0000 0.0000 0.1382
0.0000 0.0000 0.0000 -0.0000 0.0000 0.0000 0.0815
-0.0000 0.0000 -0.0000 0.0000 0.0000 -0.0000 0.4886
0.0000 -0.0000 0.0000 0.0000 -0.0000 -0.0000 1.7163
0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.1106
0.0000 0.0000 0.0000 -0.0000 0.0000 0.0000 0.1178
0.0000 0.0000 -0.0000 -0.0000 0.0000 -0.0000 1.4394
-0.0000 0.0000 -0.0000 -0.0000 0.0000 0.0000 0.3773
-0.0000 -0.0000 -0.0000 -0.0000 0.0000 -0.0000 0.0505
-0.0000 -0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0.1971
-0.0000 0.0000 0.0000 -0.0000 0.0000 0.0000 1.2847
0.0000 0.0000 0.0000 0.0000 -0.0000 -0.0000 0.0548
-0.0000 -0.0000 0.0000 -0.0000 -0.0000 0.0000 0.7923
-0.0000 -0.0000 0.0000 0.0000 -0.0000 0.0000 1.5805
0.0000 -0.0000 -0.0000 0.0000 0.0000 -0.0000 0.6276
0.0000 -0.0000 -0.0000 0.0000 -0.0000 0.0000 1.1048
0.0000 0.0000 0.0000 0.0000 -0.0000 -0.0000 0.0482
-0.0000 0.0000 -0.0000 -0.0000 -0.0000 0.0000 0.4118
0.0000 0.0000 -0.0000 -0.0000 0.0000 -0.0000 0.2474
-0.0000 -0.0000 0.0000 -0.0000 -0.0000 0.0000 0.5147
-0.0000 -0.0000 0.0000 0.0000 -0.0000 0.0000 0.7107
0.0000 0.0000 0.0000 0.0000 -0.0000 -0.0000 0.0695
0.0000 0.0000 -0.0000 -0.0000 -0.0000 0.0000 0.1451
0.0000 0.0000 -0.0000 -0.0000 0.0000 0.0000 0.8630
0.0000 -0.0000 0.0000 -0.0000 0.0000 0.0000 0.1166
-0.0000 -0.0000 0.0000 -0.0000 0.0000 -0.0000 0.1223
-0.0000 -0.0000 0.0000 0.0000 0.0000 -0.0000 0.8756
-0.0000 -0.0000 0.0000 0.0000 -0.0000 -0.0000 0.3255
0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0.0000 0.8802
-0.0000 0.0000 -0.0000 -0.0000 0.0000 0.0000 1.6178
-0.0000 -0.0000 0.0000 -0.0000 -0.0000 -0.0000 1.8305
0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0.0000 0.5213
-0.0000 0.0000 0.0000 -0.0000 -0.0000 0.0000 2.2296
-0.0000 0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0.3583
0.0000 0.0000 0.0000 -0.0000 0.0000 -0.0000 0.1360
-0.0000 -0.0000 -0.0000 0.0000 -0.0000 -0.0000 0.0235
-0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.5958
-0.0000 -0.0000 -0.0000 0.0000 -0.0000 -0.0000 0.2636
0.0000 -0.0000 -0.0000 -0.0000 -0.0000 0.0000 1.1244
0.0000 -0.0000 -0.0000 0.0000 0.0000 0.0000 2.1475
-0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.3680
0.0000 -0.0000 0.0000 -0.0000 -0.0000 -0.0000 0.0437
-0.0000 0.0000 -0.0000 -0.0000 0.0000 0.0000 0.9815
-0.0000 -0.0000 0.0000 0.0000 0.0000 -0.0000 0.2089
0.0000 -0.0000 -0.0000 -0.0000 0.0000 0.0000 0.1444
0.0000 -0.0000 0.0000 0.0000 0.0000 0.0000 1.5641
-0.0000 0.0000 -0.0000 -0.0000 0.0000 0.0000 0.2793
-0.0000 0.0000 -0.0000 0.0000 -0.0000 0.0000 0.2917
0 Comments
Accepted Answer
Cedric
on 16 Oct 2017
Edited: Cedric
on 16 Oct 2017
P = sortrows(P,7) ;
Most of the time functions don't operate "externally", so SORTROWS doesn't alter your array P defined in the workspace. It creates a new sorted array that it outputs. You have to store this output back into P if you want P to be the sorted version. If you wanted to keep the original, you could store it into a new variable:
P_sorted = sortrows(P,7) ;
More Answers (0)
See Also
Categories
Find more on Shifting and Sorting Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!