से आमंत्रित किया है, मैंने एक विधि निर्देशिका में संग्रहीत विधियों के समूह के साथ एक वर्ग परिभाषित किया है। मैं कक्षा को तुरंत चालू कर सकता हूं और मैटलैब के भीतर अपनी विधियों का आह्वान कर सकता हूं। हालांकि, अगर मैं नेट/कॉम से भी ऐसा ही करने की कोशिश मैं इस त्रुटि संदेश मिलता है:ने मैटलैब ऑब्जेक्ट की (निर्देशिका) विधि को .Net
"??? Reference to non-existent field 'test'.\n\n"
यहाँ परीक्षण तरीका है।
मेरी कक्षा संभाल से ली गई है और मैंने दोनों संभावनाओं की कोशिश की है: विधि फ़ाइल फ़ाइल और निर्देशिका विधि में परिभाषित विधि। न तो काम करता है!
कोई भी प्रतिक्रिया बहुत सराहना की जाएगी। बहुत धन्यवाद।
पुनश्च:
सी # कोड:
MLApp.MLApp matlab = new MLApp.MLApp();
matlab.Execute("clear;");
matlab.Execute("Object = Class1();");
string test = matlab.Execute("Object.test()");
कार्य matlab कोड:
clear;
Object = Class1();
Object.test()
पी पी एस:
बस डबल जाँच की है कि काम कर रहे मैटलैब स्क्रिप्ट काम नहीं कर रहा है जब लागू सी # कोड से:
मैटलैब वर्ग परिभाषा:
classdef Test < handle
methods
function [c, obj] = add(obj, a, b)
c = a + b;
end
end % methods
end %classdef
मैटलैब स्क्रिप्ट:
clear;
Test = Test();
result = Test.add(1, 3);
सी # कोड:
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);