انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
ماتریس به عنوان پایگاه داده ( در متلب)

ماتریس به عنوان پایگاه داده ( در متلب)

#1
سلام
من میخوام چندتا پایگاه داده در متلب ایجاد کنم. این پایگاه ها شامل یک سری ماتریس هستند.  از مقادیر این ماتریس ها برای محاسبه استفاده میشه.
نکته ای که خیلی مهمه اینه که با توجه به یکسان بودن مقادیر سطری و ستونی دو پایگاه، محاسبات  انجام میشه و در آخر هم باید بگه که این محاسبه از چه سطری ( نام- مثلا 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]


 

 
پاسخ

ماتریس به عنوان پایگاه داده ( در متلب)

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

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

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

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

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

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

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

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

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط Bahar

ماتریس به عنوان پایگاه داده ( در متلب)

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

ماتریس به عنوان پایگاه داده ( در متلب)

#4
پیشوند ثابت و پسوند متغیر را برای نام ماتریس ها گفتم. یعنی مثلا اگر 10 تا ماتریس با ساختار مشابه داشتیم، نام های خیلی متفاوت برای آنها انتخاب نمی کنیم، بلکه اینگونه نامگذاری می کنیم :

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

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

کلید شماره 154

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

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

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط Bahar ، شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان