MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   C#调用MATLAB (https://www.labfans.com/bbs/showthread.php?t=26606)

poster 2019-12-14 20:13

C#调用MATLAB
 
[URL="http://www.mathworks.com/help/techdoc/matlab_external/f135590.html#f135616"]我正在按照Matlab的示例[/URL]在C#中运行,但是由于我是C#的新手,所以我想打印System.Array prresult = new double[4];的结果System.Array prresult = new double[4];这是使用MATLAB的C#代码:

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1{ class Class1{ [STAThread] static void Main(string[] args){ MLApp.MLAppClass matlab = new MLApp.MLAppClass(); System.Array pr = new double[4]; pr.SetValue(11,0); pr.SetValue(12,1); pr.SetValue(13,2); pr.SetValue(14,3); System.Array pi = new double[4]; pi.SetValue(1,0); pi.SetValue(2,1); pi.SetValue(3,2); pi.SetValue(4,3); matlab.PutFullMatrix("a", "base", pr, pi); System.Array prresult = new double[4]; System.Array piresult = new double[4]; matlab.GetFullMatrix("a", "base", ref prresult, ref piresult); } } } 我在喜欢之前和之后添加了这些行:

System.Array prresult = new double[4]; System.Array piresult = new double[4]; Console.Write(prresult); Console.Write(piresult); matlab.GetFullMatrix("a", "base", ref prresult, ref piresult); Console.Write(prresult); Console.Write(piresult); 我进入控制台:

System.Double[]System.Double[]System.Double[]System.Double[] 。 。 。

如何在控制台中打印正确的结果?



[B]回答:[/B]

像这样:

foreach(var item in prresult) { Console.Write(item.ToString() + ", "); } 这是一个以类似于MATLAB的语法输出数组元素的函数:

static void PrintArray(double[] aArray) { var str = ""; for (int index = 0; index < aArray.Length; index++) { var item = aArray[index]; str += item.ToString(); if (index < aArray.Length - 1) str += ", "; } Console.WriteLine("[" + str + "]"); } 因此可以这样使用:

PrintArray(prresult);

[url=https://stackoverflow.com/questions/5319779]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 22:45

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.