Output argument not assigned on some execution paths

6 views (last 30 days)
xuejun ni
xuejun ni on 28 Oct 2021
Edited: xuejun ni on 26 Nov 2021 at 5:11
I am trying to run MATLAB Coder to transform a MATLAB .m file into .mex to generate matlab code to C code. When trying to build the file via MATLAB Coder engine, I get the error message state "Output argument "F_Data" not assigned on some execution paths", is there anyone know the problem with the code and how to solve this

Answers (1)

DGM
DGM on 28 Oct 2021
Edited: DGM on 28 Oct 2021
The problem occurs in these two cases:
if N_Start_Freq<0
sprintf('%s','raise up f')
return
end
if N_Stop_Freq>fs/2
sprintf('%s','lower down f')
return
end
If either condition is true, the function returns immediately without assigning anything to F_Data or f. You might assign some placeholder value to them if that's the way you want it.
If these are error conditions wherein the output is not meaningful, you can use error() instead.
if N_Start_Freq<0
error('F_CutFFTResult: Start frequency is too low')
end
if N_Stop_Freq>fs/2
error('F_CutFFTResult: Stop frequency is too high')
end

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!