私は2549x13倍の配列を持っています(M)。インデックスに対応する値を見つける
例ラインは:
-7.8095 -4.4135 -0.0881 2.5159 6.3142 6.9519 4.9788 2.9109 0.6623 -0.9269 0.3172 1.2445 -0.0730
4.5819 6.2371 5.8721 6.1824 5.2074 4.8656 5.0269 5.3340 3.6919 1.3608 -0.5443 0.2871 -1.2070
-6.2273 -3.7767 1.1829 2.8522 3.2428 0.5261 -3.5535 -7.7743 -8.4391 -9.8188 -6.0503 -5.8805 -7.7700
-2.2157 -3.2100 -4.4400 -3.5898 -0.8901 3.4061 6.5631 7.2028 4.3082 -0.7742 -5.0963 -3.1837 0.4372
5.5682 5.5393 3.4691 0.6789 1.7320 4.4472 3.7622 1.0194 -0.5362 -3.1721 -6.1281 -6.3959 -6.1932
0.9707 -0.2701 -3.8883 -8.8974 -7.0375 -1.5085 5.4171 6.0831 2.9852 -2.3474 -4.5637 -3.7378 1.3236
-2.811 0.0164 2.7208 5.7862 7.3344 8.3504 9.0635 8.4271 2.7669 -2.1403 -2.2003 -0.9940 0.7729
4.2382 3.3532 3.5475 7.9209 11.7933 14.3181 13.6289 12.9553 13.7464 14.1331 14.3814 16.7949 15.9003
-0.0539 -2.7059 -3.8141 -2.7531 -1.7465 0.9190 2.2220 0.7268 1.5436 1.0426 2.3535 3.0269 6.4798
また、私は必要とするいくつかの値のインデックス、2549x5二重(INDE)を有します。
例ライン:
4 5 6 7 8
0 1 2 3 4
3 4 5 6 7
6 7 8 9 10
-1 0 1 2 3
6 7 8 9 10
5 6 7 8 9
10 11 12 13 14
11 12 13 14 15
私は実際の値を持つ新しい配列/マトリックスを作成するために、今したいです。したがって、配列Mを見つけるには、インデックスのに対応する値を使用します。
ただし、索引(の場合は)が0の場合、その行のindeces 1,2,3,4に対応する値を取得したいと考えています。 インデックスが-1または15の場合、新しい配列/マトリックスにNaNを挿入したいと考えています。 インデックスが14の場合は、10,11,12,13に対応する値を取得したいと考えています。 だから私は取得したいと思います:
2.5159 6.3142 6.9519 4.9788 2.9109
NaN 4.5819 6.2371 5.8721 6.1824
1.1829 2.8522 3.2428 0.5261 -3.5535
3.4061 6.5631 7.2028 4.3082 -0.7742
NaN
-1.5085 5.4171 6.0831 2.9852 -2.3474
7.3344 8.3504 9.0635 8.4271 2.7669
14.1331 14.3814 16.7949 15.9003 NaN
NaN
これを助けることができる人には非常に感謝。
あなたの質問には多くの問題があります。まず第一に、MATLABはゼロになるインデックスを特定しません。したがって、あなたの条件の1つが無効です。私はあなたが最初のインデックスを意味すると仮定します。その後、あなたの望むマトリックスにはいくつか問題があります。 2行目は最後の列に要素がありません。同じことが8行目の問題です。すなわち、その第1列に要素がない。 &NAは何ですか?それは1x5の行ベクトルですか? 私はあなたの望ましい結果がNA'はすべて 'NaN'の行であることを考慮'とランダムに第二&第8行に欠けている要素を満たす生産することができますよ!上記の問題を明らかにすると答えを投稿します。 –
@Sardar_Usama Reインデックス:私がしたのは、各行の行列* M *の最大値を特定することでした。 '[Peak Ind] = max(M、[]、2);'次に、最大値の前後に2つの値を考慮する必要がありました。 'inde = bsxfun(@ plus、Ind、-2:2);'これが私がインデックスでゼロを得る理由です。 – dede
@Sardar_Usama希望の行列:私が望むものは、最大値の前後2つの値です。しかし、* inde *にインデックスが0の場合は、最大値が第2列の行列* M *にあることを意味します。したがって、私は最大値に先行する1つの値と最大値に続く2つの値だけを考慮する必要があります。このため、2行目の最後の値が欠落しています。 8行目と同じです。ここでは、最大値は2番目の最後の列にあります。したがって、私は最大値に先行する2つの値と、最大値に続く1つの値を考慮する必要があります。 8行目の最初の値が欠落しているのはこのためです。 – dede