生成的代码MATLAB值类
这个例子展示了如何为MATLAB生成代码®值类,然后查看生成的代码的代码生成报告。
在一个可写的文件夹中,创建一个MATLAB值类,
形状
。将代码保存为Shape.m
。classdef形状%在坐标形状创建一个形状% centerX和centerY属性centerX;centerY;结束属性(依赖= true)区域;结束方法函数= get.area (obj) = obj.getarea ();结束函数obj =形状(centerX centerY) obj。centerX = centerX;obj。centerY = centerY;结束结束方法(抽象= true) getarea (obj);结束方法(静态)函数d = distanceBetweenShapes (shape1 shape2) xDist = abs (shape1。centerX - shape2.centerX);yDist = abs (shape1。centerY - shape2.centerY);d =√xDist ^ 2 + yDist ^ 2);结束结束结束
在同一个文件夹中,创建一个类,
广场
的一个子类形状
。将代码保存为Square.m
。classdef广场<形状%创建一个广场中心X和Y坐标中心%的边长属性一面;结束方法函数obj =广场(centerX, centerY) obj@Shape (centerX centerY);obj。=一起;结束函数面积= getarea (obj)面积= 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,距离]= use_shape% # codegens =广场(2,1,2);r =菱形(3、4、7、10);TotalArea =。区域+ 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
,双击形状
。