acces data for find tsp distance by matrix indexing
1 回表示 (過去 30 日間)
古いコメントを表示
hi, i am have a distance matrix A=[0 2 5; 5 0 4; 6 3 0] and the route is in another matrix B=[1 2 3; 1 3 2; 2 1 3; 2 3 1]
by using the B i need to find the distance which is in A
Eg:
Taken the1st row of B [1 2 3] it means 1st row and 2nd column of A value taken (2) then 2nd row and 3rd column of A value taken(4) for each row of B wil get the value from A and store in another matrix C[2 4]
need code for this...
Thanks in Advance
1 件のコメント
Stephen23
2019 年 1 月 28 日
Your question has nothing to do with cell arrays. MATLAB's basic data classes (e.g. cell arrays and numeric arrays) are explained in the MATLAB documentation:
採用された回答
Walter Roberson
2019 年 1 月 28 日
編集済み: Walter Roberson
2019 年 1 月 28 日
sum(A(sub2ind(size(A), B(:,1:end-1), B(:,2:end))),2)
By the way your question has nothing to do with cell arrays.
4 件のコメント
Walter Roberson
2019 年 1 月 28 日
You can extend the
sub2ind(size(A), B(:,1:end-1), B(:,2:end))
to have as many dimensions as you need. The first input is the array size; the second corresponds to the first index; the third corresponds to the second index. You can keep going with more indices. The N'th output element of
idx = sub2ind(size(A), P, Q, R)
would correspond to the linear index in A of A(P(N), Q(N), R(N)) such that A(idx(N)) would be the same as A(P(N), Q(N), R(N))
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Matrix Indexing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!