c中调用matlabdll

上传人:桔**** 文档编号:458406051 上传时间:2023-01-18 格式:DOC 页数:7 大小:249KB
返回 下载 相关 举报
c中调用matlabdll_第1页
第1页 / 共7页
c中调用matlabdll_第2页
第2页 / 共7页
c中调用matlabdll_第3页
第3页 / 共7页
c中调用matlabdll_第4页
第4页 / 共7页
c中调用matlabdll_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《c中调用matlabdll》由会员分享,可在线阅读,更多相关《c中调用matlabdll(7页珍藏版)》请在金锄头文库上搜索。

1、C#中调用mdtldbdll作曲线拟和2011年06月06日今天是端午节,闲來无事,总结一下前一段时间应用mat1ab的成果。使用环境;VisualStudio2005,MatlabR2010bo二.操作步骤:1、matlab中安装MCR点击MATLAB7toolboxcompilerdeploywin32目录下MCRInstaller。安提示安装。2、安装matlab编译器在matlab命令行输入mbuild-setup,设置编译器,在设置过程中会出现选择编译器的提示,我的电脑安装的是MicrosoftVisualC+2005SP1,因此选MicrosoftVisualC+2005SP1见图

2、nbuild-setupPleasechooseyourcompilerforbuildingstandaloneMAILABapplications:Wouldyoulikembuildtolocateinstalledcompilersy/n9ySelectacompiler:1 Lcc-vin32C2.4.1inC:MATLABrsys-lcc2 MicrosoftVisualC+2005SP1inC:PrograxFiles-MicrosoftVisualStudio80NoneConpiler:2Pleaseverifyyourchoices:Conpiler:MicrosoftVi

3、sualC2005SP1Location:C:PrograMFilesxMicrosoftVisualStudio8Axethesecorrecty/n?yIryzngtoupdateoptiorfile:C:Usersvgaos-AppDataRoaMingMathWorksMAILABR2010bcompoptsba*tFroatenplate:C:MAILAB1bmrin32MbuildoptsM5vc8Ocon4jpba*tDone运行deploytool,编译netdll在matlab命令行输入,出现如下窗口*DeploymentProjectNewName:Untitledl.pr

4、jLocation:Target:rWindowsStandaloneAppucationC:matlab2010bin參WindowsStandaloneApplicationSConsoleApplicationdCSharedLibraryC+tSharedLibrary岡ExcelAddin品.NE1Assembly2GenericCOMComponent母JavaPaMge在Name中输入你将生成的DLL文件各,Location中输入存入文件路径,在Target中点击下拉框,要发现我们可以将matlab文件处理成那些文件Windowsstandaloneapplication处理wi

5、ndows成独立可运行文件ConsoleApplication控制台可执行文件CSharedLibraryC语言可分享库C+SharedLibraryC+语言可分享库ExcelAdd-inExcel中可调用的库.NETAssembly.NET编译库GenericCOMcomponent通用COM控件JavaPackageJava包在此我们选择.NETAssembly,确认后出现以下窗口4DeploymentToolFileEditProjectDebugDesktopWindowHdp*Suntitled2.prj25暂-4jNewProject.OpenProject.BuildPxkagC

6、lassesPlacefunctionsherethatyouwanttoaccessfrom.NETmanagedcode(ipublicmethods).【AddcbsslRenameProjectAddClassSharedResourcesandHelperFilesPlaceimages,datafiles,andGUIs(.figfiles)hereIfreferencedbyanyfunctions.Alsoplacehere: Functionscolledusingeval(anditsvariants) FunctionsnotontheMATLABpath Private

7、functionsAdd斥s/d;rhetoricsAddMCRSIBuild的PackageHelpication注利LaryC语言ibraryC+*IExcel中可谣”.NET编译丿fcomponen-f通编译前先要设置一下、在上图中点击Settings设置NET,设置如上图,选择microsoftframwork版本时一定要选单前使用版本,不能选default,要不然编译出來的会有一点问题。将AssemblyType设置为Shared点击Close加到编译窗口1_1.4DeploymentToolV03IAddClass中增加invgammaAddfilestest.m文件Test.m文

8、件内容如下%test.mfunctionmn=mvgaJMna(m?n?x?j)功能:对输入m及输出皿初j次多项式拟和,%然后对从拟和曲线上,从输入X上栈相应的值nh=polyfit(n,m,j):%拟和曲线nun=uint8(polyval(nh?x):%多项式求值点击编译文件编译结束后会在testsrc下会产生test,dll,这就是我们需求的1文件4、打开vs2005建立c#项目vstest5、导入matlabdllSvstgtMicrosoftVisualStudioRleEdit7zProjeclBuildDebugDataToolsWindowCommunityHfpDebugAn

9、yCPUG刍习F如丛SopenfikOioglI咻嗚羔4空:SolutionvstestQ.aas3USolutionvstest1prcject)6-肆申S由V0gjt%ldReouildCleanPublishAddAddRfrn_AddWebReference.Vieu*ClasDiagramSetasStlUpProjectDabijgCutFormLesDesignSurtPs,ObjeespacevstestpublicpartialclassForml:FormpublicArrayjiur;publicForMlOInitializeComponent();输入队列intx=0

10、,10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200,210,220,230,240,250,255;输出队列inty=34,35,36,37,38,40,43,45,48,52,58,66,74,83,92,105,115,129,149,168,185,198,212,220,223,224,224;/0255x轴队列intp=newint255;for(inti=0;i255;i+)pi=i;intn=6;多项式项数/intm=test.invgmO;/实例化invgmnygaii=newinvguO;(MWNuaericArray)p,MWArrayResOut=null;用于值输岀的Matlab矩阵ResOut=mygamtestfunc(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号