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.