|
|
Verbesserung meines Codes |
|
elcachon |

Forum-Century
|
 |
Beiträge: 190
|
 |
|
 |
Anmeldedatum: 03.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.6.0(R2008a), 7.8.0(R2009a)
|
 |
|
|
 |
|
Verfasst am: 18.08.2011, 12:01
Titel: Verbesserung meines Codes
|
 |
Hallo,
es wäre sehr freundlich, wenn sich jemand meinen code anschauen könnte, um mir zu zeigen, wie ich es effektiver programmieren könnte(Matrizenschreibweise, statt Schleifen usw.), benutze glaub ich zuviele Abfragen!
ich möchte die frequenzen die ich aus einem cell array in temp_freq zwischenspeichere nebeneinander in einer Matrix speichern! Momentan ist hat die Matrix 2 Spalten, wie könnte ich sie auf 4 Spalten erweitern?
Möchte die dbV Werte von temp_dbV auch noch darein speichern!
Danke schon mal
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 18.08.2011, 15:00
Titel: Re: Verbesserung meines Codes
|
 |
Hallo elcachon,
Ein paar Ideen:
Gruß, Jan
|
|
|
eupho |

Forum-Meister
|
 |
Beiträge: 777
|
 |
|
 |
Anmeldedatum: 07.01.09
|
 |
|
 |
Wohnort: Marburg
|
 |
|
 |
Version: R2009b
|
 |
|
|
 |
|
Verfasst am: 18.08.2011, 15:47
Titel:
|
 |
length(temp_freq) kannst du auch vorher einmal berechnen und dann in einer Variablen zwischenspeichern, das spart bei einer hohen Anzahl auch nochmal Zeit. Und eine if-Abfrage von nicht-Integer Variablen niemals mit == sondern mit >=.
|
|
|
elcachon |
Themenstarter

Forum-Century
|
 |
Beiträge: 190
|
 |
|
 |
Anmeldedatum: 03.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.6.0(R2008a), 7.8.0(R2009a)
|
 |
|
|
 |
|
Verfasst am: 19.08.2011, 10:00
Titel:
|
 |
Hallo Jan, hallo eupho,
vielen Dank für eure Anregungen!
Bau mir das gleich so um. Ich hofffe es nervt euch nicht, über meine simplen Programme zu schauen, aber ich möchte doch irgendwann mal in der Lage sein einen produktiven Code zu schreiben!!
Lg elcachon
Hat vielleicht von euch noch jemand eine Idee, wie ich auf einfachen weg die spalten 3 u 4 mit den dbV Werten in gleicher Weise wie die Frequenzwerte aus Spalte 1 u 2 füllen kann?
Hab das wieder mit einer for Schleife gelöst, gehts wieder einfacher??
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 19.08.2011, 10:12
Titel:
|
 |
Da dbV ja den gleichen Aufbau hat, könntest du doch einfach folgendes machen:
|
|
|
elcachon |
Themenstarter

Forum-Century
|
 |
Beiträge: 190
|
 |
|
 |
Anmeldedatum: 03.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.6.0(R2008a), 7.8.0(R2009a)
|
 |
|
|
 |
|
Verfasst am: 19.08.2011, 10:16
Titel:
|
 |
alles klar, danke dir!!
du musst ja schon genervt von mir sein!! 80% meiner Fragen beantwortest ja du!!!!
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 19.08.2011, 10:19
Titel:
|
 |
Nö..wieso? So lange jemand Willens ist, selbst an einer Lösung zu arbeiten, anstatt hier lediglich das Problem zu schildern und dann nach einem fertigen Code sucht/fragt, helfe ich gern.
|
|
|
elcachon |
Themenstarter

Forum-Century
|
 |
Beiträge: 190
|
 |
|
 |
Anmeldedatum: 03.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.6.0(R2008a), 7.8.0(R2009a)
|
 |
|
|
 |
|
Verfasst am: 19.08.2011, 11:16
Titel:
|
 |
|
|
elcachon |
Themenstarter

Forum-Century
|
 |
Beiträge: 190
|
 |
|
 |
Anmeldedatum: 03.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.6.0(R2008a), 7.8.0(R2009a)
|
 |
|
|
 |
|
Verfasst am: 19.08.2011, 12:07
Titel:
|
 |
eine frage hätt ich doch noch,
und zwar an Jan S,
Wieso ist das
nicht sinnvoll?
Ich dachte es ist wichtig den Speicher wieder neu zu bereinigen, um keine falschen Ergebnisse zu bekommen!
Lg elcachon
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 19.08.2011, 12:22
Titel:
|
 |
Ein einfaches
reicht aus um das Workspace zu leeren. Clear all löscht noch andere Sachen.
|
|
|
elcachon |
Themenstarter

Forum-Century
|
 |
Beiträge: 190
|
 |
|
 |
Anmeldedatum: 03.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.6.0(R2008a), 7.8.0(R2009a)
|
 |
|
|
 |
|
Verfasst am: 20.08.2011, 12:15
Titel:
|
 |
ah ok, alles danke, danke nochmal!!
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 20.08.2011, 19:16
Titel:
|
 |
|
 |
|
Hallo elcachon,
Wieso ist das
"close all" löscht alle offenen FIGUREs. Wenn man aber ein anderes Programm benutzt hat, möchte man das vielleicht gar nicht, sondern könnte eine gezeichnete Kruve z.B. für einen vergleich noch gut gebrauchen.
"clear all" löscht alle Variablen and entfernt alle Funktionen aus dem Speicher, die bereits geladen wurden. Damit verschwinden auch die Werte der PERSISTENT Variablen. Wenn eine Funktion dann wieder benutzt wird, muss sie zunächst auf der Festplatte gesucht werden, dann gelesen, danach von einem Text-File in ausführbaren Code verwandelt werden und einige Funktionen benötigen dann noch eine Initialisierung. Dies alles benötigt viel Zeit und so können Programme nach einem "clear all" schon mal um den Faktor 10'000 langsamer sein.
Das "säubern" des Speichers ist dann sinnvoll, wenn man mit Scripts arbeitet und durch Tippfehler eigentlich uninitialisierte Variablen verwendet. Z.B.:
Hier hätte nun ein "clear" (ohne "all") alle existierenden Variablen gelöscht und der DISP Befehl hätte zu einer Fehlermeldung geführt. Und eine Fehlermeldung ist 1000 mal praktischer als ein falsches Ergebnis.
Allerdings hätte das "clear" aus alle anderen Variablen im Base-Workspace gelöscht. Das mag nicht schlimm sein, solange man mit MATLAB nur winzige Scripte schreibt um mal euin wenig zu üben. Bei größeren Projekten ist das aber ausgesprochen unpraktisch. Wenn man dann eine Menge Berechnungen durchgeführt hat und dazu Grafiken erzeugt wurden, vielleicht auch noch manuell angepasst, und dann will man nur noch mal kurz schauen, ob das alte Script die gleichen Werte produzierte. Schwups, ist die gesamt Arbeit per CLEAR und CLOSE ins Nirvana gejagt. Deshaöb sollte man sich, gerade wenn man versucht MATLAB für den ernsthaften Einsatz zu lernen, angewöhnen, potentiell fiese Seiteneffekte gleich zu vermeiden.
Gruß, Jan
|
|
|
elcachon |
Themenstarter

Forum-Century
|
 |
Beiträge: 190
|
 |
|
 |
Anmeldedatum: 03.05.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.6.0(R2008a), 7.8.0(R2009a)
|
 |
|
|
 |
|
Verfasst am: 22.08.2011, 20:49
Titel:
|
 |
Hallo Jan,
also so hat mir das noch keiner erklärt, wie gesagt, bin auch nicht so tief in Matlab drinnen und versuch einfach meine problemchen zu lösen, aber trotzdem Danke dafür. Mann kann ja nie genug wissen!!
Lg elcachon
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|