MATLAB Answers

Translated by

このページのコンテンツは英語から自動翻訳されています。自動翻訳をオフにする場合は「<a class="turn_off_mt" href="#">ここ</a>」をクリックしてください。

0

How do I convert a grid 'surface' variable to distinct X, Y and Z variables?

Matthew Harris さんによって質問されました 2019 年 2 月 7 日
最新アクティビティ Rik Wisselink
さんによって 回答されました 2019 年 2 月 7 日
I have a large output from an analysis of mine that is a 1001x89 double. The first row is the Y axis, and the first column is the X axis. The other values are the Z 'surface' values that populate the grid. Here's a simplified example:
nan 500 497 494 491 488 ...
240 0.01 0.01 0.01 0.01 0.01 ...
241 0.01 0.01 0.01 0.02 0.02 ...
242 0.01 0.01 0.02 0.02 0.02 ...
243 0.02 0.02 0.02 0.02 0.03 ...
244 0.03 0.03 0.03 0.03 0.04 ...
... ... ... ... ... ... ...
I'm after a loop that, for a given Z value in the grid (i.e. not anything in [1,:] or [:,1]), assigns that value to a new variable whilst also assigning the first value in the corresponding row and column to distinct variables as well.
Any help will be greatly appreciated.

  0 件のコメント

サインイン to comment.

1 件の回答

回答者: Rik Wisselink
2019 年 2 月 7 日

If you restructure your data you can use tools like find, ismember, and ismembertol. That way you can use logical indexing to select only the data you need.
data=[NaN 500 497 494 491 488
240 0.01 0.01 0.01 0.01 0.01
241 0.01 0.01 0.01 0.02 0.02
242 0.01 0.01 0.02 0.02 0.02
243 0.02 0.02 0.02 0.02 0.03
244 0.03 0.03 0.03 0.03 0.04 ];
[X,Y]=ndgrid(data(2:end,1),data(1,2:end));
Z=data(2:end,2:end);

  0 件のコメント

サインイン to comment.



Translated by