用Visual Studio创建.NET类库后,在MATLAB中可用NET.addAssembly函数载入它。载入以后,就可以使用类库定义的类。注意,在MATLAB中无法卸载类库。如果修改或重建自己的类库,必须重启MATLAB来实现改变。[大谦MATLAB,dqmatlab点com]
打开MATLAB,在命令窗口输入下面的语句加载前一小节创建的类库mypos.dll。先将该文件复制到D盘。
code.matlab
>> test=NET.addAssembly('d:\mypos.dll')
test=
NET.Assembly 句柄
包: NET
类 NET.Assembly 的属性:
AssemblyHandle
Classes
Structures
Enums
GenericTypes
Interfaces
Delegates
引用类库对象的Classes属性:
code.matlab
>> test.Classes
ans =
1×1 cell 数组
{'mypos.Position'}
可见有1个Position类,前面用名字空间mypos进行点引用。
创建Position类的实例obj:
code.matlab
>> obj=mypos.Position
obj=
Position - 属性:
ID: 0
x: 0
y: 0
Disto: 0
默认时点的坐标为原点坐标。设置obj的横坐标为10:
code.matlab
>> obj.x=10
obj=
Position - 属性:
ID: 0
x: 10
y: 0
Disto: 10
自动计算该点到原点的距离。设置obj的纵坐标为10:
code.matlab
>> obj.y=10
obj=
Position - 属性:
ID: 0
x: 10
y: 10
Disto: 14.1421
用Move方法平移点,横坐标方向和纵坐标方向各平移100个单位:
code.matlab
>> obj.Move(100,100)
>> obj
obj=
Position - 属性:
ID: 0
x: 110
y: 110
Disto: 155.5635
返回点在新位置的坐标和到原点的新距离。