Ich habe eine Reihe von Daten, die ich mit der folgenden Formel passen muss: [x*sin(1/x)]^2
. Ich weiß wirklich nicht, was für eine solche Funktion zu holen Koeffizienten, habe ich versucht:Matlab benutzerdefinierte Anpassung schlägt fehl
model = fittype('a*((xx/b)*sin(b/xx))^2+c','independent',{'xx'},'dependent',{'FF_norm(:,i)'}, 'coefficients', {'a','b','c'});
opt=fitoptions(model);
myfit=fit(xx,FF_norm(:,i),model, opt);
myfit
plot(myfit,xx,FF_norm(:,i))
Ich bekomme immer eine Passform, die nur wie eine gerade Linie aussieht. Ich weiß, dass es wahrscheinlich besser ist, Startpunkte einzugeben, aber ich habe keine Ahnung, wie ich diese auswählen soll, weil ich nicht weiß, wie Matlab sie interpretiert und was sie eigentlich bedeuten. Wenn ich einige Zahlen versuche, gibt es mir immer Fehler.
Welchen Fehler gibt es, wenn Sie versuchen, Zahlen zu verwenden? – EBH
Ich habe es wieder versucht, und jetzt bekomme ich keine Fehler, aber die Passform ist einfach lächerlich. Die Daten sehen tatsächlich wie eine Parabel aus und die Anpassung ist (oder sieht so aus) eine gerade horizontale Linie. Egal welche Startpunkte ich nehme, es bleibt eine gerade Linie. Gibt es vielleicht einen anderen Weg, dies zu tun? Ich habe versucht, die kleinste quadratische Anpassung, aber auch ohne Erfolg. – Apollo