PDA

View Full Version : سوال: انجام عملیات ماتریسی در C#



ali_invention
جمعه 04 فروردین 1391, 17:54 عصر
سلام دوستان
کسی کتابخانه ی کلاسی رو میتونه به من معرفی کنه که من با اون بتونم اعمالی نظیر ماتریس معکوس رو انجام بدم؟
توی سایت کد پروژه یکی بود ولی ماتریس معکوس رو اشتباه حساب میکنه. کارم فوریه ممنون میشم سریع راهنمایی بفرمایید.
سپاس

C#.net
جمعه 04 فروردین 1391, 18:19 عصر
Math.NET Iridium

[/URL][URL]http://www.mathdotnet.com/doc/%28X%281%29S%28rbolxp2zit5dzfn2prqboaey%29%29/IridiumFeatures.ashx (http://www.mathdotnet.com/doc/%28X%281%29S%28rbolxp2zit5dzfn2prqboaey%29%29/IridiumFeatures.ashx)

ali_invention
جمعه 04 فروردین 1391, 18:44 عصر
اینی که محبت کردید و لینکش رو گذاشتید رو چجوری بهش ارجاع بدم؟ با dll؟
میشه مراحل کار رو برام توضیح بدید؟ من توی C# تازه کارم. بی نهایت ممنون.

C#.net
جمعه 04 فروردین 1391, 19:21 عصر
بسیار خوب
1- فایل زیر رو که محتوی source و helpو باینری های لازم هست رو دانلود کنید:
http://www.mathdotnet.com/downloads/GetFile.aspx?File=Releases/MathNet.Iridium-2008.8.16.470.zip
2- یه پروژه کنسول ایجاد کنید و رفرنس MathNet.Iridium.dll رو اضافه کنید

3- کد های زیر رو در main بنویسید




double[,] arr = new double[,]{{1,2},{3,4}};
Matrix a = Matrix.Create(arr);
Matrix aI = a.Inverse();
double[,] arrI = aI.CopyToArray();

Console.WriteLine(a.ToString());
Console.WriteLine(aI.ToString());

Console.Read();




خروجی به صورت زیر خواهد بود



[[1,2]
[3,4]]

[[-2,1]
[1.5,-0.5]]

ali_invention
جمعه 04 فروردین 1391, 20:08 عصر
دوست خوبم از اینکه با دقت به سوالم جواب دادید ممنونم. این کتابخانه دستوری برای ماتریس معکوس دارد؟

C#.net
جمعه 04 فروردین 1391, 20:49 عصر
خواهش می کنم، همین مثال فوق چگونگی تبدیل یک آرایه به ماتریس و ایجاد ماتریس معکوس (Inverse) و تبدیل ماتریس حاصل به آرایه رو نشون می ده.
در کل chm help همراه لایبراری راهنمای بسیار خوبی هست، اطلاعات ماتریس در بخش MathNet.Numerics.LinearAlgebra در دسترس خواهد بود