Info

This question is closed. Reopen it to edit or answer.

Matlab Coder - Passing Variables

1 view (last 30 days)
Christian
Christian on 14 Jan 2015
Closed: MATLAB Answer Bot on 20 Aug 2021
I wrote a Code in Matlab in order to generate C-Code using the Matlab Coder. The Main function calls several other functions. E.g. Function A:
function [Calibration]=ReadCalib_ForCodeGen(file) %#codegen %Read in data temp=readfile(file);
ct=3; %Pass temp to another function endline=endlinedeterm(temp,ct);
end
function out=endlinedeterm(temp,ct) %#codegen out=0; for i=1:length(temp(ct,:))-1 if(temp(ct,i)==0 && temp(ct,i+1)==0) out=i-1; break; end end
end
The error I get during build is: Index expression out of bounds. Attempted to access element 3. The valid range is 1-1.
I didn't find a way around this problem. Do you have any suggestions?
  2 Comments
Sara
Sara on 14 Jan 2015
Try
size(temp)
If the first value returned is smaller than 3, then temp(3,:) will trigger an error.
Ryan Livingston
Ryan Livingston on 14 Jan 2015
You should also see a link that says:
View Error Report
after the error. Click on that and you'll get a report showing your MATLAB code. Hover over temp to see what size MATLAB Coder thinks it is. It may be that it was determined that readfile returns a size different from what you are expecting.

Answers (0)

This question is closed.

Products

Community Treasure Hunt

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

Start Hunting!