سلام
کسی منبعی راجع به کار با ماتریس های n بعدی سراغ نداره؟
من هرچی پیدا کردم فقط 2 بعدی بودن یعنی (n,n)
یا اگه ایده ای واسه طراحی classش دارین بگین
مرسی:گیج:
Printable View
سلام
کسی منبعی راجع به کار با ماتریس های n بعدی سراغ نداره؟
من هرچی پیدا کردم فقط 2 بعدی بودن یعنی (n,n)
یا اگه ایده ای واسه طراحی classش دارین بگین
مرسی:گیج:
می تونی یه کلاس به اسم ماتریکس تعریف کنی و یک تابع سازنده براش تعریف کنی که ابعاد ماتریس را بع عنوان آرگومان گرفته و برای آن حافظه از سیستم بگیره. بعد عملگرهای [] را براش اورلود کنی. بعدش تمام عملگر های محاسباتی برای ماتریس از جمله + و - و * را براش اورلود کنی در آخر تمام توابع مربوط به ماتریس ها از جمله توابع معکوس ، دترمینان ، و ... را براش بنویسی.حالا می تونی با لذت از کلاست استفاده کنی ....
به همین سادگی !!! lol
نقل قول:
نوشته شده توسط mehdik76
ممنون از جوابتون
ولی فکر می کنم IQ ما رو زیادی دست بالا گرفتین :kaf:
مثلا فرمول ضرب ماتریس سه بعدی با ضرب ماتریس دوبعدی فرق میکنه .
کدوم را باید در تابع ضرب قرار داد تا هر دو عملیات را پشتیبانی کنه؟
بنابراین لطفا "ابعاد ماتریس را به عنوان آرگومان گرفته " را بیشتر توضیح بدین....
سوالت مربوط میشه به ریاضیات
ببین دترمینان برای ماتریس n*n یک فرمول ثابت هست (الان یادم نیست) باید از یک استاد ریاضیات بپرسی!
اما درمورد ضرب که دیگه مشکلی نداره!
سطر i ماتریس A رو در ستون j ماتریس B ضرب میکنیم (نگی بلد نیستما!) که میشه عنصر (i,j) از ماتریس A*B
پس تابع دوتا ماتریس برای ورودی میگیره و با فرمول بالا شروع میکنه به ضرب کردن
فکر کن یکم - میفهمی چجوری بنویسیش!
من قبلا برای ماتریس دو بعدی همشو تو C++ نوشتم ولی برای سه بعدی نه...
در ضمن اگه به یه همچین چیزی احتیاج داری میتونم برات برنامه هایی رو معرفی کنم....
CenterSpace NMath Core 2.1
CenterSpace NMath Matrix 2.1
www.Centerspace.net
در ضمن عملگر ضرب و ... رو می تونی هم برای دو بعدی و هم برای سه بعدی اورلود کنی ... این کامپایلر هستش که تشخیص میده از کدو استفاده کردی.
اینجوری که شما میگین من فکر میکنم که مشکل برنامه نویسی نیست بلکه مشکل ریاضیاته !!!نقل قول:
نوشته شده توسط leilav_1984
از همه دوستان ممنونم
البته دوست عزیز مشکل تلفیق ریاضیات و برنامه نویسی بود :خجالت:
من قصد داشتم کلاس ماتریس رو طوری بنویسم که هر تعداد بعدی رو شامل بشه ولی وقتی از یه استاد ریاضی سوال کردم فهمیدم ممکن نیست چون با هم تفاوت بنیادی دارن :متعجب:
مثلا سه بعدی ها اصلا ضرب ندارن !!
:قهقهه:نقل قول:
ولی وقتی از یه استاد ریاضی سوال کردم فهمیدم ممکن نیست چون با هم تفاوت بنیادی دارن
مثلا سه بعدی ها اصلا ضرب ندارن !!
بیخیال استاد شو :چشمک:
به من بگو ضرب ماتریس 2*2 چجوریه تا از روشی که یاد گرفتی
ضرب ماتریس n*n رو بهت یاد بدم
(اگه پست قبلیمو بخونی شاید متوجه بشی)
یعنی شما تا الان فکر می کردین n بعدی یعنی n*n ؟!!!
این که همون آرایه Array[,] خودمونه :قهقهه: مشکلی نداره
من که چند دفعه توضیح دادم
n بعدی یعنی n به توان n
که هر عنصرش یه "چندتایی مرتب" هست