- B = sortrows(A,column) sorts matrix A based on the columns specified in the vector, column. This input is used to perform multiple column sorts in succession.
Info
此问题已关闭。 请重新打开它进行编辑或回答。
Order and plot two linked vectors
1 次查看(过去 30 天)
显示 更早的评论
Hi, I have two vectors in which all the elements of the vector called "rho" in the Matlab code corresponds exactly at the elements in the other vector called "h". I want to order the vector "rho" from the smallest value to the greatest one, but when I do that, Matlab linked, for example the first element (the smallest) of the reorderd "rho" with the first element of "h", but in my work this is not correct. I write you the code:
if true
% num = 250;
delta_omega = 1/num;
h = 0.1+0.006:0.006:1.6
for i=1:length(h)
RXi=RX1 - h(i)*RX2
fx = (sort(RXi)')';
n = length(RXi);
p = ((1:n)/n)';
F=2.59
x=3.59
c=3.59
k=0.5
K = (F*exp(-x)*exp(-k*(F + c - x - (exp(F) - exp(x))/F)) - k*exp(-k*(F + c - x - (exp(F) - exp(x))/F)) - k^2*exp(-k*(F + c - x))*(F*exp(-x) - 1) - F*exp(-k*(F + c - x))*exp(-x) + 2*F*k*exp(-k*(F + c - x))*exp(-x) + F*k^2*exp(-x)*exp(-k*(F + c - x - (exp(F) - exp(x))/F))*(exp(x)/F - 1)^2 + 2*F*k*exp(-x)*exp(-k*(F + c - x - (exp(F) - exp(x))/F))*(exp(x)/F - 1))/(k*exp(-k*(F + c - x))*(F*exp(-x) - 1) + F*exp(-x)*exp(-k*(F + c - x - (exp(F) - exp(x))/F)) - F*exp(-k*(F + c - x))*exp(-x) + F*k*exp(-x)*exp(-k*(F + c - x - (exp(F) - exp(x))/F))*(exp(x)/F - 1));
phi=(K*exp(-K*p))/(1-exp(-K));
if true
% code
rho=phi.*(RXi.*p)
rho1= -phi.*(RXi.*p)
VX=[rho, h']
VX1=[rho1,h']
plot(h', rho)
plot(h',rho1)
end
How can I order the vectors together in order to have the correct correspondence of values? I remeber you that I want to order "rho" from the smallest value to the greatest one.
0 个评论
回答(2 个)
Star Strider
2015-8-3
From the documentation:
Try this:
Vxs = sortrows(Vx, 1);
and see if that does what you want.
4 个评论
Ortinomax
2015-8-4
Another simple way is to use indice in the second output of the sort function.
[rho_sorted order]= sort(rho);
h_rho=h(order);
[rho1_sorted order]= sort(rho1);
h_rho1=h(order);
Then you can plot vectors.
0 个评论
此问题已关闭。
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!