私は複素行列cdata
、つまり2144x2048
を持っています。MATLAB複雑な行列の境界内にある
[row, col] = find(abs(cdata) > threshold);
row
とcol
は、複数の値を持つことができます。私は、次の手順を実行して、指定されたthreshold
よりも大きいcdata
から要素を取得しています。その後、私は次のようにIは、N個の実数X-データのサンプル、およびyデータの33個のサンプルを得るために計算を実行し、行およびCOL値をとる:bw
が一定値である
xdata = real(cdata(row(i),col(i)-bw:col(i)+bw))
ydata = real(cdata(row(i)-bw:row(i)+bw,col(i)-bw:col(i)+bw))
その取得する必要があるサンプルの数を決定します。私ことを保証することができる方法
??? Subscript indices must either be real positive integers or logicals
:この計算は、具体的xdata
ためcdata
の柱部とydata
ためcdata
の行部分の間、Iは行列の境界を超え、MATLABは、次のエラーをスロー限界を超えないでください。境界を越える場合は、行/列ペアをスキップする必要があります。
素晴らしいソリューションです。そしてはい、あなたはydataについて正しいです、私はタイプミスです。 – DeeTee