簡體   English   中英

matlab生成帶有獲取列值錯誤的c代碼

[英]matlab generate c code with get column values error

我在使用編碼器生成 C 編碼器時遇到問題。 matlab 函數包含一個句子,如

function [ B ] = fn1( A )
    a = A(:,2);
    B = a+1;
end

A 是輸入參數,4x2 矩陣。

我得到了 c 代碼:

void fn1(const float A[8], float B[4])
{
  int i0;
  for (i0 = 0; i0 < 4; i0++) {
    B[i0] = A[4 + i0] + 1.0F;
  }
}

B 不是 A 的第二列。

在matab“定義輸入類型”中,我更改了行/列,但仍然無法正常工作。

我正在使用 matlab 2016b。 是否有其他設置或建議可以解決此問題?

謝謝。

關鍵字:陣列布局。 matlab 數組是列布局,而 C 數組是行布局。 這種不匹配導致了問題。 matlab 在 R2019 或更早的版本中引入了“數組布局”選項,但在 R2016 中不可用。

暫無
暫無

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

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