Kontrollscript för dugga 5 Här ska du kontrollera dina svar för dugga 5 uppgifterna 0-5. Skriv in peronuppgifter Namn: Adam Äpple Personnummer: 910229-5611 kod=278809; % din kod ska skrivas här Mata in data för uppgiften Skriv om begynnelsevädresproblemet på följande form Mata nu in funktionen , och som f, x0 respektive y0 i scriptet. Det förifyllda begynnelsevärdesproblemet är: som har lösningen (också den förifylld) . f=@(x,y)(((1/x.^3)*sin(2*x)-3*y)/x); x0=pi/4; y0=1; Mata ditt svar Mata nu in ditt svar som funktionen y. Glöm inte punkterna, .* och ./. y=@(x)((pi^3)-32*cos(2*x))/(64*x.^3); Kör scriptet Håll tummarna för att du räknat rätt. Glöm inte att exportera som pdf vid positivt resultat. Kontroll Nu löses problemet med MATLABs ode45 och dina lösning jämförs med dessa numeriskt bestämda värden. kontroll(f,x0,y0,y) Felaktig lösning 1 kryp(kod); (1789) Plotta resultatet I den första figuren plottas din lösning och matlabs numeriskt bestämda lösning. Har du räknat rätt syns nog endast en graf ty de ligger över varandra. I den andra figuren plottas differensen. plott(f,x0,y0,y) 2 Funktioner function kontroll(f,x0,y0,y) x=linspace(x0,x0+2,10); opt=odeset('RelTol',1e-8,'AbsTol',1e-10); [x,yn]=ode45(f,x,y0,opt); fel=norm(y(x)-yn); if fel<1e-2 disp('---------------') disp('Korrekt lösning') disp('---------------') else disp('Felaktig lösning') end end function plott(f,x0,y0,y) [x,yn]=ode45(f,[x0,x0+2],y0); plot(x,y(x),x,yn) title('Din lösning och en numeriskt betämd') figure() plot(x,y(x)-yn) title('Din lösning minus en numersikt bestämd') end function kryp(kod) 3 a=clock;m=3551; x=mod(kod,1000)+a(2)*100+a(3); x=mod(x*mod(mod(x^2,m)^2,m),m); disp(['(',num2str(x),')']) end 4