Integral
Jag försöker integrera funktionen från 0 till 3 och skriver i kommandofönstret:
Men det går inte. Hur ska jag göra?
Prova
quad(@f, 0, 3)
Dr. G skrev:Prova
quad(@f, 0, 3)
Gick inte.
Du saknar "punkter" när du multiplicerar och upphöjer vektorer.
function y = f(r)
a = 3;
y = 2*pi*r.*2*(1-(r/a)).^(1/2);
end
quad(@f, 0, 3)
blir nu c:a 30.159.
Dr. G skrev:Du saknar "punkter" när du multiplicerar och upphöjer vektorer.
function y = f(r)
a = 3;
y = 2*pi*r.*2*(1-(r/a)).^(1/2);
endquad(@f, 0, 3)
blir nu c:a 30.159.
Varför är punkterna viktiga? Och hur vet jag var jag ska placera dom?
Matlab räknar med matriser.
Om du skriver
C =A*B
så får du ut matrisprodukten av A och B. (A och B kan då inte ha vilka dimensioner som helst.)
Med en punkt före multiplikationstecknet
C = A.*B
så multipliceras ett matriselement i A med motsvarande i B. A och B måste då ha samma dimension.
Dr. G skrev:Matlab räknar med matriser.
Om du skriver
C =A*B
så får du ut matrisprodukten av A och B. (A och B kan då inte ha vilka dimensioner som helst.)
Med en punkt före multiplikationstecknet
C = A.*B
så multipliceras ett matriselement i A med motsvarande i B. A och B måste då ha samma dimension.
Har testat men det gick inte. Dessutom ska man använda "integral", inte quad.
Använd integral om du hellre vill det.
Jag satte en punkt på fel ställe, prova:
function y = f(r)
a =3;
y = 2*pi*r*2.*(1-(r/a)).^(1/2);
end
eller prova att sätta in en extra punkt:
function y = f(r)
a =3;
y = 2*pi*r.*2.*(1-(r/a)).^(1/2);
end
(Vid multiplikation med skalär spelar punkt ingen roll
2*r
och
2.*r
blir samma sak.)