2016-07-21 16 views
0

Matlabを初めて使用する!私はこのオープンソースコードを使って、自分が望むやり方をするようにしていますが、私が望むやり方ではありません。私はちょうどこれをラップするいくつかの助けが必要です。Matlab:マトリックスにデータを保存

clear 

global geodesic_library;     
geodesic_library = 'geodesic_debug';  %"release" is faster and "debug" does additional checks 
rand('state', 0);       %comment this statement if you want to produce random mesh every time 

load V3_Elements4GeodesicD.k 
load V3_Nodes4GeodesicD.k 

vertices = V3_Nodes4GeodesicD (:, [2 3 4]); 
faces = V3_Elements4GeodesicD (:, [3 4 5]); 

N = 12240;         %number of points in a mesh 

mesh = geodesic_new_mesh(vertices,faces);   %initilize new mesh 
algorithm = geodesic_new_algorithm(mesh, 'exact');  %initialize new geodesic algorithm 

vertex_id = 6707 ;        %create a single source at vertex #1 
source_points = {geodesic_create_surface_point('vertex',vertex_id,vertices(vertex_id,:))}; 

geodesic_propagate(algorithm, source_points); %propagation stage of the algorithm (the most time-consuming) 

vertex_id = 12240;        %create a single destination at vertex #N 
destination = geodesic_create_surface_point('vertex',vertex_id,vertices(vertex_id,:)); 
path = geodesic_trace_back(algorithm, destination);  %find a shortest path from source to destination 

distances = zeros(N,1);    %find distances to all vertices of the mesh (actual pathes are not computed) 
[source_id, distances] = geodesic_distance_and_source(algorithm) %find distances to all vertices of the mesh; in this example we have a single source, so source_id is always equal to 1 

geodesic_delete;       %delete all meshes and algorithms 

それは距離を出力し、その後、後続のコードでは、それがパスをプロット:

は、これは私がこれまで持っているものです。

だから私の問題です。それは私の "ソース"のそれぞれに対応する12000 +距離をプリントアウトしますが、私はメッシュ上の10のソースと12のデスティネーションの間の距離だけを気にします。私が気にかけている120の距離を印刷してマトリックスに保管するにはどうすればいいですか?

+0

[link](http://stackoverflow.com/questions/32379805/linear-indexing-logical-indexing-and-all-that)とここにあります:[link](http://www.mathworks .com/company/newsletters/articles/matrix-indexing-in-matlab.html)。 – Rotem

答えて

0

MATALBでは、ステートメントの最後にセミコロンを入れないと、そのステートメントの出力がコンソールに出力されます。したがって、次の文章:

[source_id, distances] = geodesic_distance_and_source(algorithm) 

セミコロンがありません。私はそれが12000の距離が印刷されているのを見ていると思う。

2番目の質問に答えるには:マトリックスdistancesの構造に関する十分な情報がありません。私はあなたがソースmと宛先nとの間の距離をインデックスとして使用してdistances(m,n)と考えることができると思います。それは通常距離行列がどのように構造化されているかですが、私は確かに言うことはできません。

関連する問題