Ich habe eine Funktion fun
genannt, und ich brauche den folgenden Code auszuführen:Verunstetigen anonyme Funktion Matlab
polarfun = @(r,theta) fun(r.*cos(theta),r.*sin(theta)).*r;
p = @(theta) integral(@(r)polarfun(r,theta),0,Inf);
Danach muss ich aus Proben der Funktion p
ich einen Vektor bauen ist wie diese tut es (n
zuvor definiert):
v = 0:2*pi/n:2*pi;
for i=1:n+1
samplesofp(i) = p(v(i));
end
Ich mag würde wissen, ob es ein besserer Weg, dies zu tun, da ich es so schnell wie möglich laufen muss.
Ich vermisse etwas, aber 'p' bekommt nur' theta' als Eingabe, woher kommt das 'r'? – EBH
Es ist im Grunde eine Änderung der Variablen, von 'x, y '(kartesisch) in' Spaß 'zu' r, Theta' in 'polarfun' (Polarkoordinaten), dann integriere ich über' r' von '0' nach' Inf 'so' r' geht weg - –
Probieren Sie 'samplesofp = arrayfun (p, v);'. Auch wie ist 'Spaß' definiert? Es kann relevant sein ... –