تالار گفتمان مانشت

نسخه‌ی کامل: ذخیره ماتریس پایین مثلثی / بالا مثلثی به شیوه سطری یا ستونی
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام دوستان
یه سوال؟
ماتریس بالا مثلثی یا پایین مثلثی به دو شیوه سطری یا ستونی میشه ذخیره کرد.؟ ایا؟
فرمولاش رو کسی میدونه؟Blush در هر ۴ حال(۱= بالا مثلی سطری و ۲= بالا مثلثی ستونی و ۳= پایین مثلثی سطری و۴= بالامثلثی ستونی)

اینقد فرمول دیدم گیج شدمHuh
ممنونم از همگی
سلام بله به هر دو روش سطری و ستونی ذخیره میشه.
نیاز به حفظ کردن فرمول نیست دوست عزیز. خودتون میتونید به دست بیارید. به روابطی که میتونید برقرار کنید فکر کنید. مثلا برای ماتریس بالا مثلثی m*n که به روش سطری ذخیره میشه، از سطر اول m عنصر ذخیره میشه ، از سطر دوم m_1 عنصر و ... تا جایی که به سطر مورد نظرمون میرسیم. در هر سطرم میتونیم با رابطه j - I + 1 بفهمیم که عنصرمون چندمین عنصره غیره صفره . همه اینارو با هم جمع کنیم عدد مورد نظر بدست میاد.
باقیشونم با یه سری روابط از این دست به دست میان. حالا اگه مایل بودین فرمول های کتابی رو هم براتون مینویسم .
(30 مهر 1393 05:46 ب.ظ)nazanin_sh نوشته شده توسط: [ -> ]سلام بله به هر دو روش سطری و ستونی ذخیره میشه.
نیاز به حفظ کردن فرمول نیست دوست عزیز. خودتون میتونید به دست بیارید. به روابطی که میتونید برقرار کنید فکر کنید. مثلا برای ماتریس بالا مثلثی m*n که به روش سطری ذخیره میشه، از سطر اول m عنصر ذخیره میشه ، از سطر دوم m_1 عنصر و ... تا جایی که به سطر مورد نظرمون میرسیم. در هر سطرم میتونیم با رابطه j - I + 1 بفهمیم که عنصرمون چندمین عنصره غیره صفره . همه اینارو با هم جمع کنیم عدد مورد نظر بدست میاد.
باقیشونم با یه سری روابط از این دست به دست میان. حالا اگه مایل بودین فرمول های کتابی رو هم براتون مینویسم .

ممنونم دوست عزیز بابت توضیحاتت. ممنون میشم اگه فرمول هر چهار حالت رو برام بزاری HeartHeartHeartHeart
بهترین روش ذخیره یک ماتریس پایین مثلثی تبدیل ماتریس به یک آرایه یک بعدی است به طوری که عناصر غیرصفر ماتریس سطربه سطر در آرایه یه بعدی ذخیره شود.
اگرماتریس بالا مثلثی را در آرایه یک بعدی به صورت ستون به ستون ذخیره کنیم آن گاه برای یافتن مکان عنصر A_ij از فرمول [tex]\frac{(j-1)\cdot j}{2} i\: [/tex] برای ماتریس پاییین مثلثی به صورت سطر به سطر هم [tex]\frac{(i-1)\cdot i}{2} j[/tex] از این فرمول استفاده می کنیم .
برای ماتریس بالا مثلثی به روش ذخیره سازی سطری از فرمول [tex](i-1)(n-\frac{i}{2}) j[/tex] و برای ماتریس پایین مثلثی به روش ستونی از فرمول [tex](j-1)(n-\frac{j}{2}) i[/tex]
ببخشید من دیر جواب دادم دیگه دوستمون زحمتشو کشیدن
موفق باشید
(07 آبان 1393 07:51 ب.ظ)farahnaz نوشته شده توسط: [ -> ]بهترین روش ذخیره یک ماتریس پایین مثلثی تبدیل ماتریس به یک آرایه یک بعدی است به طوری که عناصر غیرصفر ماتریس سطربه سطر در آرایه یه بعدی ذخیره شود.
اگرماتریس بالا مثلثی را در آرایه یک بعدی به صورت ستون به ستون ذخیره کنیم آن گاه برای یافتن مکان عنصر A_ij از فرمول [tex]\frac{(j-1)\cdot j}{2} i\: [/tex] برای ماتریس پاییین مثلثی به صورت سطر به سطر هم [tex]\frac{(i-1)\cdot i}{2} j[/tex] از این فرمول استفاده می کنیم .
برای ماتریس بالا مثلثی به روش ذخیره سازی سطری از فرمول [tex](i-1)(n-\frac{i}{2}) j[/tex] و برای ماتریس پایین مثلثی به روش ستونی از فرمول [tex](j-1)(n-\frac{j}{2}) i[/tex]

(07 آبان 1393 07:51 ب.ظ)farahnaz نوشته شده توسط: [ -> ]بهترین روش ذخیره یک ماتریس پایین مثلثی تبدیل ماتریس به یک آرایه یک بعدی است به طوری که عناصر غیرصفر ماتریس سطربه سطر در آرایه یه بعدی ذخیره شود.
اگرماتریس بالا مثلثی را در آرایه یک بعدی به صورت ستون به ستون ذخیره کنیم آن گاه برای یافتن مکان عنصر A_ij از فرمول [tex]\frac{(j-1)\cdot j}{2} i\: [/tex] برای ماتریس پاییین مثلثی به صورت سطر به سطر هم [tex]\frac{(i-1)\cdot i}{2} j[/tex] از این فرمول استفاده می کنیم .
برای ماتریس بالا مثلثی به روش ذخیره سازی سطری از فرمول [tex](i-1)(n-\frac{i}{2}) j[/tex] و برای ماتریس پایین مثلثی به روش ستونی از فرمول [tex](j-1)(n-\frac{j}{2}) i[/tex]



مطمئن هستید که این فرمول ها درست هستند؟
چون که من برای ماتریس بالامثلثی و به صورت سطری هرکار کردم این فرمول جور درست در نیامد
لینک مرجع