PROGRAMMERING Flashcards

1
Q

Skriv en funktion i Matlab som approximerar ett nollställe (Newtons Metod)

A
x=min_newton(f,Df,x0,tol);
x=x0; kmax=10;
h=-f(x)/Df(x);
x=x+h;
disp([x h])
if abs(h)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Skriv en funktion i Matlab som beräknar en approximation till derivatan för en funktion

A

min_derivata=@(f,x,h)(f(x+h)-f(x))/h;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Formulera (beskriv) höger rektangelregel för approximation av en integral

A

Approximation utav f(x) med f(xi) i intervallen xi−1 ≤ x ≤ xi
där integralen är approximativt lika med summan utav h*f(xi)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Skriv en sekvens i Matlab som kan lösa ett begynnelsevärdesproblemet. Använd
ode45.

A
f = @funk;
[t,U] = ode45(f,[intervall],u0);
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Utifrån en funktion, beräkna ett ungefärligt värde t där funktionen u(t)
når sitt största värde på intervallet. (Använd t.ex. kommandot max).

A
[ma,plats] = max(U);
svar = t(plats);
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Formulera vänster rektangelregel med ord

A

Om vi approximerar f(x) med f(xi−1) i intervallen xi−1 ≤ x ≤ xi får vi vänster rektangelregel där integralen är approximativt lika med summan utav h*f(xi-1)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Skriv en sekvens i Matlab som läser in ett tal c och som beräknar √c med Newton’s metod. Använd talet x0 = c som startvärde.

A
c = input(’Ange ett värde på c ’);
f=@(x,c)funk;
df=@(x)funk;
x = c;
for i = 1:10
h = -f(x,c)/df(x);
x = x+h;
end
disp(x)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Skriv en sekvens som bestämmer det värde på t där u1(t) är störst. (Om det finns flera sådana värden på u1(t) räcker
det om din sekvens bestämmer det minsta t-värdet).

A

[umax p] = max(U(:,1));

svar = t(p);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Formulera vänster rektangelregel i kod

A

q=sum(h*f(x(1:n)))

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Formulera höger rektangelregel i kod

A

q=sum(h*f(x(2:n+1)))

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Formulera Newtons Metod med ord

A

En numerisk metod att approximera ett nollställe till en funktion

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Formulera Eulers metod med ord

A

En numerisk metod som löser ordinära differentialekvationer med ett initialvärde

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Formulera trapetsmetoden i kod

A

q=sum(hf(x(1:n))+hf(x(2:n+1))/2)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Formulera höger rektangelregel med ord

A

Om vi approximerar f(x) med f(xi) i intervallen xi−1 ≤ x ≤ xi får vi vänster rektangelregel där integralen är approximativt lika med summan utav h*f(xi)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Formulera trapetsmetoden med ord

A

Approximation utav integranden med räta linjer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Formulera mittpunktsmetoden med ord

A

En kombination utav vänster-och högerrektangel regel som approximerar integranden i intervallet xi-1 ≤ x ≤ xi på båda delar av integrationskurvan

17
Q

Skriv den fundamentala koden för Newtons metod (Inte funktion)

A
x = nollställe; h = stegländ;
 for i = 1:10 
k = -f(x)/df; 
x = x+k;
 end 
disp(x)
18
Q

Formulera mittpunktsmetoden i kod

A

q=sum((hf(x(1:n))+hf(x(2:n+1)))/2)

19
Q

Skriv en funktion som beräknar begynnelsevärdesproblemet för första ordningens differentialekvationen u’=f(t,u), u(a)=ua.

A
function [t,U]=min_ode(f,I,ua,N)
a=I(1);
b=I(2);
h=(b-a)/N;
t=a+(0:N)*h; U=zeros(size(t)); 
U(1)=ua; 
for n=1:N 
    U(n+1)=U(n)+h*f(t(n),U(n)); 
end
plot(t,U)
hold on
end