Page 1 of 1

Matlab "." operator

Posted: 03/10-2013 17:07
by Aleks855
I boka er det en del Matlab-eksempler, og i den ene så ser jeg linja:

Code: Select all

x = (b-r*x)./d
Hva gjør det punktumet? Har prøvd å google det, men får ikke noe vettugt svar sånn i farta.

Virker ikke som det gjør i nærheten av det samme som i Java eller PHP.

Re: Matlab "." operator

Posted: 03/10-2013 17:20
by Vektormannen
"." er ikke en operator, men "./" er en operator. Den deler hvert element i (b - r * x) på hvert element i d. edit: Her antar jeg da at d er en vektor eller matrise. Hvis ikke er det ingen forskjell på å bruke ./ og /, såvidt jeg husker.

Re: Matlab "." operator

Posted: 03/10-2013 17:38
by Gustav
La f.eks.

$A=\begin{pmatrix} 1 & 2 \\ 1 & 1 \end{pmatrix}$ og
$B=\begin{pmatrix} 1 & 2 \\ 1 & 1 \end{pmatrix}$.

I matlab er

$A*B = \begin{pmatrix} 3 & 4 \\ 2 & 3 \end{pmatrix}$ (matrisemultiplikasjon)

mens

$A.*B=\begin{pmatrix} 1 & 4 \\ 1 & 1 \end{pmatrix}$ der man har multiplisert elementvis. ($a_{ij}*b_{ij}$)

Siden B er invertibel eksisterer $B^{-1}$, og det gir da mening at matlab tolker

$A/B = A*B^{-1}=I$ (siden B=A er $B^{-1}=A^{-1}$)

mens

$A./B=\begin{pmatrix} 1 & 1 \\ 1 & 1 \end{pmatrix}$ der man har delt elementvis. ($a_{ij}/b_{ij}$)

Re: Matlab "." operator

Posted: 03/10-2013 17:52
by Aleks855
Takker, begge to! Syntes det skurra litt at man deler elementer på ei hel matrise, men nå gir det mening.

Så forutsetninga her er at x og d har like dimensjoner, ikke sant?

Re: Matlab "." operator

Posted: 03/10-2013 18:20
by Gustav
Aleks855 wrote:Takker, begge to! Syntes det skurra litt at man deler elementer på ei hel matrise, men nå gir det mening.

Så forutsetninga her er at x og d har like dimensjoner, ikke sant?
Du kan betrakte b,x,r,d som matriser, og forutsetningen blir da at b, produktet rx og d alle er n x m matriser.