'dan çağırır. Bir yöntem dizininde saklanan bir grup yöntemle bir sınıfı tanımlarım. Sınıfı anlatabilir ve yöntemlerini matlab içinde kullanabilirim. Ben .NET/COM den aynı şeyi denerseniz Ancak, bu hata iletileri alıyorum:, Matlab nesnesinin (dizin) yöntemini .Net
"??? Reference to non-existent field 'test'.\n\n"
İşte testi yöntemdir.
Sınıfım, tanıtıcıdan türetilmiş ve iki olasılığı da denedim: sınıf dosyası ve dizin yönteminde tanımlanan yöntem. Ne işe yaramıyor!
Herhangi bir geri bildirim çok takdir edilecektir. Çok teşekkürler.
PS:
C# kodu:
MLApp.MLApp matlab = new MLApp.MLApp();
matlab.Execute("clear;");
matlab.Execute("Object = Class1();");
string test = matlab.Execute("Object.test()");
Çalışma matlab kodu:
clear;
Object = Class1();
Object.test()
PPS:
Sadece çift çağrıldığında çalışma Matlab komut çalışmadığını kontrol C# kodundan:Matlab sınıf tanımı:
classdef Test < handle
methods
function [c, obj] = add(obj, a, b)
c = a + b;
end
end % methods
end %classdef
Matlab komut dosyası:
clear;
Test = Test();
result = Test.add(1, 3);
C# kodu:
MLApp.MLApp matlab = new MLApp.MLApp();
object result;
matlab.Execute("clear;");
matlab.Execute("Test = Test();");
matlab.Execute("result = Test.add(1, 3);");
matlab.GetWorkspaceData("result", "base", out result);