Vinnaren i pepparkakshustävlingen!
2013-11-25, 11:32
  #1
Medlem
Hej jag har problem med några uppgifter i Matlab. Hur ska jag tänka för att lösa dem då jag är nybörjare i ämnet? Mvh

4. Skriv ett program som beräknar värdet 1+2+3… tills summan överstiger 100. Då ska summan samt det senast adderade talet och antalet tal som adderats skrivas ut.

5. Skapa en variabel 'Hemligt' och slumpa fram ett heltal mellan 0 – 100*. Låt användaren gissa på vilket det hemliga talet är och låt honom/henne fortsätta tills han/hon gissat rätt. Ge ledtrådar genom att tala om ifall talet är större eller mindre. Skriv ut hur många försök som krävdes.

6. Skriv ett program som läser in ett årtal och undersöker om årtalet är ett skottår. Endast en if-sats får användas.Ett år är ett skottår om det är:

jämnt delbart med 400, eller

jämnt delbart med 4 men inte med 100.

7. Skapa en vektor ’minVektor’ med värdena minVektor = 1 , 1.2, 1.4….5. Använd matlab för att:

a. beräkna y = 7sin(4 * minVektor)

b. ta reda på längden på vektorn minVektor

c. ta reda på vilket som är det fjärde (4) värdet i y

d. plotta (minVektor,y)




* För att slumpa fram ett heltal mellan 1-100:

1) res = rand(1)*100;

2) Hemligt = floor(res));
Citera
2013-11-25, 11:37
  #2
Medlem
sluggerbanans avatar
Du ska lösa dem som du brukar lösa dem fast i Matlab. Förstå?
Citera
2013-11-25, 12:47
  #3
Medlem
Antar att du bara är dryg och har för mycket fritid, men jag behöver hjälp med att skriva det i matlab.
Citera
2013-11-25, 14:25
  #4
Medlem
Första kan lösas med en while-loop. Likaså nästa, där du har en del if-satser inuti för att se on gissning var korrekt eller inte o.s.v. På sista kan du använda modulus-operatorn.
Citera
2013-11-25, 17:00
  #5
Medlem
matteyass avatar
Alla kan köra som en enda rad i matlab.

4an: n=1; m=1; while m <= 100, n=n+1; m=m+n; end, antal=n, sista_siffran = n, summan = m

5an: R = randi(101,1,1)-1; svar = input('Gissa på nåt heltal, gärna mellan 0-100: '); while svar ~= R, if svar < R, svar=input('för lågt, gissa igen: '); else, svar=input('för HÖGT, gissa igen: '); end, end, resultat = ['yep, det var minsann ' int2str(svar)]

6an: year = input('skriv nåt år: '); if (mod(year,400) == 0) || ((mod(year,4) == 0) && (mod(year,100) ~= 0)), svar = 'japp, skottår', else, svar = 'nedu, inget skottår', end

Man brukar nog tycka det är ganska fult att bara skriva en enda rad och köra den... skriv om till m-filer och notera att komma då byts ut mot enter och semikolon följs av enter.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback