0

マトリックスとしてリストした画像があります。その画像を転置して、その画像を画面に表示したいと思います。

これを「難しい」方法、つまりMATLABの転置関数を使用せずに行う方法を知りたいです。

4

5 に答える 5

1

これは授業のためですので、正確な答えはお伝えしませんが、正しい方向に進めていきます。組み込み関数を使用するのではなく、手動で情報を転置する方法を探していると思います。

Matlabは、値をベクトルと「サイズ」の形式で行列に格納します。たとえば、2x3行列は、6つの値とともにベクトルに格納され、[2,3](内部)で2x3であることを示します。 6x1ではありません。

2x3行列の場合、これはベクトル内の値の順序です。

1 3 5
2 4 6

(2,2)の値を参照するには、A(2,2)またはA(4)として参照できます。(1,3)の値はA(5)として参照できます。

そのため、転置された順序で値を参照するベクトルを作成できる場合は、新しい値を適切な順序に割り当てて、適切なサイズの行列に格納できます。要点を述べるために、上記の行列の転置を考えてみましょう。

1 2
3 4
5 6

これは、サイズ(3,2)の(1,3,5,2,4,6)として表されます。ベクトル(1,3,5,2,4,6)を作成できる場合は、そのベクトルを使用して値を適切に割り当てることができます。

于 2013-03-21T06:05:17.543 に答える
0

ここに解決策のヒントがあります: 転置A(1,2)は、通常の配列Aの要素B(2,1)を転置された配列B( B=A') の要素に変換し、その逆も同様です。したがって、すべての行と列を繰り返し処理し、要素ごとに変換を適用できます。

于 2013-03-21T07:53:32.607 に答える
0

flipudとの使用は許可されていますfliplrか?
この場合、転置をフリップのシーケンスとして表すことができます (正確なシーケンスを理解するのはあなたに任せます)。

于 2013-03-21T08:21:27.603 に答える