How to make a permanent change to a matrix using sortrows?

3 ビュー (過去 30 日間)
Shawn Blancett
Shawn Blancett 2017 年 10 月 16 日
編集済み: Cedric 2017 年 10 月 17 日
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

採用された回答

Cedric
Cedric 2017 年 10 月 16 日
編集済み: Cedric 2017 年 10 月 16 日
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) ;
  4 件のコメント
Shawn Blancett
Shawn Blancett 2017 年 10 月 17 日
Hey if you dont mind me asking, is there a way to run a script that produces a plot more than once , in the end plotting 10 lines on the same graph?
Cedric
Cedric 2017 年 10 月 17 日
編集済み: Cedric 2017 年 10 月 17 日
Yes, execute
hold on
before or after the first plot, and the following will be added as overlays.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLinear Algebra についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by