Page 1 of 5
min matlabtråd
Posted: 16/10-2011 10:53
by gill
Ja da håpet jeg at det var mulig å spørre noen spørsmål om matlab-programmering:
http://bildr.no/view/1001653
Jeg lurer faktisk på om det er en skrivefeil i nederste eksempel her. At det skulle stå:
Format: prodMToNii(m,n) or prodMToNii(n,m)
istedenfor
Format: prodMToNii(m,n) or profMToNii(n,m)
at det har sneket seg inn en f istednfor en d fordi sånn sm jeg oppfattet format i informasjonsteksten sier hva man skal skrive inn for at funksjonen skal kalles.
Posted: 16/10-2011 10:57
by Markonan
Ja, du har nok rett. Liten trykkleif der.

Posted: 17/10-2011 09:13
by gill
hvorfor bruker man ikke to likhetstegn når man definerer r og c her:
http://bildr.no/view/1002718
Hva er i så fall forskjellen som gjør at man må bruke to likhetstegn her:
http://bildr.no/view/1001050
Posted: 17/10-2011 10:21
by Vektormannen
= og == betyr to forskjellige ting i Matlab. = er en tilordningsoperator som gir en variabel en ny verdi. Så når du skriver f.eks.
så settes variabelen c til 1234.
== er derimot en sammenligningsoperastor. Den sammenligner uttrykkene på hver side og returnerer true hvis de er like eller false om de er ulike. Det er derfor denne brukes i en if-sjekk i eksempelet ditt. Det gir ingen mening å skrive
a = 12 er ikke et uttrykk som returnerer true eller false (som if forventer), men et uttrykk som tilordner 12 til variabelen a.
Posted: 17/10-2011 12:38
by gill
takk for svaret ble lettet der. Hadde en følelse av at det kom til å bli et rimelig stort problem.
Jeg lurte på i denne linken:
http://www.mathworks.se/help/techdoc/ref/int8.html
Her bruker de int8 på an array. Hvis man bruker int8 på et tall returnerer det et heltall. Rekkevidden til int8 siden den består av 8 bites er fra -128 til 127 så hvis under eller over dette intervallet returnerer den det nærmeste:
Def av array fra boka sier at array er en vektor eller matrise:
http://bildr.no/view/1002777
men når jeg skriver int8(-180 -23 -56) får jeg bare opp et tall
http://bildr.no/view/1002779
burde jeg ikke fått 3 heltall?
Posted: 17/10-2011 12:51
by Vektormannen
Du har ikke gitt en array til int8-funksjonen. Arrays / matriser / vektorer skrives med klammene [ og ]. Så det du mener å skrive er int8([-300 -50 -28]). Slik det står nå så gir du verdien av uttrykket -300 - 50 - 28, som blir -378 til funksjonen int8.
Posted: 18/10-2011 07:01
by gill
http://bildr.no/view/1003463
I teksten nederst skriver de we assume that file format is as described. Hva er file format. Er ascii et file format og er det sannsynlig at det i så fall er dette file formatet de refererer til som praktisk?
Posted: 18/10-2011 08:16
by drgz
Hvis du skulle gjøre et forsøk selv, hva ville du tippet?
Posted: 18/10-2011 09:04
by gill
jeg hadde antatt at ascii var et filformat og at siden de brukte det i lagringsnavn i matlab boka før var det filformatet de hadde lagret det på og som de hentet det opp med
Posted: 18/10-2011 09:43
by drgz
ASCII i seg selv er vel ikke noe filformat, men en måte å representere tegn/tall/bokstaver (se
http://en.wikipedia.org/wiki/ASCII).
Men tanken min var at du skulle lese teksten en gang til. Hvis man ikke har problemer med engelsk så står det ganske rett fram hva de mener i teksten.
Posted: 18/10-2011 10:35
by gill
Ved dette forsøk lander jeg på at .dat definerer filformatet
Her er forklaring av hvordan man lagrer filer i matlab:
http://bildr.no/view/1003500
Altså bruker de automatisk tegnsystemet ascii.
Her er beskrivelse av loading
http://bildr.no/view/1003502
http://bildr.no/view/1003503
For meg ser det ut som man kan bestemme filformatet selv her kalte jeg filformatet for mongo:
http://bildr.no/view/1003506
men derimot kommandoen ascii som definerer et tegnsett kan man ikke tulle med:
http://bildr.no/view/1003508
riktig?
Posted: 18/10-2011 10:41
by drgz
Ja, du kan kalle filtypen hva du vil. Du lagrer bare tekst uansett. -ascii sørger bare for at teksten lagres som ascii i filen. Du har f.eks -mat (default) som du også kan bruke i stedet for ascii.
Under doc save får du nok opp alle alternativene du kan bruke.
Posted: 18/10-2011 11:52
by gill
logical for to vektorer
her er beskrivelse av logical for to elementer
http://bildr.no/view/1003532
http://bildr.no/view/1003533
hva regner det på?
Logical er enten 1 eller 0, Å ta logical på en vektor gir 1 for tall ikke 0 og 0 for tall som er 0 men har det noe med dette å gjøre?
Posted: 18/10-2011 12:00
by drgz
Tror du må formulere deg mer tydelig. Hva er det du lurer på?
Posted: 18/10-2011 12:43
by gill
logical operator for skalarer gir at begge betingelsen gitt med tegnet && skal være oppfylt eller at en av betingelsene gitt ved tegnet || skal være oppfylt eller et tegn for ikke for at noe ikke skal stemme (tegnet finner jeg ikke på tastaturet)
Her er eksempel med logical operators for skalarer:
http://bildr.no/view/1003556
men de skjønner jeg men logical operators som er elementvis for matriser og vektorer skjønner jeg ikke hva gjør?