for k = 1:number_of_input_variables
[rows(k), columns(k)] = size(varargin{k});
end
% Adapting Maximum Rows [maximum_rows, index_max_rows] = max(rows);
for k = 1:number_of_input_variables
if k ~= index_max_rows
adapting_array = zeros(maximum_rows-rows(k), columns);
adapting_array(:,:) = NaN;
adapting_array_cell = num2cell(adapting_array);
varargin{k} = [varargin{k}; adapting_array_cell];
end end
varargout sollte ein Cell Array sein. Der Inhalt jeder Cell entspricht dann einem Ausgabeargument.
Ich persönlich verwende mit varargout immer nargout, damit klar ist, wieviele Rückgabeargumente beim Aufruf angefordert werden und man keine unnötigen Berechnungen ausführt.
Bei weiteren Problemen bitte auhc sagen, wie die Funktion aufgerufen wird.
VARARGOUT ist ein Cell array und muss zunächst initialisiert werden. Du möchtest aber nur ein einziges Output bekommen. Dann wäre eine normale Variable geeigneter:
Vielen Dank euch beiden, ich bin einen Schritt weitergekommen.
Ich habe dein Skript Jan angepasst, dass die NaN-Matrix ein Cell-Array ist, da meine Input-Variablen ebenfalls Cell-Arrays sind.
Ich habe dein Skript Jan angepasst, dass die NaN-Matrix ein Cell-Array ist, da meine Input-Variablen ebenfalls Cell-Arrays sind.
Das verstehe ich nicht. Eine NaN-Matrix ist laut Definition ein DOUBLE-Array und kann kein Cell-Array sein. Wieso sind die Input-Arrays Cell-Arrays? In dem gezeigten Code wird VARARGIN benutzt, was ein Cell-Array ist, aber die Inhalte sind doch Matrizen, oder?
Die Fehlermeldungen sind sehr rätselhaft. Bitte zeige uns doch nochmal den Code, damit wir einschätzen können, was Du genau machst. Erraten lässt sich das nicht.
Hallo zusammen!
Ich habe den Code nochmals angepasst und nun klappt auch der Aufruf mit varargout.
Ich habe verstanden, dass varargout ein Cell-Array ist und jeder Output in einer dieser Cells gespeichert wird. So habe ich das nun auch umgesetzt:
Code:
% This function creates a 3D-Cell Array from a different number of 2D-Cell % Arrays.
% Input: different number of 2D-Cell Arrays
% Output: 3D-Cell Array (Output_3D), amount of rows and columns of each % input 2D-Cell Array, size of 3D-Array
% The input arrays are adapted to have the same size.
Die Funktion liefert mir die Reihen- und Spaltenanzahl der Inputarrays und gibt mir das 3D-Array mit der Anzahl der dritten Dimension aus.
Vielen Dank für eure Geduld!
Herzlicher Gruß, Slamdunker23
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
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.