|
|
>> Problem Logischer Vgl. bei Eingabe Entfernungsmatri |
|
stoxxii |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 29.06.2011, 14:18
Titel: >> Problem Logischer Vgl. bei Eingabe Entfernungsmatri
|
 |
Halloo Matlab Folks and Guys,
sorry, ich habe primitives Logical Problem - siehe bittte Datei im
Anhang ...
Ich versuchte über kleinen Umweg, die Dreiecks-Matrizen dieser
Entfernungs-Matrix D auf Eingabe Äquivalenz zu prüfen , also ob
beide Dreicks-Matrizen unten und oben die gleichen Inputs haben,
>> aber irgendwie ist ein "logical error" bei mir im Kopf ...
Wäre nett, wenn jemand von euch Zeit hätte und mir ein Lösungs-vorschlag schreibt ,
gern angelehnt, mit der Befehls-Struktur wie ich es habe ,
naja oder eben anders wie Ihr Profis die Logische Abfrage
machen würdet ... für alle Eingabeelemente..
vielen dank für Zeit & Müh vorab.
beste grüße
stoxxii
Beschreibung: |
|
 Download |
Dateiname: |
Distanz_knoten_Matrix__.m |
Dateigröße: |
1.69 KB |
Heruntergeladen: |
325 mal |
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 29.06.2011, 15:19
Titel:
|
 |
Hallo,
und wo liegt nun das Problem?
Dein Programm bricht ab, weil die Entfernung zwischen 5. und 6. "Stadt" einmal als 324 und einmal als 335 angegeben wird.
Wenn man die beiden angleicht, kommt immer noch diese Fehlermeldung, und das ist wohl dein Problem?
Statt if isempty... würde ich das vorschlagen:
Bitte in Zukunft möglichst konkret sagen, wo genau das Problem ist (und wenn das von mir erkannte Problem nicht deines ist, dann bitte auch hier). Man will sich ja nicht unbedingt erstmal durch den Code wühlen müssen
Grüße,
Harald
|
|
|
stoxxii |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 29.06.2011, 19:05
Titel:
|
 |
halloo Forum-Meister Harald,
zuerst mal vielen Dank für deine Zeit und Tips ...
Naja ... es gib doch quasi im ganzen Script File bei mir
nur eine if- Abfrage mit der TEST - Variable und es gibt
doch auch nur an einer Stelle eine "obere" und "untere" Dreiecks-
Matrix, welche ich bereits zugewiesen hatte ..
Egal trotzdem vielen Dank ...
Aber ich verstehe meinen Denk-Fehler nicht,
weil meine: " isempty" - Prüfung oder
alternativ: "~0" ... hätten doch korrekt laufen müssen ...
egal , scheiß hitze , steckt bloß nicht den Kopf in den Sand, denn
dort kühlt der auch nicht richtig ab ...
beste grüße
an euch allle
stoxxii
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 29.06.2011, 20:54
Titel:
|
 |
Hallo,
... und wie soll man nun aus deiner Problembeschreibung erahnen, dass das Problem bei if und test liegt ? Vor allem, da der Code so, wie du ihn vorgegeben hast, ja das richtige macht - nämlich sagt, dass die Matrix nicht symmetrisch ist.
Die Frage, ob == 0 und isempty gleichbedeutend ist, erinnert mich an die Frage aus der Schulzeit, ob 0 nicht "nix" wäre. In beiden Fällen ist die Antwort: nein.
Grüße,
Harald
|
|
|
stoxxii |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.06.2011, 10:53
Titel: > danke soweit, habe alternative Code gefunden
|
 |
Halloo Harald,
I'm sorry, jawohl beim nächsten mal drücke ich mich hoffentlich
gescheiter aus ...
Das mit dem Error bei isempty habe ich noch immer nicht geschnallt ...
Habe folgenden alternativen Abfrage-Code gefunden:
if all(all(triu(D,1) == tril(D,-1)'))
und that works
aber hier verstehe ich das äußere "all" nicht so recht ...
kannst du mir das eventuell erklären ...
beste grüße
stoxxii
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 30.06.2011, 11:08
Titel:
|
 |
Hallo,
all arbeitet entlang einer Dimension, standardmäßig spaltenweise.
Mit all an sich erfährst du also, ob die jeweils für eine bestimmte Spalte alle Elemente gleich sind. Das äußere all überprüft dann, ob diese Bedingung für alle Spalten erfüllt ist.
Wenn du zwei Matrizen auf Gleichheit überprüfen willst, ist das mit ISEQUAL sicher einfacher:
Grüße,
Harald
|
|
|
stoxxii |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 30.06.2011, 18:56
Titel: >> danke, habe Code nochmal genauer analysiert
|
 |
halloo Harald,
I'm sorry.... ich habe den Kopf nicht immer frei und beschäftige mich
dann doch mit etwas neuen in Matlab für mich ... und dadurch
passieren die Aussetzer .... naklar auch deswegen, weil ich keine
Mathe-Freak bin ....
Danke nochmal für deine Zeit und Ausdauer ...
also ich habe selber den Code all(all(Triu(D,1)==tril(D,-1)'))
auseinander genommen ... und mußte feststellen ...
das eigentlich beide "all" überflüssig sind ...
bis zum nächsten Problem ... anytime
sincerely
stoxxii
|
|
|
|
|
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.
|
|