مرتب کردن ردیف های (Row) یک ماتریس، بر اساس مقدار یک ستون (Column) خاص، از بزرگ به کوچک (descending order)، با دستورهای sortrows و flipud ، در متلب (MATLAB)
در کلید شماره 26222 ، شرح دادیم که چگونه با استفاده از دستور sortrows در متلب (MATLAB)، ردیف های (Row) یک ماتریس را بر اساس مقدار یک ستون (Column) خاص از آن ماتریس، از کوچک به بزرگ (ascending order)، مرتب کنیم. اما ممکن است که در نظر داشته باشیم که ردیف ها بر اساس از بزرگ به کوچک بودن (descending order) مقادیر ستون (Column) انتخابی، مرتب شوند، برای این منظور، می توانیم از ترکیب دستورهای sortrows و flipud استفاده نماییم.
یعنی ابتدا با دستور sortrows ، ردیف های (Row) ماتریس را بر اساس مقدار یک ستون (Column) خاص، از کوچک به بزرگ (ascending order)، مرتب می کنیم. سپس دستور flipud را بر ماتریس حاصل شده، اجرا می کنیم و با توجه به اینکه دستور flipud ، برای جابجا کردن سطرهای یک ماتریس نسبت به سطر وسط ماتریس می باشد، بنابراین ترتیب ردیف ها از کوچک به بزرگ بودن (ascending order) به ترتیب از بزرگ به کوچک بودن (descending order) تبدیل می شود.
به مثال زیر توجه کنید :
سه خط اول کدها برای عدم تداخل برنامه فعلی با برنامه های قبلی اجرا شده در متلب (MATLAB) می باشد.
نتیجه :
با توجه به اینکه مشخص نکرده ایم که ردیف ها (Row) بر اساس مقادیر کدام ستون (Column) ماتریس، مرتب شوند، بنابراین به صورت پیش فرض، بر اساس مقادیر ستون (Column) اول ماتریس، مرتب می شوند :
این بار تعیین می کنیم که ردیف ها (Row) بر اساس مقادیر ستون (Column) شماره 2 ماتریس، مرتب شوند :