Ho do I make a matrix with point data?
現在この質問をフォロー中です
- フォローしているコンテンツ フィードに更新が表示されます。
- コミュニケーション基本設定に応じて電子メールを受け取ることができます。
エラーが発生しました
ページに変更が加えられたため、アクションを完了できません。ページを再度読み込み、更新された状態を確認してください。
古いコメントを表示
I currently have data for 3d points and want to make a matrix out of them
This point data is structured as 3 matrices each containing x, y, z locations which look like these
x=[-3.266573190689087, -3.266134023666382, -3.266134023666382, -3.266573190689087, ... ]
y=[-0.372330516576767, -0.372330516576767, -0.371891230344772, -0.371451914310455, ... ]
z=[-0.085013940930367, -0.085015110671520, -0.084998413920403, -0.085046470165253, ... ]
My hope is to find a way to combine these three matrices into one matrix which would be
matrix( y(i) , x(i) ) = z(i)
x,y,z are all 168136818 long so I dont thick I can share them due to their size
Is there a way to do this in matlab?
thank you for your help.
採用された回答
KSSV
2020 年 9 月 13 日
Let A be your m*3 data matrix.
x = A(:,1) ; y = A(:,2) ; z = A(:,3) ;
%%structured
xi = unique(x) ; yi = unique(y) ;
[X,Y] = meshgrid(xi,yi) ;
Z = reshape(z,size(X)) ;
figure
surf(X,Y,Z)
%%unstructured
dt = delaunayTriangulation(x,y) ;
tri = dt.ConnectivityList ;
figure
trisurf(tri,x,y,z)
14 件のコメント
Hoyong Yie
2020 年 9 月 13 日
Thank you very much,
But I am getting an error during reshape part
[Error using reshape
Number of elements must not change. Use [] as one of the size inputs to automatically calculate the appropriate
size for that dimension.]
I looked through the reshape function but can't find what might cause this problem.
Can you help me?
KSSV
2020 年 9 月 13 日
Your data is scattered or structured?
Hoyong Yie
2020 年 9 月 13 日
If structured means the matrix is full, I think it's mostly structured, where the end parts have some holes
KSSV
2020 年 9 月 13 日
Attach your data.
Hoyong Yie
2020 年 9 月 13 日
This would be the A part of my data
KSSV
2020 年 9 月 13 日
There is no data in .mat file. It shows 0kb.
Hoyong Yie
2020 年 9 月 13 日
I think it was because the size was over 400MB
would sharing like this be ok?
KSSV
2020 年 9 月 13 日
You have to give permission to access...
Hoyong Yie
2020 年 9 月 13 日
Done. Sorry for the inconvenience. I never shared a file like this before.
x = A(:,1) ;
y = A(:,2) ;
z = A(:,3) ;
% Use grid data to get matrices
dx = 0.05 ; dy = 0.05 ; % specify your resolution
xi = min(x):dx:max(x) ;
yi = min(y):dy:max(y) ;
[X,Y] = meshgrid(xi,yi) ;
Z = griddata(x,y,z,X,Y) ;
pcolor(X,Y,Z)
shading interp
colorbar
Hoyong Yie
2020 年 9 月 14 日
thank you very much,
but can you tell me what does idx means?
KSSV
2020 年 9 月 14 日
You can remove the idx. I forgot to remove it while answering. I worked with reduced data as data was huge, so I have used idx and indices to pick some part of data.
Hoyong Yie
2020 年 9 月 14 日
Ok thank you.
I'm quite new to matlab and was stuck with this for 2 weeks.
Your help is greatly appreciated.
KSSV
2020 年 9 月 14 日
You are welcome...my pleasure helping you. :)
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Logical についてさらに検索
タグ
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
