Conversione variabile mathlab

di il
1 risposte

Conversione variabile mathlab



function y = fcn(contatore,data_in1,data_in2)
%#codegenù

persistent clock_prev_s;
persistent clock_ready_s;
persistent y_;
persistent x_;

y=zeros(1,data_in1);

 % inizializzazione a 1
if isempty(clock_prev_s)
    clock_prev_s = logical(true);
end

if isempty(clock_ready_s)
    clock_ready_s = logical(false);
end




y_=0:uint8(data_in1);


if contatore==51
    


contatore2=0;
if contatore==51
    
for k=1:length(data_in2)
            

        if data_in2(1,k)~=0
                
        contatore2=contatore2+1;

y_(1,contatore2)=data_in2(1,k);


            end
            
            if k==length(data_in2)

                
        end
                
                 
             end
end   

         

end


    end
y=y_;
Data 'y' is inferred as a variable size matrix, while its properties in the Model Explorer specify its size as inherited or fixed. Please check the 'Variable Size' check box and specify the upper bounds in the size field.

Salve, come posso fare affinchè posso copiare la variabilie y =x_?

1 Risposte

  • Re: Conversione variabile mathlab

    Leggendo il messaggio di errore:
    Data 'y' is inferred as a variable size matrix, while its properties in the Model Explorer specify its size as inherited or fixed. Please check the 'Variable Size' check box and specify the upper bounds in the size field.
    sembrerebbe che la funzione venga usata in qualche modo con Simulink, correggimi se sbaglio.

    Se è così (in questo caso sarebbe opportuno che nelle eventuali future domande lo specificassi) il messaggio di errore "dice":

    [*] la varaibile "y" sembra essere una matrice di dimensioni variabili "Data 'y' is inferred as a variable size matrix"

    infatti nella prima istruzione del codice

    y=zeros(1,data_in1);

    viene dimensionata /ed inizailizzata) in funzione del parametro "data_in1");In questo caso MatLab / Simulink (sempre che la mia impressione sia giusta) assume che il parametro "data_in1" possa assumere valori diversi per diverse chiamate della funzione.

    [*] qualche elemento del modello Simulink utilizza la variabile "y" calcolata dalla funzione, ma, nell'elemento del modello Simulink, la variabile "y" è sembra essere stata definita di dimensioni definite in qualche altro elemento o "maschera" "while its properties in the Model Explorer specify its size as inherited or fixed oppure di dimensioni "fisse.

    Per provare a risolvere il problema, bisognerebbe, prima di tutto seguire il suggerimento riportato nel messaggio di errore stesso: Please check the 'Variable Size' check box and specify the upper bounds in the size field.

    Dovresti, quindi, aprire la maschera nella quale sono definite le proprietà dell'elemento che utilizza la variabile "y", marcare il checkbox relativo alla variabile e settare il valore del limite superiore delle sue dimensioni"

    Non avendo altre informazioni sul tipo di elemento del modello e sul contenuto della maschera purtroppo non posso essere più preciso.

    Hope this helps.
Devi accedere o registrarti per scrivere nel forum
1 risposte