Сохранение пользовательского класса в MATLAB - PullRequest
2 голосов
/ 13 декабря 2011

У меня есть класс в Matlab, используя classdef как,

classdef scores
    %   SCORES Summary of this class goes here
    %   Class for stroring the individual scores array of each of the
    %   comparison of the models and the test files including the number of
    %   coefficients used and number of gaussian 

    properties
        detailed_scores;
        no_of_gauss=0;
    end

    methods
    end
end

Созданные объекты и сохраненные в массив как;

for i=1:99
    score = scores;
    score.detailed_scores = somescore(:,9);
    score.no_of_gauss = i;
    array = [array score];
end

Теперь я бы хотел сохранить его в matfile как;

save('somematfile.mat','array');

Возможно ли загрузить это array позже, чтобы получить данные обратно?

1 Ответ

6 голосов
/ 13 декабря 2011

Да, load somematfile просто сделает это.

load somemathfile
for k = 1:length(array)
  obj = array(k);
  obj.detailed_scores
end

Однако вы должны быть осторожны, если вы меняете определение класса, особенно если вы удаляете / переименовываете или добавляете новые свойства в класс.В этом случае вам может потребоваться реализовать методы saveobj и loadobj .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...