min matlabtråd

Det er god trening å prate matematikk. Her er det fritt fram for alle. Obs: Ikke spør om hjelp til oppgaver i dette underforumet.

Moderatorer: Vektormannen, espen180, Aleks855, Solar Plexsus, Gustav, Nebuchadnezzar, Janhaa

gill
Leibniz
Leibniz
Innlegg: 993
Registrert: 24/03-2008 19:04

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.
ærbødigst Gill
Markonan
Euclid
Euclid
Innlegg: 2136
Registrert: 24/11-2006 19:26
Sted: Oslo

Ja, du har nok rett. Liten trykkleif der. :)
An ant on the move does more than a dozing ox.
Lao Tzu
gill
Leibniz
Leibniz
Innlegg: 993
Registrert: 24/03-2008 19:04

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
ærbødigst Gill
Vektormannen
Euler
Euler
Innlegg: 5889
Registrert: 26/09-2007 19:35
Sted: Trondheim
Kontakt:

= og == betyr to forskjellige ting i Matlab. = er en tilordningsoperator som gir en variabel en ny verdi. Så når du skriver f.eks.

Kode: Velg alt

c = 1234
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

Kode: Velg alt

if (a = 12) ...
a = 12 er ikke et uttrykk som returnerer true eller false (som if forventer), men et uttrykk som tilordner 12 til variabelen a.
Elektronikk @ NTNU | nesizer
gill
Leibniz
Leibniz
Innlegg: 993
Registrert: 24/03-2008 19:04

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?
ærbødigst Gill
Vektormannen
Euler
Euler
Innlegg: 5889
Registrert: 26/09-2007 19:35
Sted: Trondheim
Kontakt:

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.
Elektronikk @ NTNU | nesizer
gill
Leibniz
Leibniz
Innlegg: 993
Registrert: 24/03-2008 19:04

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?
ærbødigst Gill
drgz
Fermat
Fermat
Innlegg: 757
Registrert: 24/12-2008 23:22

Hvis du skulle gjøre et forsøk selv, hva ville du tippet?
gill
Leibniz
Leibniz
Innlegg: 993
Registrert: 24/03-2008 19:04

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
ærbødigst Gill
drgz
Fermat
Fermat
Innlegg: 757
Registrert: 24/12-2008 23:22

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.
gill
Leibniz
Leibniz
Innlegg: 993
Registrert: 24/03-2008 19:04

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?
ærbødigst Gill
drgz
Fermat
Fermat
Innlegg: 757
Registrert: 24/12-2008 23:22

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.
gill
Leibniz
Leibniz
Innlegg: 993
Registrert: 24/03-2008 19:04

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?
ærbødigst Gill
drgz
Fermat
Fermat
Innlegg: 757
Registrert: 24/12-2008 23:22

Tror du må formulere deg mer tydelig. Hva er det du lurer på?
gill
Leibniz
Leibniz
Innlegg: 993
Registrert: 24/03-2008 19:04

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?
ærbødigst Gill
Svar