我是靠谱客的博主 无奈板凳,最近开发中收集的这篇文章主要介绍C# Matlab数据类型转化,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

注意:1,C#调用matlab生成的dll中的函数时,入口参数只能是MWArray类型(Matlab中的数据类型)或者MWNumericArray类型(Matlab和C#的中间类型)(通过MWNumericArray类型可以点出许多转换函数)

2,可以将字面值直接赋给MWArray或MWNumericArray类型的变量

3,可以C#的变量将强制类型转化为MWArray类型或MWNumericArray类型(通过MWNumericArray())。


转换:

一, C#数据类型到M类型(C#数据不是数组)

1, 直接将值传递给已经初始化的MWArray数组中的成员(将字面值直接赋给MWArray或MWNumericArray类型的变量)

2, 直接将数据类型赋值给已经初始化的MWNumericArray变量(可以C#的变量将强制类型转化为MWArray类型或MWNumericArray类型(通过MWNumericArray())。)

3, 直接将字符串类赋值给已经初始化的MWCharArray变量

二, 如果是数组类型:

直接赋值给MWNumericArray变量(或强制类型转换)

总之,MWArray是总类型,其它的以MW开头,以Array结尾的变量类型都可以直接对它进行赋值或取值。





M类型到C++/C#数据类型

先将输出参数强制转化为MWNumericArray类型(MWNumericArray()),再调用各种转化函数。(MWArray只有.ToString()和.ToArray()两种方法)

1,public ArrayToArray(MWArrayComponent component); (有MWArrayComponent.Real和MWArrayComponent.Imaginary两种//相当于取数据的实数部分或虚数部分)或public Array ToArray()的方法

将M类型转换成C#的Array类型,然后可以直接转换成其它类型的数组。(转化后的结果可以再强制转化成其它类型的数组)(得到数组

2,publicoverride string ToString();

将M类型转换成C#的字符串类型;stringarror = mwArgout[2].ToString();

3,public ArrayToVector(MWArrayComponent component);(有MWArrayComponent.Real和MWArrayComponent.Imaginary两种)

将M类型转换成C#的Array类型,然后可以直接转换成其它类型的向量。(得到向量,一维数组

4,public byteToScalarByte();

将M类型转换成C#的字节类型;

5,publicdouble ToScalarDouble();

将M类型转换成C#的双精度类型;

6,public float ToScalarFloat();

将M类型转换成C#的单精度类型;

7,public int ToScalarInteger();

将M类型转换成C#的整型类型;

8,public long ToScalarLong();

将M类型转换成C#的长整C/C++/C#数据型类型;

9,public short ToScalarShort();

将M类型转换成C#的短整型类型




double[] a = { 1, 2, 3, 4, 5,6 };//输入参数1

MWNumericArray ma = newMWNumericArray(3, 2, a);//转换成matlab需求的格式(将a转为3行2两列的数组)

 

 

 

 

更多的数据格式转换,请用matlab的help索引MWArray

http://cn.mathworks.com/help/dotnetbuilder/MWArrayAPI/html/57290a83-9e6e-4179-a1b8-9fb0344544ce.htm

http://www.ithao123.cn/content-10818696.html

最后

以上就是无奈板凳为你收集整理的C# Matlab数据类型转化的全部内容,希望文章能够帮你解决C# Matlab数据类型转化所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部