Ich stoße auf ein seltsames Problem mit quad
Funktion. Ich war mit quad
einfachen Integral zu berechnen, und es funktionierte für 10 bis 20-mal, dann gibt Matlab die folgenden Fehler:Über die Verwendung von Quad in MATLAB
Error using quad (line 75)
The integrand function must return an output vector of the same length as the input vector.
yteor(k) = quad(@(q)(exp(-(q).^2).*q.^2/(k.^2+1)), 0, 1);
Hier q und k Skalare sind. Ich kann nicht bekommen, was falsch ist und warum es vor einigen Stunden funktionierte.
bearbeiten
Hier ist mein Code
for k=1:100,
xteor(k)=step*k;
yteor(k)=quad(@(q)(exp(-(q).^2).*q.^2/((step.*k+1).^2)),0,1);
end plot(xteor,yteor,'r');
Die Fehlermeldung scheint ziemlich selbsterklärend zu sein. Könnten Sie Ihren Code zeigen? (Im Idealfall arbeiten und nicht arbeiten eins) – FabienAndre
Der gesamte Code ist zu groß, so werde ich das Teil senden, die integrieren und zeichnen Sie die Grafik: –
für k = 1: 100 xteor (k) = Schritt * k; yteor (k) = quad (@ (q) (exp (- (q)^2) * q^2/((Schritt * k + 1)^2)), 0,1.....); Ende Handlung (xteor, yteor, 'r'); –