Ich habe 20-40 diskrete Zahlen zu erstellen und speichern in einem Matlab-Programm. Ich versuche, eine Funktion zu erstellen, die mich Eingabeelemente ermöglichen (Bilder, Linien, Vektoren usw.) und geschichtete Plots erstellen, indem jedes Element vorbei for-Schleife() in einem plotten:Eingabe Strukturelemente in Matlab Plot() als Argumente
function [ ] = constructFigs(figTitle, backgroundClass, varargin)
fig = figure('visible', 'off');
if strcmp(backgroundClass, 'plot') == 1
plot(varargin{1});
elseif strcmp(backgroundClass, 'image') == 1
imshow(varargin{1});
end
for i = 1:length(varargin)
hold on
if ndims(varargin{i}) == 2
plot(varargin{i}(:, 1), varargin{i}(:, 2))
else
plot(varargin{i});
end
end
saveas(fig, figTitle);
close(fig);
end
Diese Funktion ist aber ist sehr einschränkend in Bezug darauf, was geplottet werden kann; Sie können bestimmte Arten von Zeichenoperationen (z. B. überlagerte Bilder) nicht ausführen und können keine optionalen Argumente für plot() übergeben. Was ich tun möchte, ist, eine Struktur von Elementen, die gezeichnet werden sollen, zu übergeben und dann diese Strukturelemente in plot() als Argumente zu übergeben. Zum Beispiel (vereinfachte und mit schlechter Syntax):
toBePlotted = struct('arg1', {image}, 'arg2', {vector1, vector2, 'o'})
plot(toBePlotted.arg1)
plot(toBePlotted.arg2)
Ich bin in der Lage programmatisch die Strukturen mit dem Argumente Namen zu konstruieren, aber ich bin nicht in der Lage, die Elemente aus der Struktur in eine Weise, dass Handlung sie als Argument akzeptiert zu extrahieren .
Jede Hilfe wäre sehr
Fantastisch, danke! – Hosty