Consider using my IQML (IQFeed-Matlab) connector for this. IQML enables both synchronous (blocking) and asynchronous (background) queries, that are fetched either serially or in parallel (using the Matlab Parallel Computing Toolbox). A simple usage example:
data = IQML('history', 'symbol','IBM');
plot(datetime({dd.Datestamp}), [dd.Close])
![IBM history fetched from IQFeed via IQML](https://www.mathworks.com/matlabcentral/answers/uploaded_files/261330/IBM%20history%20fetched%20from%20IQFeed%20via%20IQML.png)
IQML was developed with top performance, reliability and usability in mind. IQML supports 100% of IQFeed's API functionality. It is fully documented, continuously maintained/improved, and I am happy to provide support.