C#与MATLAB之间传递参数

【菜科解读】
C#与matlab之间传递参数 MWNumericArray是MWArray和c#中数据的中间类, 怎么用?怎样在C参数? a.double型、int型等数值类型的变量传递 MWNumericArray i = null, result = mydouble; i=4; myClass myclass = new myClass(); //实例化 result = (MWNumericArray)myclass.myfunc(i); b.字符串(需要用到MWCharArray和MWArray转换) MWCharArray FileName = myString; MWNumericArray sensitivity; sensitivity = (MWNumericArray)myClass.myAlgorithm((MWArray)c.多个输出参数组成的数组 MWNumericArray out_Arr = (MWNumericArray)out_Args[1]; //取的数组(matlab返回的数组下界是从1开始的) 取出数组中的一个元素值 mydouble=out_Arr[i].ToScalarDouble(); 如上面例子ToScalarDouble一类的toXXXX等方法还有许多。
d.result.toArray可以把matlab返回的矩阵变成C#的n x m数组,eg: double[,] csArray= (double[,])result.ToArray(MWArrayComponente.将数组传入Matlab(和传递单个数值的方法一样) double[,] dbx = new double[2, 2] { { 1, 2 }, { 3, 4 } }; MWNumericArray x=dbx; myclass.picture(x); ________________________________________ M文件如何接收和返回? function x=test(h,d) //接收两个参数,返回一个 function [x1,x2]=test(h,d) //返回数组 ________________________________________ 以上为.Net方式连接,以下为COM方式连接(编译速度而言.net的方式要快上很多,而且似乎比较稳定) matlab编译工作 - mbuild -setup - deploytool,Matlab Builder for .net,Generic COM Component - 添加m函数文件(eg: myfunc.m),改类名(eg: myComClass),build 注册dll regsvr32 myCom.dll regsvr32 mwcomutil.dll VS2005调用: - Reference加Com控件 - 调用示例 double[,] arr = null; object in_a, out_a; in_a = 500; out_a = arr1; myCom.myComClass mc = new myCom.myComClass(); mc.myfunc(1, ref out_a, in_a); ________________________________________ 小例子:(提取matlab返回的两个参数并转化为C#的矩阵) Code testz.testzclass st = new testz.testzclass(); MWArray[] max = st.testz(2); MWNumericArray x1 = (MWNumericArray)max[0]; MWNumericArray x2 = (MWNumericArray)max[1]; double[,] location1 = (double[,])x1.ToArray(MWArrayComponent.Real); double[,] location2 = (double[,])x2.ToArray(MWArrayComponent.Real); label1.Text = location1[1,2].ToString(); 其中的M文件: Code function [x1,x2]=testz() x1=[1 2 3; 4 5 6; 7 8 9;]; x2=[9 8 7; 6 5 4; 3 2 1;];
另一篇: 以下是本人编程中总结的一些思路,拿出来与大家共享。
不对之处,请留言说明。
版本:Matlab R2007b ,Visual Studio 2005 C++/C#数据类型到M类型 此方向转换十分简单。
如果C++/C#数据不是数组, 直接将值传递给已经初始化的MWArray数组中的成员 直接将数据类型赋值给已经初始化的MWNumericArray变量。
直接将字符串类赋值给已经初始化的MWCharArray变量。
如果是数组类型: 直接赋值给MWNumericArray变量; 赋值给MWArray变量,则在前面加上类型转换如:(MWNumericArray)进行强制转换。
总之,MWArray是总类型,其它的以MW开头,以Array结尾的变量类型都可以直接对它进行赋值或取值。
M类型到C++/C#数据类型 MWArray M类型,它是M文件的编译后内部的标准类型,一切C++/C#类型都要最终转换成此类型,方可作为参数调用M语言函数。
MWCharArray M的字符串类型,使用它可以将M中的字符类型转换成C++/C#的字符串类型。
MWNumericArray MWNumericArray是MWArray与C#等语言的转换中间类型。
常用的转换函数: ① public Array ToArray(MWArrayComponent component); 将M类型转换成C#的Array类型,然后可以直接转换成其它类型的数组。
② public byte ToScalarByte(); 将M类型转换成C#的字节类型; ③ public double ToScalarDouble(); 将M类型转换成C#的双精度类型; double temp = ((MWNumericArray)(mwArgout[0])).ToScalarDouble(); ④ public float ToScalarFloat(); 将M类型转换成C#的单精度类型; ⑤ public int ToScalarInteger(); 将M类型转换成C#的整型类型; ⑥ public long ToScalarLong(); 将M类型转换成C#的长整C/C++/C#数据型类型; ⑦ public short ToScalarShort(); 将M类型转换成C#的短整型类型; ⑧ public override string ToString(); 将M类型转换成C#的字符串类型;string arror = mwArgout[2].ToString(); ⑨ public Array ToVector(MWArrayComponent component); 将M类型转换成C#的Array类型,然后可以直接转换成其它类型的数组。
下面使用调试过的代码示例表述①⑨两个函数的区别: ① double[,] Temp1 = new double[1,3]; Temp1= (double[,])((MWNumericArray)mwArgout[1]).ToArray(MWArrayComponent.Real); ⑨ double[] s1 = new double[2]; s1 = (double[])((MWNumericArray)mwArgout[1]).ToVector(MWArrayComponent.Real); 从以上代码可以看出:函数①得到了二维数组,而⑨则是得到了一维数组。
转换成C++/C#数据类型后,它们的维数均为从0开始。
与,MATLAB,之间,传递,参数,与,matlab,之间,
win8平板与win10对比:性能、功能及用户体验
软件支持 在线重装、U盘制作、自定义重装 等多种模式。
简介:在如今的移动互联网时代,平板电脑已经成为人们生活中不可或缺的工具之一。
而Windows操作系统作为全球最大的操作系统之一,也在不断升级与创新。
在本文中,将对比Windows 8平板与Windows 10平板的性能、功能及用户体验,以帮助使用者更好地选择合适的平板电脑。
工具原料:系统版本:Windows 8、Windows 10品牌型号:如惠普Elite x2、Surface Pro等软件版本:如Office 2016、Cortana等一、性能对比1、处理器与内存:Windows 10平板采用了更先进的处理器和更大的内存,相比之下,Windows 8平板在性能方面有所欠缺。
2、图形性能:Windows 10平板支持更高级的图形处理技术,能够呈现更绚丽的图像效果,而Windows 8平板则相对较弱。
3、启动速度:Windows 10平板的启动速度快于Windows 8平板,用户能够更迅速地进入系统并开始工作。
二、功能对比1、桌面模式:Windows 10平板支持桌面模式,用户可以像在电脑上一样使用各种桌面应用程序,而Windows 8平板的桌面模式相对有限。
2、触控操作:Windows 10平板增强了对触控操作的支持,用户可以更流畅地进行手势操作,并享受更舒适的使用体验。
3、应用商店:Windows 10平板的应用商店丰富多样,用户可以轻松下载安装各种应用程序,而Windows 8平板的应用商店相对较少。
三、用户体验对比1、界面设计:Windows 10平板采用了更现代化的界面设计,用户界面更加简洁美观,操作更加直观方便。
2、语音助手:Windows 10平板具备强大的语音助手Cortana,用户可以通过语音指令来完成各种操作,而Windows 8平板则没有这个功能。
3、多任务处理:Windows 10平板支持更强大的多任务处理能力,用户可以同时打开多个应用程序并快速切换,而Windows 8平板的多任务处理能力有限。
总结:通过对比Windows 8平板与Windows 10平板的性能、功能及用户体验,我们可以发现Windows 10平板在多个方面都有着较大的优势。
它拥有更出色的性能、更丰富的功能和更好的用户体验,能够更好地满足用户的需求。
因此,在选择平板电脑时,我们推荐使用Windows 10平板。
标签: 注意:本站所刊载的文章均为学习交流之用,请勿用于商业用途。
对于商业使用,请联系各自版权所有者,否则法律问题自行承担。
Win7系统升级指南:全面解析升级步骤与要点 Win7系统损坏修复教程:详细步骤助你快速解决问题 win8平板与win10对比:性能、功能及用户体验 分类于: 回答于:2023-11-29 简介:在如今的移动互联网时代,平板电脑已经成为人们生活中不可或缺的工具之一。
而Windows操作系统作为全球最大的操作系统之一,也在不断升级与创新。
在本文中,将对比Windows 8平板与Windows 10平板的性能、功能及用户体验,以帮助使用者更好地选择合适的平板电脑。
工具原料:系统版本:Windows 8、Windows 10品牌型号:如惠普Elite x2、Surface Pro等软件版本:如Office 2016、Cortana等一、性能对比1、处理器与内存:Windows 10平板采用了更先进的处理器和更大的内存,相比之下,Windows 8平板在性能方面有所欠缺。
2、图形性能:Windows 10平板支持更高级的图形处理技术,能够呈现更绚丽的图像效果,而Windows 8平板则相对较弱。
3、启动速度:Windows 10平板的启动速度快于Windows 8平板,用户能够更迅速地进入系统并开始工作。
二、功能对比1、桌面模式:Windows 10平板支持桌面模式,用户可以像在电脑上一样使用各种桌面应用程序,而Windows 8平板的桌面模式相对有限。
2、触控操作:Windows 10平板增强了对触控操作的支持,用户可以更流畅地进行手势操作,并享受更舒适的使用体验。
3、应用商店:Windows 10平板的应用商店丰富多样,用户可以轻松下载安装各种应用程序,而Windows 8平板的应用商店相对较少。
三、用户体验对比1、界面设计:Windows 10平板采用了更现代化的界面设计,用户界面更加简洁美观,操作更加直观方便。
2、语音助手:Windows 10平板具备强大的语音助手Cortana,用户可以通过语音指令来完成各种操作,而Windows 8平板则没有这个功能。
3、多任务处理:Windows 10平板支持更强大的多任务处理能力,用户可以同时打开多个应用程序并快速切换,而Windows 8平板的多任务处理能力有限。
总结:通过对比Windows 8平板与Windows 10平板的性能、功能及用户体验,我们可以发现Windows 10平板在多个方面都有着较大的优势。
它拥有更出色的性能、更丰富的功能和更好的用户体验,能够更好地满足用户的需求。
因此,在选择平板电脑时,我们推荐使用Windows 10平板。
菜科网系统致力于解决 Windows 系统重装解决方案,提供高效、安全、免费的系统重装服务。
win10用户必看!最新技巧与优化方法大解析!
软件支持 在线重装、U盘制作、自定义重装 等多种模式。
win10用户必看!最新技巧与优化方法大揭秘!简介:大家好,今天我要和大家分享一些关于win10的最新技巧与优化方法。
作为一个win10的用户,我深刻意识到在日常使用中,我们常常遇到各种各样的问题和困扰。
通过学习这些最新技巧和优化方法,我们可以更好地使用win10,提高工作和生活效率。
下面,我将为大家介绍一些值得关注的内容。
工具原料:系统版本:Windows 10 品牌型号:个人电脑 软件版本:最新版本 一、创造性地使用任务视图1、任务视图犹如一个虚拟的桌面,可以帮助我们更好地管理多个任务和应用程序。
通过在任务栏上点击任务视图按钮或使用快捷键Win + Tab即可快速启用任务视图。
可以将不同任务和应用程序分别放置在不同的虚拟桌面中,这样可以极大提高我们在工作和学习中的效率。
2、在任务视图中,我们还可以通过点击右下角的新建桌面按钮,创建新的虚拟桌面,这样我们就可以按照不同的工作内容或者不同的兴趣爱好来分类管理我们的任务,极大地提升了我们的多任务处理能力。
二、定制化操作系统1、通过个性化设置来定制我们的操作系统是win10中的一个重要亮点。
我们可以通过不同的方式为我们的桌面,开始菜单,任务栏等进行个性化的设定。
这样可以让我们的操作系统更符合我们的口味和使用习惯。
2、我们还可以通过更改窗口的颜色、设置桌面壁纸、选择自己喜欢的桌面图标等等来打造一个属于自己的个性化桌面。
这些小技巧不仅可以提升我们的视觉享受,还可以让我们在使用过程中更加得心应手。
三、使用Cortana提高工作效率1、Cortana是win10的人工智能助手,她可以帮助我们做很多事情。
通过设置和使用Cortana,我们可以用语音来进行搜索、设置提醒、发送邮件、查找文件等等。
这样可以极大地提高我们的工作效率,让我们的工作变得更加便捷和高效。
2、除了日常的办公使用,Cortana还可以通过学习我们的使用习惯,提供更具个性化的推荐和服务。
她可以基于我们的兴趣爱好、地理位置和日常行程等等,为我们提供更加准确和贴合的信息和服务。
四、总结通过学习这些最新技巧和优化方法,我们可以更好地使用win10,提高工作和生活效率。
创造性地使用任务视图,定制化操作系统,以及使用Cortana提高工作效率,都是我们在使用win10时可以尝试的方法。
希望这些技巧能够对大家有所启发,让我们的win10使用体验更加出色!同时,我也鼓励大家不断探索和尝试,发掘更多的技巧和优化方法,使我们的win10使用更加得心应手。
标签: 注意:本站所刊载的文章均为学习交流之用,请勿用于商业用途。
对于商业使用,请联系各自版权所有者,否则法律问题自行承担。
Win7系统升级指南:全面解析升级步骤与要点 Win7系统损坏修复教程:详细步骤助你快速解决问题 win10用户必看!最新技巧与优化方法大揭秘! 分类于: 回答于:2023-11-29 win10用户必看!最新技巧与优化方法大揭秘!简介:大家好,今天我要和大家分享一些关于win10的最新技巧与优化方法。
作为一个win10的用户,我深刻意识到在日常使用中,我们常常遇到各种各样的问题和困扰。
通过学习这些最新技巧和优化方法,我们可以更好地使用win10,提高工作和生活效率。
下面,我将为大家介绍一些值得关注的内容。
工具原料:系统版本:Windows 10 品牌型号:个人电脑 软件版本:最新版本 一、创造性地使用任务视图1、任务视图犹如一个虚拟的桌面,可以帮助我们更好地管理多个任务和应用程序。
通过在任务栏上点击任务视图按钮或使用快捷键Win + Tab即可快速启用任务视图。
可以将不同任务和应用程序分别放置在不同的虚拟桌面中,这样可以极大提高我们在工作和学习中的效率。
2、在任务视图中,我们还可以通过点击右下角的新建桌面按钮,创建新的虚拟桌面,这样我们就可以按照不同的工作内容或者不同的兴趣爱好来分类管理我们的任务,极大地提升了我们的多任务处理能力。
二、定制化操作系统1、通过个性化设置来定制我们的操作系统是win10中的一个重要亮点。
我们可以通过不同的方式为我们的桌面,开始菜单,任务栏等进行个性化的设定。
这样可以让我们的操作系统更符合我们的口味和使用习惯。
2、我们还可以通过更改窗口的颜色、设置桌面壁纸、选择自己喜欢的桌面图标等等来打造一个属于自己的个性化桌面。
这些小技巧不仅可以提升我们的视觉享受,还可以让我们在使用过程中更加得心应手。
三、使用Cortana提高工作效率1、Cortana是win10的人工智能助手,她可以帮助我们做很多事情。
通过设置和使用Cortana,我们可以用语音来进行搜索、设置提醒、发送邮件、查找文件等等。
这样可以极大地提高我们的工作效率,让我们的工作变得更加便捷和高效。
2、除了日常的办公使用,Cortana还可以通过学习我们的使用习惯,提供更具个性化的推荐和服务。
她可以基于我们的兴趣爱好、地理位置和日常行程等等,为我们提供更加准确和贴合的信息和服务。
四、总结通过学习这些最新技巧和优化方法,我们可以更好地使用win10,提高工作和生活效率。
创造性地使用任务视图,定制化操作系统,以及使用Cortana提高工作效率,都是我们在使用win10时可以尝试的方法。
希望这些技巧能够对大家有所启发,让我们的win10使用体验更加出色!同时,我也鼓励大家不断探索和尝试,发掘更多的技巧和优化方法,使我们的win10使用更加得心应手。
菜科网系统致力于解决 Windows 系统重装解决方案,提供高效、安全、免费的系统重装服务。