主要内容

coder.columnMajor

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

描述

例子

coder.columnMajor指定列为主的阵列布局的数据由当前函数用于生成的代码。当放置在一个类的构造函数,coder.columnMajor指定列为主的布局数据所使用的类。

请注意

默认情况下,代码生成使用数组列为主的布局。

例子

全部折叠

指定列为主的布局为一个函数插入数组coder.columnMajor函数体。

假设myFunction是顶级的函数代码。您的应用程序需要执行矩阵加法与列为主的阵列布局和矩阵乘法行布局。

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

编写一个函数矩阵加法addMatrix。指定列为主addMatrix通过使用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

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

  • 从一个列为主函数中调用其他函数继承列为主的规范。然而,如果被调用的函数都有自己的独特的之一coder.rowMajor调用,代码生成器相应地改变阵列布局。如果一个行和列为主函数调用相同的函数,它没有自己的阵列布局规范,代码生成器生成一个行版本和列为主版本的函数。

  • coder.columnMajor忽略之外的代码生成和仿真。

扩展功能

C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。

GPU的代码生成
生成NVIDIA的CUDA®代码®GPU使用GPU编码器™。

版本历史

介绍了R2018a