生成代码MATLAB值类
这个例子展示了如何为MATLAB生成代码®值类,然后在代码生成报告中查看生成的代码。
在可写文件夹中,创建MATLAB值类,
形状
.将代码保存为Shape.m
.classdef形状在坐标处创建一个形状% centerX和century属性centerX;centerY;结束属性(依赖= true)区域;结束方法函数Out = get.area(obj) Out = obj.getarea();结束函数obj =形状(centerX, century)centerX = centerX;obj。世纪=世纪;结束结束方法getarea(obj);结束方法(静态)函数d = distanceBetweenShapes(shape1,shape2) xDist = abs(shape1. d)- shape2.centerX);yDist = abs(shape1。century - shape2. century);d =√(xDist^2 + yDist^2);结束结束结束
在同一个文件夹中,创建一个类,
广场
的子类形状
.将代码保存为Square.m
.classdef方形<形状在坐标中心X和Y处创建一个正方形边长为边长的%属性一面;结束方法函数obj = Square(side,centerX,centerY) obj@Shape(centerX,centerY);obj。侧;结束函数getarea(obj) Area = obj.side^2;结束结束结束
在同一个文件夹中,创建一个类,
菱形
的子类形状
.将代码保存为Rhombus.m
.classdef菱形<形状属性diag1;diag2;结束方法函数obj =菱形(diag1,diag2,centerX,centerY) obj@Shape(centerX,centerY);obj。Diag1 = Diag1;obj。Diag2 = Diag2;结束函数getarea(obj) = 0.5*obj.diag1*obj.diag2;结束结束结束
编写一个使用该类的函数。
函数[TotalArea, Distance] = use_shape . [TotalArea, Distance] = use_shape .% # codegens =平方(2,1,2);r =菱形(3,4,7,10);TotalArea = s.area + r.area;距离= Shape.distanceBetweenShapes(s,r);
生成的静态库
use_shape
并生成代码生成报告。codegen配置:自由报告use_shape
codegen
生成一个具有默认名称的C静态库,use_shape
,以及默认文万博1manbetx件夹中的支持文件,codegen / lib / use_shape
.单击查看报告链接。
去看
菱形
类的定义MATLAB源窗格中,在Rhombus.m
,点击菱形
.的菱形
类构造函数高亮显示。单击变量选项卡。你可以看到这个变量
obj
是对象的菱形
类。要查看其属性,请展开obj
.在MATLAB源窗格中,单击调用树.
的调用树视图显示
use_shape
调用菱形
构造函数,并且菱形
构造函数调用形状
构造函数。在代码窗格中
菱形
类的构造函数,将指针移到这一行:obj@Shape (centerX centerY)
菱形
类构造函数调用形状
基地的方法形状
类。浏览形状
类定义,在obj@Shape
,双击形状
.