Gemeinsamen Weg zur Generierung von endlichen geometrischen Reihe in MATLAB
Angenommen ich habe eine Zahl a
, und ich will Vektor [ 1 , a , a^2 , ... , a^N ]
. Ich benutze [ 1 , cumprod( a * ones( 1 , N - 1 ) ) ]
code. Was ist die beste (und vermutlich effizienter) Weg, es zu tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was
a.^[0:N]
?a.^(0:N)
O(N^2) Abhängigkeit, wahrscheinlich mehr wie O(NlogN), da Stell ich mir die Potenzierung erfolgt mit ein effizienter Algorithmus. 2) seien Sie nicht zu überrascht, wenn die Ergebnisse der beiden unterschiedlichen Methoden nicht *genau gleich bei der Verwendung von floating-point-Werte füra
. Da Sie mit zwei unterschiedlichen zugrunde liegenden algorithmen, mit verschiedenen Aufträgen von mathematischen Operationen, sehen Sie möglicherweise kleine Unterschiede auf die Bestellung der floating-point-Präzision.ThibThib s Antwort ist absolut korrekt, aber es nicht verallgemeinern sehr leicht, wenn
a
passiert mit einem Vektor. So als Startpunkt:Konnte man nun nutzen auch die integrierte Funktion
vander
(obwohl die Reihenfolge ist anders, aber das ist leicht behoben, falls erforderlich), zu produzieren:Sowie mit Vektor geschätzt
a
: