文档

coder.columnMajor

为函数或类指定列主数组布局

语法

coder.columnMajor

描述

例子

coder.columnMajor指定当前函数在生成的代码中使用的数据的列主数组布局。当放置在类构造函数中时,coder.columnMajor指定类使用的数据的列主布局。

例子

全部折叠

通过插入指定函数的列主数组布局coder.columnMajor进入函数体。

假设myFunction是代码的顶级函数。您的应用程序要求您使用列主数组布局执行矩阵加法,使用行主布局执行矩阵乘法。

函数S = myFunction(A,B)% # codegen%检查以确保输入是有效的如果大小(1)~ =大小(B, 1) | |大小(,2)~ =大小(B, 2) disp (“矩阵的大小必须相同。”返回;结束使两个矩阵对称B = B*B';A = A*A';%添加矩阵S = addMatrix(A,B);结束

写一个矩阵加法函数叫做addMatrix.为指定列-majoraddMatrix通过使用coder.columnMajor

函数S = addMatrix(A,B)% # codegenS = 0(大小(A));coder.columnMajor;指定列主数组布局S = a + b;结束

myFunction.使用codegen命令。

codegenmyFunctionarg游戏{的(10、20)的(10、20)}配置:自由-launchreport-rowmajor

因为codegen -rowmajor选项,矩阵乘法myFunction使用行主布局。但是,生成的代码addMatrix类型使用列主数组布局coder.columnMajor调用。

提示

  • 代码生成器默认使用列主数组布局。

  • 类指定的数组布局将取代函数中指定的数组布局codegen命令。例如,如果函数喷火包含coder.columnMajor,然后使用以下命令生成代码:

    codegen喷火-rowmajor

    然后生成的代码仍然使用列主布局。

  • 从列主函数中调用的其他函数继承了列主规范。然而,如果一个被调用的函数有其自己的distinctcoder.rowMajor调用时,代码生成器将相应地更改数组布局。如果行主函数和列主函数调用相同的函数,而该函数没有自己的数组布局规范,代码生成器将生成该函数的行主版本和列主版本。

  • coder.columnMajor在代码生成之外被忽略。

在R2018a中引入

这个话题有用吗?