Info
此问题已关闭。 请重新打开它进行编辑或回答。
Matlab Coder - Passing Variables
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
Sara
2015-1-14
Try
size(temp)
If the first value returned is smaller than 3, then temp(3,:) will trigger an error.
Ryan Livingston
2015-1-14
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.
回答(0 个)
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!