i have 3 different arrays x,y and z and i would like to create one matrix M where the M(i,j)=z(i) and i and j in M are the corresponding x and y values.
Note that x and y are not whole numbers

1 件のコメント

Jon
Jon 2019 年 7 月 8 日
I'm sorry, but I am having difficulty understanding your verbal description of your problem. Please provide a simple example with arrays x,y,and z and the matrix M that you would like to produce.

サインインしてコメントする。

 採用された回答

Steven Lord
Steven Lord 2019 年 7 月 10 日

0 投票

You can't have an array in MATLAB whose element indices are non-integer values. If M is a matrix M(3.5, pi) will error (for example.)
What are you planning to do with this "matrix" M? You may need/want to create an object that will allow you to interpolate your data, like a scatteredInterpolant or griddedInterpolant.
If you don't want to perform interpolation but want to be able to map non-integer values to a value you could create a matrix like Adam Danz suggested and use ismember or ismembertol with the 'rows' flag when you need to "index" into that matrix with the non-integer values.

その他の回答 (1 件)

Adam Danz
Adam Danz 2019 年 7 月 9 日
編集済み: Adam Danz 2019 年 7 月 10 日

0 投票

It sounds like you want to horizontally concatenate three column vectors of equal length to form a matrix. If this doesn't demonstrate your question and its solution, please provide an example of the inputs and expected outputs.
x = randi(100,12,1);
y = randi(50, 12,1);
z = randi(15, 12,1);
M = [x,y,z];

カテゴリ

ヘルプ センター および File ExchangeMatrices and Arrays についてさらに検索

製品

リリース

R2019a

質問済み:

2019 年 7 月 8 日

回答済み:

2019 年 7 月 10 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by