在net程序集使用多个类
这个例子向您展示了如何创建一个. net汇编,使用多个类来分析信号,图结果。
在本例中,您执行以下步骤:
SpectraComp应用程序
类SignalAnalyzer
执行一个快速傅里叶变换(FFT)输入数据数组。这个类的一个方法,computefft
返回的结果,FFT的两个输出arrays-an阵列频率点和功率谱密度。
第二个类,绘图机
、图形使用返回的数据plotfft
方法。这两种方法computefft
和plotfft
封装MATLAB函数。computefft
计算FFT功率谱密度和频率点的输入数据和计算一个向量基于输入的数据的长度和采样间隔。plotfft
块FFT数据和MATLAB的功率谱密度图窗口。
文件
MATLAB函数 | computefft.m plotfft.m |
MATLAB函数的位置 |
|
c#代码的位置 |
|
Visual Basic代码位置 |
|
过程
复制以下文件夹MATLAB附带的产品到你的工作文件夹:
matlabroot\工具箱\ dotnetbuilder \ \和例子版本\ \ SpectraExample净
在MATLAB命令提示符下,导航到新
SpectraExample \ SpectraComp
子文件夹在你的工作文件夹。检查MATLAB函数
computefft.m
和plotfft.m
。构建的。net组件库的编译器应用程序或
compiler.build.dotNETAssembly
。库的名字
SpectraComp
。地图类命名SignalAnalyzer
的函数computefft.m
,第二个地图类命名绘图机
的函数plotfft.m
。例如,如果您正在使用
compiler.build.dotNETAssembly
类型:提出= containers.Map;提出(“SignalAnalyzer”)=“computefft.m”;提出(“绘图机”)=“plotfft”;buildResults = compiler.build.dotNETAssembly(提出,…“AssemblyName”,“SpectraComp”);
更多细节,请参阅说明书生成net程序集和构建. net应用程序。
决定你是否正在使用c#或Visual Basic访问组件。
c#
如果你是使用c#,编写源代码的c#应用程序访问的组件。
这个示例的示例应用程序
SpectraExample \ SpectraCSApp \ SpectraApp.cs
。以下语句展示了如何使用
MWArray
构造一个类库MWNumericArray
这是作为方法的输入computefft
函数。=新MWNumericArray (MWArrayComplexity MWNumericArray数据。真实的,MWNumericType。双,numSamples);
下面的语句创建类的实例
SignalAnalyzer
和调用方法computefft
3,要求输出。SignalAnalyzer SignalAnalyzer = new SignalAnalyzer ();…MWArray [] argsOut = signalAnalyzer.computefft(3、数据时间间隔);
Visual Basic
如果您正在使用Visual Basic,编写源代码的Visual Basic应用程序访问的组件。
这个示例的示例应用程序
SpectraExample \ SpectraVBApp \ SpectraApp.vb
。展示如何使用以下语句
MWArray
类库来构建必要的数据类型:昏暗的数据作为MWNumericArray = New MWNumericArray_ (MWArrayComplexity。真实的,MWNumericType。双,numSamples)…昏暗的resultArray MWNumericArray = New MWNumericArray_ (MWArrayComplexity。复杂,MWNumericType。双,numElements)
下面的语句创建类的实例
SignalAnalyzer
和调用方法computefft
三个输出,要求:昏暗的signalAnalyzer signalAnalyzer = New signalAnalyzer…昏暗的argsOut()作为MWArray = signalAnalyzer.computefft(3、数据MWArray.op_Implicit(间隔))
在这两种情况下,
SpectraApp
程序如下:构造一个输入数组值代表一个随机信号和两个正弦曲线15岁和40 Hz嵌入
创建一个
MWNumericArray
数组,其中包含的数据实例化一个
SignalAnalyzer
对象调用
computefft
方法,该方法计算FFT、频率和谱密度实例化一个
绘图机
对象调用
plotfft
方法,该地块数据使用一个
试一试
/抓
块处理异常
打开。net项目文件对应于应用程序语言使用Visual Studio。
c#
如果你是使用c#,
SpectraCSApp
文件夹包含一个Visual Studio . net项目文件的例子。在Visual Studio . net通过双击打开该项目SpectraCSApp.csproj
在窗户®资源管理器。你也可以从桌面右击打开它SpectraCSApp.csproj并选择外开放的MATLAB。Visual Basic
如果您正在使用Visual Basic,
SpectraVBApp
文件夹包含一个Visual Studio . net项目文件的例子。在Visual Studio . net通过双击打开该项目SpectraVBApp.vbproj
在Windows资源管理器。你也可以从桌面右击打开它SpectraVBApp.vbproj并选择外开放的MATLAB。
添加程序集引用文件
SpectraComp.dll
。添加一个引用
MWArray
API。如果MATLAB是安装在您的系统上 matlabroot
\ \ dotnetbuilder \ bin \ win64 \工具箱< framework_version >
\ MWArray.dll如果MATLAB运行时在您的系统上安装吗 < MATLAB_RUNTIME_INSTALL_DIR >
\ \ dotnetbuilder \ bin \ win64 \工具箱< framework_version >
\ MWArray.dll建立和运行
SpectraApp
在Visual Studio . net应用程序。程序显示以下输出:
FFT: 1.0 e + 2 * 4.8646 + 0.0000我-0.0326 + -0.0289 + 0.1080我-0.0141 - 0.0148 0.0674 - 0.0487 0.0237 0.0753 0.0275 - 0.0101 + 0.0669我-0.0429 + 0.0472我0.0803 - 0.1163 -0.0619 - 0.1072 0.0565 - 0.0502我-0.0223 + 0.0587 -0.0853 - 0.0812 -0.0662 - 0.0143我0.0543 - 0.0972 0.0814 - 0.0463 -0.0981 - -0.0339 0.0190我0.0042 + 0.0083 + 0.0290我0.0291 + 0.0036频率:0.0000 + 0.0000我0.0999 + 0.0000 0.1998 0.2997 + 0.0000 + 0.0000我0.3996 + 0.0000我0.4995 + 0.0000 0.5994 0.6993 + 0.0000 + 0.0000我0.7992 + 0.0000我0.8991 + 0.0000 0.9990 1.0989 + 0.0000 + 0.0000我1.1988 + 0.0000我1.2987 + 0.0000 1.3986 1.4985 + 0.0000 + 0.0000我1.5984 + 0.0000我1.6983 + 0.0000 1.7982 1.8981 + 0.0000 + 0.0000我功率谱密度:15.3755 0.0000 0.1274我0.3534 + 0.0000 + 0.0000 + 0.0646 + 0.0000我0.2628 + 0.0000我0.3183 + 0.0000 0.0925 0.2016 + 0.0000 + 0.0000我0.4465 + 0.0000我0.3912 + 0.0000 0.2387 0.1985 + 0.0000 + 0.0000我0.3723 + 0.0000我0.2140 + 0.0000 0.3520 0.2960 + 0.0000 + 0.0000我0.3158 + 0.0000我0.0294 + 0.0000 0.1411 0.0927 + 0.0000 + 0.0000我绘制功率谱密度,请稍等…
另请参阅
库的编译器|compiler.build.dotNETAssembly
|deploytool