7 svar
108 visningar
Soderstrom behöver inte mer hjälp
Soderstrom 2768
Postad: 16 nov 2019 23:05

Integral

Jag försöker integrera funktionen från 0 till 3 och skriver i kommandofönstret:

Q=integral(@r @f(r),0,3)

Men det går inte. Hur ska jag göra?  

Dr. G 9483
Postad: 16 nov 2019 23:10

Prova

quad(@f, 0, 3)

Soderstrom 2768
Postad: 16 nov 2019 23:13
Dr. G skrev:

Prova

quad(@f, 0, 3)

Gick inte.

Dr. G 9483
Postad: 16 nov 2019 23:22

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.

Soderstrom 2768
Postad: 16 nov 2019 23:25
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);
end

quad(@f, 0, 3)

blir nu c:a 30.159.

Varför är punkterna viktiga? Och hur vet jag var jag ska placera dom?

Dr. G 9483
Postad: 16 nov 2019 23:34

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.

Soderstrom 2768
Postad: 18 nov 2019 18:45 Redigerad: 18 nov 2019 18:45
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.

Dr. G 9483
Postad: 18 nov 2019 19:02

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.)

Svara
Close