Springen naar inhoud

Matlab


  • Log in om te kunnen reageren

#1

MeA_BzZz

    MeA_BzZz


  • 0 - 25 berichten
  • 6 berichten
  • Gebruiker

Geplaatst op 13 april 2007 - 16:50

Hoi,

Ik ben eerstejaars Econometrie student, ik heb it trimester Computational Moddeling 2 en om mijn BsA te halen moet ik dit vak halen... Ik ben niet zo goed in Matlab kan iemand mij helpen met mijn opdracht en in commentaar regels uitleggen? Please help... Kan je je e-mail adres achterlaten zodat ik de opdracht en wat ik allemaal gemaakt heb op kan sturen? PLease het is geen groot of lang opdracht en ik heb veel al zelf gedaan, please..

Help!! PLease!!

Danku,

Maya.

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

Jan van de Velde

    Jan van de Velde


  • >5k berichten
  • 44867 berichten
  • Moderator

Geplaatst op 13 april 2007 - 17:04

kan iemand mij helpen met mijn opdracht en in commentaar regels uitleggen?

geen idee, maar je hebt een kans

Please help... Kan je je e-mail adres achterlaten zodat ik de opdracht en wat ik allemaal gemaakt heb op kan sturen?

dat doen we niet, want dan zitten onze emailboxen binnen de kortste keren vergeven van de spam. :-(

PLease het is geen groot of lang opdracht en ik heb veel al zelf gedaan, please..

plaats je probleem dan eens hier, dan kunnen er nog meer dan ťťn mens meedenken ook.

Help!! PLease!!

smeken hoeft niet hoor. Als iemand zin en tijd heeft helpt 'ie vast wel. :smile:
ALS WIJ JE GEHOLPEN HEBBEN....
help ons dan eiwitten vouwen, en help mee ziekten als kanker en zo te bestrijden in de vrije tijd van je chip...
http://www.wetenscha...showtopic=59270

#3

MeA_BzZz

    MeA_BzZz


  • 0 - 25 berichten
  • 6 berichten
  • Gebruiker

Geplaatst op 13 april 2007 - 17:09

Danku :mrgreen:

Ik ben echt radeloos vandaar

Hier:
Probleembeschrijving
De regering van Australie maakt zich zorgen over verwoestingen van natuurgebieden
door het optreden van bosbranden. Het broeikaseffect lijkt te zorgen voor lange
droge perioden waarbij bosbranden spontaan ontstaan of soms aangestoken worden.
Voor de regering is het belangrijk te weten hoeveel procent van het natuurgebied
verbrandt. Volgens de wet moet de regering de noodtoestand uitroepen zodra 7%
van het natuurgebied verbrand is. De regering wil graag weten hoelang het duurt,
voordat de noodtoestand uitgeroepen moet worden.
Om deze vraag te beantwoorden simuleren het optreden van de bosbranden
gedurende perioden van droogte. We versimpelen het probleem en gaan uit van
een natuurgebied in de vorm van een rechthoek van 100 x 150 km. Het ontstaan
van een bosbrand modelleren we met een bepaald kansproces. Nadat een bosbrand
eenmaal ontstaan is, groeit deze met een bepaalde snelheid in de vorm van een cirkel
(we gaan er vanuit dat er geen wind is). Als meer dan 7% van het oppervlak ver-
brand is, dan moet de noodtoestand uitgeroepen worden. Het tijdstip waarop de
noodtoestand uitgeroepen wordt is dus een kansvariabele: de ene keer zal het langer
duren voordat 7% verbrand is dan de andere keer.
In het kort werkt de simulatie als volgt. We simuleren het ontstaan en de groei
van de bosbranden over de tijd. Op elk tijdstip bepalen we het percentage verbrand
oppervlakte. Vervolgens bepalen we het tijdstip waarop (voor deze simulatie) het
percentage van 7% is bereikt. Het gemiddelde van deze tijd over een aantal simulaties
geeft een benadering voor de verwachte tijd voor het uitroepen van de noodtoestand.

Simulatiemodel
Voor de simulatie veronderstellen we dat de tijden tussen het ontstaan van bosbran-
den exponentieel verdeeld zijn met verwachting mu = 8 dagen. Gemiddeld gezien
ontstaat er dus om de acht dagen een bosbrand. De positie van het ontstaan van
de bosbrand veronderstellen we uniform verdeeld. Met andere woorden, elke plek in
het natuurgebied heeft een even grote kans om er een bosbrand te laten ontstaan.
De bosbrand groeit over de tijd in de vorm van een cirkel. De snelheid waarmee de
de cirkel van de bosbrand groeit is g = 0.5 km/dag. Dus, als een bosbrand ontstaan
is op tijdstip t0, dan is de straal van de cirkel met het verbrande gebied op tijdstip
t gelijk aan (t - t0)g.

De simulatie ziet er in pseudo-code als volgt uit:
t = 0 (dagen)
Genereer TijdstipOntstaan (tijdstip van de eerste bosbrand).
Zolang PercentageVerbrand < Grenswaarde
t = t + 1
Als t = TijdstipOntstaan
% Op tijdstip t ontstaat de nieuwe bosbrand.
Genereer locatie bosbrand.
Onthoud nieuwe bosbrand.
Genereer volgende TijdstipOntstaan.
End
Bereken PercentageVerbrand.
Teken het verbrand gebied.
End
Druk t af (tijdstip waarop de noodtoestand uitgeroepen wordt.)

Let op: na het verschijnen van een bosbrand wordt telkens de volgende bosbrand
al Ďgeplandí. Als t vervolgens gelijk is aan het TijdstipOntstaan ontstaat de
bosbrand pas echt.

Vertaling van probleem in code
In deze sectie werken we de belangrijke onderdelen van de simulatie stuk voor stuk
uit. De belangrijkste onderdelen van de code zijn:
- Simulatie van bosbranden (tijd en locatie).
- Slimme manier om bosbranden te onthouden.
- Grafische weergave van het verbrand gebied.
- Berekenen van percentage verbrand gebied.

1. Allereerst concentreren we ons op het simuleren van het ontstaan van een
bosbrand. Het berekenen van het percentage verbrand gebied laten we nog
even buiten beschouwing.
(a) Bedenk hoe je van een bosbrand de positie en het tijdstip van ontstaan
kunt simuleren. Je zult een getal uit de exponentiele verdeling moeten
trekken en twee getallen uit de uniforme verdeling. Let op: de simulatie
loopt per dag. Rond daarom de gesimuleerde tijden uit de exponentiele
verdeling naar boven af.
(b) Bedenk hoe je de eigenschappen van de bosbranden (locatie en tijdstip
van ontstaan) efficient en handig kunt opslaan.
© Gebruik de pseudo-code om de basis van de simulatie te programmeren
(als stopcriterium kan je tijdelijk een maximum op t gebruiken, bijvoor-
beeld 60 dagen). Dus, programmeer het proces van ontstaan van de
bosbranden, het genereren van de locatie van de bosbrand en het opslaan
van de plekken volgens de bovenstaande pseudo-code.
(d) Zorg ervoor dat instellingen als de lengte, breedte en de parameter van
de exponentiele verdeling maar op een plek gedefinieerd worden.
(e) Test de code om te zien of de locaties van de bosbranden goed worden
opgeslagen.
2. Maak een functie die de het verbrande gebied grafisch weergeeft. De invoer
van deze functie zal tenminste bestaan uit het huidige tijdstip van de simulatie
en de gegevens van de aanwezige bosbranden. De weergave kan er bijvoorbeeld
als volgt uitzien:

Hint: Bedenk wat het functievoorschrift is voor een cirkel en gebruik het fill
commando om de cirkels in te kleuren.
3. Het (exact) berekenen van het percentage verbrand oppervlak is niet eenvoudig
omdat verschillende bosbranden elkaar kunnen overlappen. Een benadering
van dit percentage is wel redelijk gemakkelijk te berekenen. Dat kun je doen
door gebruik te maken van een grid van punten. Voor elke bosbrand bepalen
we welke punten van het grid binnen de cirkel liggen. Op deze manier kun-
nen we bepalen welke punten van het grid door tenminste een cirkel worden
afgedekt. Het percentage punten dat wordt afgedekt is een benadering van
het percentage verbrand gebied.
Maak een functie die het percentage verbrand natuurgebied berekent:
(a) Gebruik een grid waarbij de onderlinge afstanden van de punten met 1
km overeenkomen. Hint: gebruik de functie meshgrid.
(b) Gebruik de op het college behandelde afstandsfunctie om alle afstanden
eĪcińent te berekenen.
© Vergelijk de afstanden met de stralen van de cirkels en bepaal welke
punten door een cirkel worden afgedekt.
(d) Het percentage afgedekte punten is gelijk aan het percentage verbrand
gebied.
4. Hoe lang duurt het voordat 7% van het natuurgebied verbrand is?
5. Pas de code zo aan dat je de simulatie eenvoudig een aantal maal kan herhalen
(zet hierbij de graĮsche weergave eventueel uit). Voer de simulatie 100 maal uit
en maak in een histogram een overzicht het aantal dagen totdat het percentage
verbrand gebied 7% is. Na gemiddeld hoeveel dagen moet de regering de
noodtoestand uitroepen?

;) het weer zien maakt me weer radeloos

Hier wat ik tot nu toe heb:

EuclidDist.m:
function D = EuclidDist(X,Y)
n = size(X,1);
m = size(Y,1);
Bx = sum(X.^2,2);
By = sum(Y.^2,2);
D2 = Bx*ones(1,m)+ones(n,1)*By'-2*X*Y';
D = D2.^0.5;

Simulatie.m:
function []= Simulatie(Grenswaarde)
OppervlakteGebied=100*150
OppervlakteNoodtoestand=0.07*OppervlakteGebied
E(mu)= 8 dagen
G=0.5
TijdstipOntstaan = to
Radius=(t-to)*0.5

Trekcirkel.m:
function TrekCirkel(Center,Radius,n)
theta=linspace(0,2*pi,n+1);
x = Center(1)+Radius*cos(theta)
y = Center(1)+Radius*sin(theta)
fill(x,y,'r')
meshgrid(x,y)

Bij voorbaat dank

#4

Bart

    Bart


  • >5k berichten
  • 7224 berichten
  • VIP

Geplaatst op 15 april 2007 - 15:41

Als je nu eerst vragen 1a) en 1b) beantwoord en het vervolgens nog eens probeert, misschien dat het dan wel lukt. Deze twee vragen (het genereren van pseudo-code) staan er niet voor niks.
If I have seen further it is by standing on the shoulders of giants.-- Isaac Newton

#5

MeA_BzZz

    MeA_BzZz


  • 0 - 25 berichten
  • 6 berichten
  • Gebruiker

Geplaatst op 17 april 2007 - 22:43

Dat is het juist... Ik weet niet wat ik moet doen :(

#6

MeA_BzZz

    MeA_BzZz


  • 0 - 25 berichten
  • 6 berichten
  • Gebruiker

Geplaatst op 19 april 2007 - 21:44

ok na 2 dgn puzzelen heb ik dit:

Bosbran.m:
function [dagen]=Bosbrand(sim)

lengte=100;
breedte=150;
mu=8;
g=0.5;

for j=1:sim
TijdstipOntstaan=ceil(exprnd(mu));
i=1;
g=0.5;
t=0;
lok=[];
prt=0;
while prt< 7

t=t+1;
if t==TijdstipOntstaan
lok(i,1) =rand(1,1)*lengte;
lok(i,2) =rand(1,1)*breedte;
lok(i,3) = t;
TijdstipOntstaan =ceil(exprnd(mu))+t;
i=i+1;
grafische(lok,t);
percentage(lengte,breedte,t,lok,g)
end
if t>60

break
end

maand(j)=t;

end
end

bins=10:10:100
hist(maand(j),bins)

percentage.m:
function percentage(lengte,breedte,t,lok,g)


n=size(lok,1);
x=[1:lengte];
y=[1:breedte];
mat=zeros(lengte,breedte);

[x y]=meshgrid(x,y);
grid=[x(:( y(:D];

for i=1:n;
b=(t-lok(i,3))*g ;
D=euclidische(grid,lok(i,1:2));
for k=1:(lengte*breedte);
if D(k)<=b;
mat(k)=1;
end
end
end
som = sum(sum(mat));
p=(som/(lengte*breedte))*100;
end

any ideas?





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures