c#与matlab混合编程中 关于字符串和字符串数组的传递
来源:互联网 发布:淘宝死店是什么意思 编辑:程序博客网 时间:2024/05/10 13:17
下边是c#程序代码
string a;
a = Console.ReadLine();
string b;
b = Console.ReadLine();
testtestsjyd1 t=new testtestsjyd1();//这里testtestsjyd是matlab的函数生成的类
MWArray result = t.shensuowudongzuo1(a, b);//shensuowudongzuo1()是matlab的函数用于实现一定的功能;
Console.WriteLine(result);
MWNumericArray x1 = (MWNumericArray)result;
double[,] jieguo1 = (double[,])x1.ToArray(MWArrayComponent.Real);
Console.WriteLine(jieguo1[1,0]);
//这里就实现了将字符串传递给MATLAB的函数shensuowudongzuo1(),然后该函数将运算结果返回到result,但由于此时result的类型不是c#可以直接使用的类型,所以需要转换
2字符串数组的传递
曾经在网上搜了好久没有找到这方面详细的资料,我们知道,在c#中字符串个格式为双引号括起来。如:str=“Hello”,而在matlab中是单引号括起来的,如:str1=‘Hello',可能是我本身接触matlab和c#时间不长的原因不愿意修改matlab的函数的参数(也可能是我接触matlab和c#时间不长孤陋寡闻的原因,我也不知道matlab的函数能否接受字符串数组作为参数),所以就想着,在c#这边将字符串数组以字符串格式输入,中间以空格间隔起来,例如:本来字符串数组为:str[3]={"Hello","The","World"}; 现在输入str="Hello The World",然后通过字符串的方法传递给matlab的函数,在matlab的函数中实现把字符串分割成字符串数组;
有了这个想法,我就试了一下,结果老是出现问题要不就是说什么cell array contains cell element 或者就直接变成了一个字符串HelloTheWorld;
后来我发现原来c#传递给matlab的字符串是以cell数组的形式存放的所以
通过下联两条matlab语句就可以实现:
str=cell2mat(str);%将cell数组转换成普通数组
str1=regexp(str, '\s+', 'split');%将str="Hello The World"变成str1={’Hello‘,‘The’,‘World’},这就实现了c#的数组变成了MATLAB中的数组;
以上只是自己调程序时的思路,有可能走了弯路,也有可能是自己的无知里边有很多错误,记下来只是想以后出现类似问题可以更快的处理或者以后知道了自己曾经的错误也可以修稿一下
- c#与matlab混合编程中 关于字符串和字符串数组的传递
- c#向MATLAB传递字符串数组
- 关于MATLAB和c#混合编程以及如何打包的
- matlab与c#混合编程之图像参数传递
- C#与Matlab混合编程的方式
- C#与matlab的混合编程
- 用C#编程语言实现数据结构传递整型变量、字符串和数组的方法
- C# 中数组和字符串的长度
- 如何将一个C#字符串数组传递给MATLAB
- c#与matlab混合编程
- MATLAB与C#混合编程
- Matlab与C#混合编程
- Matlab与C#混合编程
- matlab与C#混合编程
- C#与MATLAB混合编程
- C#与MATLAB混合编程
- C#与MATLAB混合编程
- 关于字符串、数组和参数传递的一道题
- WPARAM 和 LPARAM(转载) 2010-11-23 11:03
- 连接sqlserver,不是默认实例名
- oracle 递归:一个月内的每一天
- 保护眼睛银色调
- VC++几个操作文件的API函数 2010-11-23 18:09
- c#与matlab混合编程中 关于字符串和字符串数组的传递
- iphone崩溃日志分析工具symbolicatecrash用法
- log_archive_dest与log_archive_dest_n区别
- 文件操作 2010-11-23 18:10
- 转:连线:软件当道令硬件展CES陷尴尬
- 决策树的经典构造算法ID3&C4.5
- 使用tr1::function和tr1::bind实现类的非静态成员函数指针
- webm EBML文件头分析
- Android 中文 API(123) —— AbsListView