So ein Ding habe ich auch mal gemacht ... - Seite 2

 
Haben Sie diese Näherung https://ru.wikipedia.org/wiki/Кубический_сплайн ausprobiert ? Es ist eine eingebaute Funktion in Matcad. Manchmal wird es sehr schön. Ich habe nicht einmal versucht, es in MQL zu programmieren (ich weiß, wie langsam ich bin). Wenn Sie es tun, wäre es interessant, und wenn nötig, kann ich Ihnen helfen, Matcad-Berechnungen mit MQL-Code zu vergleichen.
 
Prival:
Haben Sie jemals versucht, diese Annäherung https://ru.wikipedia.org/wiki/Кубический_сплайн? Es ist eine eingebaute Funktion in Matkadec. Manchmal wird es sehr schön. Ich habe nicht einmal versucht, es in MQL zu programmieren, da ich nicht sehr geschickt bin. Wenn Sie es tun, wäre es interessant, und wenn nötig, kann ich Ihnen helfen, Matcad-Berechnungen mit denen in MQL zu vergleichen.

Der Punkt ist, dass mich die Annäherung selbst nicht allzu sehr interessiert, sondern die Möglichkeit der Extrapolation. Und es ist wünschenswert, dass man dahinter eine physische Bedeutung sieht. Und Verzahnungen scheinen dafür nicht ausgelegt zu sein. Welcher physikalische Sinn kann hinter Splines stehen?

Übrigens haben wir uns mit dem Vornamen angesprochen, nicht wahr?

 
Prival:
Ich habe noch nicht einmal versucht, es in MQL zu programmieren. Wenn ich mir Ihre Codes ansehe, verstehe ich, dass Sie gut darin sind. Wenn Sie es plötzlich tun, wäre es interessant, und wenn Sie Hilfe benötigen Vergleich Matcad Berechnungen und MQL-Code

Programmiermuffel sind einfach nicht in der Lage, ein paar einfache Regeln für das sorgfältige Schreiben von Programmen zu kennen. Sobald man sie verstanden hat, verschwindet die Schlamperei sofort. Übrigens leidet auch dieser Code unter Schlamperei - der Körper der aufgerufenen Hauptfunktion darf keinen Rechencode enthalten, zum Beispiel Schleifen, und alles muss in Funktionen aufgerollt werden.

 
Andrei01:

Übrigens leidet auch dieser Code unter einer gewissen Verschrobenheit - der Körper der aufgerufenen Hauptfunktion sollte keinen Rechencode enthalten, z. B. Schleifen, und alles sollte in einer Funktion zusammengefasst werden.


Im Allgemeinen kann das Vermeiden einiger Regeln, die für große Projekte richtig sind, ein Programm manchmal beschleunigen. Dies gilt insbesondere für MMS, wenn man die Besonderheiten der Anwendung berücksichtigt. Ich muss gestehen, dass ich manchmal mehr oder weniger strukturierten Code zum Debuggen verwende und ihn dann wieder in linearen Code umwandle :). Obwohl es wahrscheinlich ein Extremismus ist :).

Aber in diesem Fall wollte ich einen schnellen "Was-wäre-wenn"-Blick, also ist es linearer Code in seiner reinsten Form.

 
Andrei01:

Programmiermuffel sind einfach nicht in der Lage, ein paar einfache Regeln für das sorgfältige Schreiben von Programmen zu kennen.

Blödsinn.

Sobald man sie verstanden hat, verschwindet die Schlamperei sofort.

Blödsinn.

Der Körper der aufzurufenden Hauptfunktion darf keinen Rechencode enthalten

Warum ist das so?

Kandidat:

Eines Tages wurde mir plötzlich eine einfache Sache klar: Die Annäherung der kleinsten Quadrate läuft im Wesentlichen auf die Minimierung einer Linearkombination von Vektoren hinaus. Das heißt, man kann eine Art universelle Näherungsfunktion erstellen. Gesagt, getan, hier ist die Kopfzeile der Funktion:

Wo waren Sie vorher? Erst gestern habe ich das Gleiche geschrieben, allerdings in C++. Danke, das wird auch sehr nützlich sein.

 
Candid:

Im Allgemeinen kann der Verzicht auf bestimmte Regeln, die für große Projekte gelten, ein Programm manchmal erheblich beschleunigen. Dies gilt angesichts der Besonderheiten der Anwendung insbesondere für MMS. Ich muss gestehen, dass ich manchmal mehr oder weniger strukturierten Code zum Debuggen verwende und ihn dann wieder in linearen Code umwandle :). Aber das ist wahrscheinlich ein Extremismus :).

In diesem Fall wollte ich einen schnellen "Was-wäre-wenn"-Look, es ist also linearer Code in seiner reinsten Form.

Ich stimme zu, dass es in der Phase der Fehlersuche praktisch ist, einige Fragmente vorübergehend offen zu halten... Und in der endgültigen Version können Sie den gesamten Code entrollen, was ihn unlesbar macht und die Leistung nur unwesentlich verbessert, aber in der Praxis ist die Lesbarkeit des Codes immer wichtiger, vor allem für weitere Änderungen und die Suche nach Fehlern.

Außerdem ist es nicht so, dass der Zusammenbruch in eine Funktion das Programm merklich verlangsamt - es ist viel besser, einen Berechnungsalgorithmus zu optimieren, bei dem viele Operationen sinnlos sein können.

 
TheXpert:

1. Blödsinn.

1. Blödsinn.

2. warum ist das so?

1. warum ist das Blödsinn? Worauf gründet sich diese Schlussfolgerung?

2. Die Struktur eines normal geschriebenen Programms (gleich welchen Komplexitätsgrades) muss in der Hauptfunktion vollständig sichtbar und lesbar sein.

Wenn ein Programmierer ungeschickt und schlampig ist, ist er/sie nicht in der Lage, dies zu tun, was das Programm schlecht lesbar macht, auch für den ungeschickten Programmierer selbst, was zu einer weiteren Vervielfachung der Ungeschicklichkeit bei jeder Modernisierung und Codeänderung führt.

 
Andrei01:

1 Warum ist das Unsinn? Worauf gründet sich diese Schlussfolgerung?

2. Die Struktur eines normal geschriebenen Programms (gleich welchen Komplexitätsgrades) muss in der Hauptfunktion vollständig sichtbar und lesbar sein.

Wenn ein Programmierer ungeschickt und schlampig ist, ist er nicht in der Lage, dies zu tun, was das Programm schlecht lesbar macht, auch für den ungeschickten Programmierer selbst, was zu einer weiteren Vervielfachung der Ungeschicklichkeit bei jeder Modernisierung und Änderung des Codes führt.


Vielleicht könnten Sie einen Meisterkurs machen, anstatt über andere zu lästern.

Normalerweise sollte man, nachdem man "A" gesagt hat, auch "B" sagen.

 
Vinin:


Vielleicht können Sie eine Meisterklasse zeigen, anstatt über andere zu lästern.

Normalerweise muss man "A" sagen und "B" sagen.

Woran sind Sie genau interessiert, könnten Sie das präzisieren? Wie kann man den Code in einer Funktion minimieren, so dass die Hauptfunktion keinen hier und da verstreuten Berechnungscode hat?

 
TheXpert:
Gg :) was, wenn Sie diese wichtigste Funktion nicht haben? Wie auch immer, kein Kommentar :)
Verzichten Sie auf die aufrufbare Hauptfunktion start()? Haben Sie noch nichts über diese Funktion gehört? :)
Grund der Beschwerde: