کلیدستان

نسخه‌ی کامل: ماتریس به عنوان پایگاه داده ( در متلب)
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام
من میخوام چندتا پایگاه داده در متلب ایجاد کنم. این پایگاه ها شامل یک سری ماتریس هستند.  از مقادیر این ماتریس ها برای محاسبه استفاده میشه.
نکته ای که خیلی مهمه اینه که با توجه به یکسان بودن مقادیر سطری و ستونی دو پایگاه، محاسبات  انجام میشه و در آخر هم باید بگه که این محاسبه از چه سطری ( نام- مثلا a1b1 ) استخراج شده. چجوری میشه این شرط رو اعمال کرد؟
بخاطر ماهیت مسئله فکر کردم که از پایگاه داده استفاده کنم. البته شاید راه بهتری هم باشه که به ذهنم نرسید!!!!
نمونه ماتریس (  یک پایگاه کوچیک )در ادامه گذاشتم:

1و2و3و4 نام هرکدوم از ستون هاست( مثلا اگر مقدار ستون 3 در پایگاه داده اول برابر با ستون 3 در یک پایگاه داده دیگر باشد، آنگاه فرمول ها را محاسبه کن)[table][tr][td]4[/td][td]3[/td][td]2[/td][td]1[/td][td] [/td][/tr][tr][td]10[/td][td]3.3[/td][td]1400[/td][td]58[/td][td]a1b1[/td][/tr][tr][td]25[/td][td]3.3[/td][td]2500[/td][td]59[/td][td]a1b2[/td][/tr][tr][td]35[/td][td]3.0[/td][td]2000[/td][td]30[/td][td]c1b1[/td][/tr][tr][td]15[/td][td]3.3[/td][td]1500[/td][td]20[/td][td]c1b2[/td][/tr][/table]


 

 
سلام.
چند راه به ذهن بنده میرسه :

1- همین جدولی که ذکر کردید را در یک ماتریس قرار می دهیم (یا اگر خیلی بزرگ بود و محدودیت ها اجازه نمی داد، می توان آنها را در فایل ذخیره کرد). اگر خیلی بزرگ بود و نیاز به ذخیره در فایل داشتید، توصیه می کنم موضوع زیر را بخوانید :

http://www.kelidestan.com/forum/showthread.php?tid=4070

بعد دستورات فراخوانی برای نام ستون ها و ردیف ها به این صورت می باشند که ابتدا نام آنها را از اولین ستون و اولین ردیف فراخوانی کرده و بعد بر اساس شرط ها، عملیات را شروع می کنیم.
اگر تعداد ماتریس ها زیاد است، قواعدی را برای آنها در نظر بگیرید. مثلا پیشوند ثابت و پسوند عددی متغیر.

2- همان روش قبلی و تنها این بار، نام ستون ها و ردیف ها را در ماتریس (یا فایل) اصلی ذکر نمی کنیم و آنها را در دو بردار جداگانه قرار می دهیم و سپس نام ها را از آن بردارها فراخوانی می کنیم.

3- نرم افزار متلب قابلیت ارتباط با پایگاه های داده رایج مثل MySQL (که مثلا بنده در زمینه طراحی سایت با آن کار کرده ام) را دارد. به عنوان مثال، لینک زیر را ببینید :

http://www.courant.nyu.edu/~almgren/mysql/

اما اگر تاکنون تجربه ای در زمینه آن نداشته اید، مدتی طول می کشد تا کار با آن را یاد بگیرید.

سلام
ممنونم، پیشوند ثابت و پسوند متغیر برای عنوان سطرها و ستونها یا مقادیرشون؛ بعدش برای محاسبات مشکل بوجود نمیاد؟
ماتریسم در ابعاد شصت در ده 10* 60 ( متغیر در همین محدوده ) هست. مشابه جدولی که ذکر شد میخوام برای هر ستون یه سری مقادیر مشخص تولید کنم. اما نمیدونم چجوری این کار رو برای تک تک ستون ها انجام بدم که بهینه باشه؟
پیشوند ثابت و پسوند متغیر را برای نام ماتریس ها گفتم. یعنی مثلا اگر 10 تا ماتریس با ساختار مشابه داشتیم، نام های خیلی متفاوت برای آنها انتخاب نمی کنیم، بلکه اینگونه نامگذاری می کنیم :

کد پی‌اچ‌پی:
AB_1
AB_2
AB_3
.
.
.
AB_10 

حالا اگر قرار است یک پردازش مشابه روی این 10 ماتریس با نام مشابه (تنها متفاوت در پسوند) اجرا کنیم، پردازش را در حلقه for اجرا می کنیم و هر بار، تنها پسوند عددی را مطابق گام حلقه تغییر می دهیم. البته با شیوه شرح داده شده در کلید زیر (این کلید در مورد اجرای یک متن، به صورت دستور است و به شما نشان می دهد که چگونه در دستور، پسوند عددی نام ماتریس را تغییر بدهید) :

کلید شماره 154

اگرچه ممکن است ساختار اطلاعات شما به گونه ای باشد که به آن نیاز پیدا نکنید (مثلا پردازش مشابه برای تعدادی ماتریس مشابه نداشته باشید).

با توجه به اندازه کوچک ماتریس، دردسر ذخیره سازی در فایل را هم نخواهید داشت.