私はC#Visual Studioに次のコードを書いています.COMサーバーからMATLABを使ってデータをプロットしようとしています。私は多少は可能ですが、コードを使用すると、MATLABの出力コンソールには変数 "numbers"の最後の値しか表示されず、プロットするとすべての以前の値が上書きされます。また、どのように私は可変サイズの動的にすることができますか?私の目標は、リアルタイムでデータをプロットすることです。どんな提案もありがとう!C#My ArrayListには最後の項目しか含まれていません
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
////// Create the MATLAB instance
MLApp.MLApp matlab = new MLApp.MLApp();
for (int j = 1; j <= 10; j++)
{
int[] numbers = new int[11];
numbers[j] = j * 15;
matlab.Execute("numbers");
matlab.PutWorkspaceData("A", "base",numbers);
matlab.Execute("plot(A);");
}
// //Console.WriteLine(j*15);
//}
//Console.ReadKey();
}
}
}
UPDATE:
var numbers = new List<int>();
for (int j = 1; j <= 10; j++)
{
//numbers[j] = j * 15;
int val= j * 15;
numbers.Add(val);
var array = numbers.ToArray();
matlab.Execute("array");
matlab.PutWorkspaceData("A", "base", array);
matlab.Execute("plot(A);");
}
はい@ Sabi3023が既に提供した後、それを配置する必要があります溶液。この行でどのように配列のサイズを任意または動的にすることができるか知りたいですか? int [] numbers = new int [11];すなわち、 11を動的値 – DashD
@ DashDに変更してください。回答の更新を参照してください。 – Sajal
はい、以前は自分自身で試してみましたが、エラーになります。 – DashD