zum einen sieht es so aus, als ob touching.m mit 2 Argumenten aufgerufen werden sollte.
Zum anderen versuchst du hier, die Differenz zweier Vektoren in eine Komponente eines Vektors zu schreiben. Und das kann schlecht gehen. Alternative mit Cell Arrays (soweit ich den Code verstehe) :
Code:
function nottouching=Nottouching(n,m) for j=1:n
nottouching{j}=trajectories(j)-touching(j);
end
Verfasst am: 13.01.2010, 20:12
Titel: Funktioniert nicht wirklich
Zitat:
Warning: Could not find an exact (case-sensitive) match for 'trajectories'.
D:\Universität\Diplomarbeit\Programme\Costabile\Trajectories.m is a case-insensitive match and will be used instead.
You can improve the performance of your code by using exact
name matches and we therefore recommend that you update your
usage accordingly. Alternatively, you can disable this warning using
warning('off','MATLAB:dispatcher:InexactCaseMatch').
This warning will become an error in future releases.
> In Nottouching at 10
??? In an assignment A(I) = B, the number of elements in B and
I must be the same.
Error in ==> Trajectories at 9
trajectories(j)=((factorial(n))./(factorial(j).*factorial(n-(j))));
Error in ==> Nottouching at 10
nottouching(j)=trajectories(j)-touching(j);
Nein, das ist nicht das Problem, auch wenn man bei Groß- und Kleinschreibung konsistent sein sollte. Das mutmaßliche Problem habe ich oben beschrieben.
Das funktioniert dann. Als Ergebnis für Trajectories.m und touching.m
bekomme ich jetzt Vektoren mit 1 Zeile und n+1 Spalten. Das läuft prima.
Jetzt soll Nottouching für jedes Vektorenelement die Differenz aus Trajectories und Touching an der jeweiligen Stelle sein. Hab das jetzt so programmiert:
Das scheint zu funktionieren, komisch ist aber, dass ich Trajectories.m und Touching.m vorher aufrufen muss. Liegt das an den Input-Parametern n und m. Weil Trajectories nur n braucht und Touching.m braucht n und m?
Wie kann ich die Geschichte vereinfachen?
Das scheint zu funktionieren, komisch ist aber, dass ich Trajectories.m und Touching.m vorher aufrufen muss.
Wie meinst du das?
Wie zuvor erwähnt, solltest du auf case sensitivities achten. Der Aufruf beginnt mit Kleinbuchstaben, dein Dateiname anscheinend mit Großbuchstaben. Das muss nicht, kann aber zu Schwierigkeiten führen.
Interessant auch: trajectories im Aufruf übergibt zwei Argumente, Trajectories.m nimmt aber nur einiges entgegen. Sollte eigtl eine Fehlermeldung geben.
Pfade und Treffer sind nur Vektoren (1 Zeile, n+1 Spalten)
Jetzt suche ich eine Möglichkeit Treffer spaltenweise von Pfade zu subtrahieren. Das ist alles fürs erste.
Merci
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
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.