PDA

View Full Version : مبتدی: مشکل در استفاده از توابع matlabدر c# :



zeynabfa
جمعه 06 آذر 1388, 17:17 عصر
من یک پروژه در C#‎ نوشتم که برای تکمیل اون احتیاج دارم یکی از توابع نرم افزارmatlab رو در در برنامم استفاده کنم این تابع در matlab تابع cond است که ورودیش یک ماتریس و خروجیش یک عدد است و عدد حالت ماتریس رو محاسبه می کنه برای این کار یکm-file در matlabساختم

و تابع رو به صورت زیر نوشتم :



function result=conda(a);
result=cond(a);



بعد از اون یکdllساختم و اسم اونو cona گذاشتم.و در قسمت Add Reference cدر# اضافه کردم و بعد از اضافه کردن بعضی از مطالبی که در اینترنت خونده بودم این قسمت در برنامه من به شکل زیر است:
------------------------------------------------------------------------------
قسمت Reference :
cona.dll
Interop.MLApp.dll
MathWorks, .NET MWAr...
MathWorks: Alphanumer...
MathWorks: Angular Ga...
MathWorks: LED by GMS
MathWorks: Slider by GMS
Matlab Application(Vers...
------------------------------------------------------------------
در C#‎ کد زیر را نوشتم :



;usingSystem


;using System.Collections.Generic


;using System.Linq



;using cona



;using MLApp



;using System.Text



namespace test
}


classProgram
}
staticvoid Main(string[] args)
}
;double[,] a
;int m1 = 100
int n = 100
(++for (int i1 = 0; i1 < m1; i1
(++for (int j1 = 0; j1 < n; j1
;a[i1, j1] = i1 + j1;
;()cona.conaclass c1 = new cona.conaclass
;(double b = c1.conda(a
{
{
{


در اینجا ماتریس a ازمایشی است بعد از اجرا کردن برنامه با خطاهای زیر مواجه شدم :
----------------------------------------------------------


Error 1 Assembly 'cona, Version=0.0.3611.10934, Culture=neutral, PublicKeyToken=null' uses 'MWArray, Version=2.0.0.0, Culture=neutral, PublicKeyToken=e1d84a0da19db86f' which has a higher version than referenced assembly 'MWArray, Version=1.3.0.0, Culture=neutral, PublicKeyToken=e1d84a0da19db86f'


----------------------------------------------------------


Error 2 The best overloaded method match for 'cona.conaclass.conda(MathWorks.MATLAB.NET.Arrays. MWArray)' has some invalid arguments


-------------------------------------------------------


Error 3 Argument '1': cannot convert from 'double[*,*]' to 'MathWorks.MATLAB.NET.Arrays.MWArray'


-------------------------------------------------------------------------------------------


واقعا نمی دونم چکار کنم :گیج:من یک تازه کارهستم و زیاد باC#‎ اشنایی ندارم :افسرده:و باید جواب سئوالم رو پیدا کنم چون خیلی بهش احتیاج دارم خواهش می کنم اگه کسی بلد هست بهم کمک کنه .

fjm11100
یک شنبه 08 آذر 1388, 10:42 صبح
You are referencing a type that has a higher version number than the version number in a referenced assembly.
یعنی اون رفرنسهایی که اضافه کردی ورژنش با رفرنسی که MWArray یکی نیس

zeynabfa
یک شنبه 08 آذر 1388, 13:12 عصر
سلام از جوابی که دادید ممنونم حالا باید چکار کنم؟ ار چه ورژنی برای برنامه هام استفاده کنم؟