簡體   English   中英

混合文件錯誤……索引超出矩陣尺寸。 索引值3超出數組gesgroup的有效范圍[1-2]

[英]Error with mex file … …Index exceeds matrix dimensions. Index value 3 exceeds valid range [1-2] of array gesgroup

我有一個功能文件到mex文件。 但是在運行mex文件時出現錯誤。 以下是代碼。

在代碼中,我初始化了3個名為group,horgroup,gesgroup的向量,並將gesgroup聲明為varsize。

group = zeros(1,2);    
horgroup = zeros(1,2); 
gesgroup = zeros(1,2); 
coder.varsize('gesgroup');

在幾行中,group和horgroup被計算為大小為(1 * 2)的數組,說group = [1 2]和horgroup = [3 4]之后,我需要使用以下方法將group和horgroup合並到gesgroup中:

gesgroup = [group, horgroup];
gesgroup(gesgroup==0) = NaN;

該代碼在生成mex文件時沒有給出任何錯誤,但是當我在運行mex文件時,在以上兩行中給出了錯誤,即“索引超出了矩陣尺寸。索引值3超出了gesgroup數組的有效范圍[1-2]”

讓我知道是否需要更改代碼中的任何內容並再次生成mex文件。

問題在於初始化gesgroup的初始化大小為1x2,但該行

gesgroup = [group, horgroup];

將其設置為1x4(因為group和horgroup均為1x2),則需要將其初始化為可變大小
例如

gesgroup = zeros(1,4); 

要么

coder.varsize('gesgroup')

我認為問題已經發生,因為在coder.varsize('gesgroup')之前已確定大小,因此數組已經是固定大小

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM