algorithmisches < Sonstiges < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 00:40 Do 14.01.2010 | Autor: | cluedo |
Hi,
ich hab ein algorithmisches problem. ich habe einen vektor $V$ der dimension [mm] $k=m\cdot [/mm] n$ und möchte diesen in eine matrix $M$ mit $n$ zeilen und $m$ spalten überführen.
dabei soll die zuordnung so laufen:
M(1,1) = V(1) [mm] \\
[/mm]
M(1,2) = V(2) [mm] \\
[/mm]
M(1,3) = V(3) [mm] \\
[/mm]
[mm] \vdots \\
[/mm]
M(1,m) = [mm] V(m)\\
[/mm]
M(2,1) = [mm] V(m+1)\\
[/mm]
M(2,2) = [mm] V(m+2)\\
[/mm]
[mm] \vdots
[/mm]
das muss man ja irgendwie mit modulo und zwei schleifen hinbekommen, aber ich komm einfach nicht drauf wie.
habt ihr eine gute idee, wie man das hinbekommen kann?!
grüße
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 03:43 Do 14.01.2010 | Autor: | Marcel |
Hallo,
> Hi,
> ich hab ein algorithmisches problem. ich habe einen vektor
> [mm]V[/mm] der dimension [mm]k=m\cdot n[/mm] und möchte diesen in eine
> matrix [mm]M[/mm] mit [mm]n[/mm] zeilen und [mm]m[/mm] spalten überführen.
> dabei soll die zuordnung so laufen:
>
> [mm] M\blue{(1,1)} [/mm] = [mm] V(\red{1})[/mm] [mm]\\[/mm]
> [mm] M\blue{(1,2)} [/mm] = [mm] V(\red{2})[/mm] [mm]\\[/mm]
> [mm] M\blue{(1,3)} [/mm] = [mm] V(\red{3})[/mm] [mm]\\[/mm]
> [mm]\vdots \\[/mm]
> [mm] M\blue{(1,m)} [/mm] = [mm]V(\red{m})\\[/mm]
> [mm] M\blue{(2,1)} [/mm] = [mm]V(\red{m+1})\\[/mm]
> [mm] M\blue{(2,2)} [/mm] = [mm]V(\red{m+2})\\[/mm]
> [mm]\vdots[/mm]
>
> das muss man ja irgendwie mit modulo und zwei schleifen
> hinbekommen, aber ich komm einfach nicht drauf wie.
> habt ihr eine gute idee, wie man das hinbekommen kann?!
ich leg' Dir das mathematische Werkzeug zur Verfügung, den Rest kannst Du dann sicher selbst umsetzen:
Schau' Dir die "Indexfunktion" an:
[mm] $\blue{(\green{1},1)} \mapsto \red{1}=(\green{1}-1)*m+1$
[/mm]
[mm] $\blue{(\green{1},2)} \mapsto \red{2}=(\green{1}-1)*m+2$
[/mm]
[mm] $\blue{(\green{1},3)} \mapsto \red{3}=(\green{1}-1)*m+3$
[/mm]
[mm] $\blue{(\green{1},m)} \mapsto \red{m}=(\green{1}-1)*m+m$
[/mm]
[mm] $\blue{(\green{2},1)} \mapsto \red{m+1}=(\green{2}-1)*m+1$
[/mm]
[mm] $.\,$
[/mm]
[mm] $.\,$
[/mm]
[mm] $.\,$
[/mm]
D.h. [mm] $\blue{(\green{p},q)} \mapsto (\green{p}-1)*m+\blue{q}$ [/mm] für $(p,q) [mm] \in \{1,\,\ldots,\,n\} \times \{1,\,\lodts,\,m\}.$
[/mm]
Anders gesagt:
Ist $j [mm] \in \{1,\,\ldots,\,m*n\}$, [/mm] so setze $q=q(j):=j [mm] \mod [/mm] m$ und dann [mm] $p:=p(j)=\frac{j-q(j)}{m}+1\,.$
[/mm]
Test:
1. Nachrechnen:
[mm] $m=4,\,$ [/mm] $j=15$ liefert $q=q(15)=15 [mm] \mod [/mm] 4=3$ und damit dann [mm] $p=p(15)=\frac{15-3}{4}+1=\green{4},\,$ [/mm] also [mm] $(p,j)=(\green{4},3)\,.$
[/mm]
2. Tabellenvergleich:
$(1,1) [mm] \mapsto 1\,,$ $\ldots$, [/mm] $(2,1) [mm] \mapsto 5,\,$ $\ldots$, [/mm] $(3,1) [mm] \mapsto [/mm] 9$, [mm] $\ldots$ [/mm] $(4,1) [mm] \mapsto [/mm] 13$, [mm] $\ldots$ [/mm] $(4,3) [mm] \mapsto [/mm] 15$. Passt!
Gruß,
Marcel
|
|
|
|