学习如何从MATLAB生成c++类®类。编写带有公共和私有属性和方法的MATLAB类,MATLAB Coder™将生成具有等价的私有和公共属性和方法的c++类。支持MATLAB类,如值类、句柄类和系统对象。金宝app
使用MATLAB类,定义属性和方法,并将其编译成具有等价属性和方法的c++类。这里我用的不是MATLAB,而是simpleClass。它派生自MATLAB handles类。
这个特殊的类有两个输入,x和y,这是空间中的两个点。它有一个输出z,在这里你会看到这是初始构造函数。这里是输入集合,输入x和y的值。
你有一个get results方法用来计算输出。在计算方法中,取两个坐标x和y然后计算它们之间的距离。一旦计算出来,就可以使用get size x方法来得到结果。
这是我实际的算法。相反,我实例化了我的simpleClass。然后我设置输入。从这里开始,我让它计算。最后,我将得到两个输入之间的距离。
此外,我有一个简单的测试工作台,可以练习myAlg。你们可以看到这两个点A和B,这两个点在空间中的距离是根2。因为它在MATLAB中运行,所以我可以继续生成代码。我将启动MATLAB编码器应用程序。
在MATLAB编码器应用程序内,我需要做的第一件事是指定以下我需要生成的代码。这就是这个特殊情况下的myAlg。代码准备工具确定了一个问题,我们需要在开始生成代码之前查看一下。
点击这个,这告诉我们try/catch块不支持co-generation。金宝app为了解决这个问题,我们将注释掉try/catch。代码生成就绪工具表示一切就绪。
接下来我需要定义输入数据类型和大小。简单的方法是练习测试台,并要求MATLAB编码器自动定义输入类型。这就搞定了。接下来,检查运行时问题总是一个好主意。在这一步,MATLAB编码器将生成一些试验代码,构建它,看看是否有任何问题。在这种情况下,在这个特殊情况下没有。
现在我们准备好生成代码了。我们可以选择c++来为我们的MATLAB类生成代码。好了,做完了。我们成功生成了代码。让我们看一下代码生成报告。点击myalgp。cpp。
我们可以看看。这里的结果代码是实例化我的simpleClass,初始化它,设置输入,运行compute方法,最后返回get结果方法。它和我们在MATLAB代码中看到的很像。
在简单类的实际定义中,你可以看到compute方法。得到2个x和y坐标。然后用平方根计算它们之间的距离。
这里您可以看到get result方法,它只是返回私有的z变量。这就是初始化。在这里的集合输入法中,你可以看到我们设置了x和y的坐标,这是对MATLAB类的快速了解,并使用MATLAB编码器生成带有属性和方法的等效c++类。
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。