Классы Matlab в массиве - PullRequest
       1

Классы Matlab в массиве

0 голосов
/ 12 января 2012

У меня проблема с конструкторами matlab, когда я пытаюсь создать экземпляр массива классов.

Я получаю следующую ошибку:

??? The following error occurred converting from volta to double:
Error using ==> double
Conversion to double from volta is not possible.

Error in ==> circuito>circuito.iniciarNovaVolta at 37
            Circuito.Voltas(Circuito.Nvoltas) = Volta(Nmaxpiloto);

Error in ==> testes at 99
c1.iniciarNovaVolta(10);

И мой код:

function iniciarNovaVolta(Circuito, Nmaxpiloto)
            Circuito.Voltas(Circuito.Nvoltas) = Volta(Nmaxpiloto);
            Circuito.Nvoltas = Circuito.Nvoltas + 1;
end

Конструктор в классе Вольта:

function Volta=volta(Nmaxpiloto)            
    if(nargin>0)    
        %Volta.Melhortempovolta=Melhortempovolta;  
              Volta.Nmaxpiloto=Nmaxpiloto;                               
           end        
end 

У меня была эта проблема не раз, но типы выглядят правильно.Не могли бы вы сказать мне, что я не вижу?

function Volta=volta(Nmaxpiloto) 
if(nargin>0)

Ответы [ 2 ]

1 голос
/ 12 января 2012

Проверьте ваши типы.Я предполагаю, что Volta(Nmaxpiloto) имеет тип double, а Circuito.Voltas(Circuito.Nvoltas) имеет тип Volta.Это не может быть сделано.Похоже, вы смешиваете много ООП с MATLAB, что не означает, что вы не можете.Возможно, вы захотите просмотреть эту ссылку: http://www.mathworks.com/help/techdoc/matlab_prog/f2-47534.html#bqt_gwr, чтобы увидеть действительные классы MATLAB.

0 голосов
/ 12 января 2012

Конструктор в классе Вольта:

function Volta=volta(Nmaxpiloto)            
    if(nargin>0)    
        %Volta.Melhortempovolta=Melhortempovolta;  
              Volta.Nmaxpiloto=Nmaxpiloto;                               
           end        
end 

У меня была эта проблема не раз, но типы выглядят правильно. Не могли бы вы сказать мне, что я не вижу?

function Volta=volta(Nmaxpiloto) 
if(nargin>0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...