Softwareentwickler MATLAB/Simulink (w/m) Erarbeitung von Lösungen im Bereich der Schnittstelle zum Simulink-Modell und der Benutzeroberfläche von TargetLinkdSPACE GmbH - Paderborn
Verfasst am: 01.08.2011, 11:37
Titel: Mat-File an Klasse übergeben
Hallo zusammen,
ich bin recht neu in der Matlabwelt. Wie an dem Titel zu erkennen möchte ich mein Matfile an eine Klasse übergeben.
So sieht mein Code für meine Funktion aus:
Code:
% zuerst die Funktion in der ich meine Klasse benutzen möchte function testfunction (fileName) %dataFileName ist mein *.mat File
testclass = test; % es gibt eine Klasse namens test
testclass.dataFileName = fileName;
testclass.loadData;
testclass.setSignal;
testclass % einfache ausgabe um zu schauen was passiert ist end
dann mein Code für die entsprechende Klasse:
Code:
classdef test
%UNTITLED Summary of this class goes here
% Detailed explanation goes here
Hey,
evalin macht das Programm nur unnötig Unübersichtlich. Da ich nicht weiß was du mit deinen Daten machen willst, wie sie aussehen und welche du benötigst habe ich dir ein kleines Beispiel geschrieben wie ich es machen würde...
Code:
classdef test < handle
%UNTITLED Summary of this class goes here
% Detailed explanation goes here
methods
function obj = test(file)% constructor ifnargin == 1
obj.dataFileName = file;
end end
function loadData(obj) load(obj.dataFileName); % daten in Function Workspace laden ifexist('SignalInMatFile','var')
obj.Signal = SignalInMatFile(:,2);
end end end end
Aufrufen kannst du dies mit
Code:
d = test('DeinMatFile.mat');
% oder
d = test; % Propertie dataFileName wird noch nicht gesetzt % Methode
loadData(d) % oder
d.loadData
MfG Marco
Matlabneuling123456
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 04.08.2011, 11:12
Titel: gelöst
Marco H. hat Folgendes geschrieben:
Hey,
evalin macht das Programm nur unnötig Unübersichtlich. Da ich nicht weiß was du mit deinen Daten machen willst, wie sie aussehen und welche du benötigst habe ich dir ein kleines Beispiel geschrieben wie ich es machen würde...
[/code]
Aufrufen kannst du dies mit
Code:
d = test('DeinMatFile.mat');
% oder
d = test; % Propertie dataFileName wird noch nicht gesetzt % Methode
loadData(d) % oder
d.loadData
test = testclass;
testclass.dataFileName = dataFileName; % Klasse besitzt propertie mit Namen dataFileName
testclass = testclass.run;
%meine Klasse seht dann wie folgt aus
classdef testclass
properties
dataFileName;
a=0;
end
methods
function t = run(t) load(dataFileName);
a=eineVariableAusMeinemMatFile;
end end
Mein Problem war also die Existenz meiner Variablen aus dem Mat-File.
Trotzdem besten Dank für die Antwort.
Grüße
Matlabneuling
Options and Permissions
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.