به دست آوردن مختصات گره های (Node) یک درخت (Tree) در شکل رسم شده آن، با دستور treelayout ، در متلب (MATLAB)
قبلا در آموزش شماره 4058 چگونگی رسم کردن یک درخت (Tree) با دستور treeplot را شرح دادیم. اما وقتی شکل مربوط به درخت (Tree) رسم می شود، ممکن است بخواهیم مختصات دقیق تک تک گره های (Node) درخت (Tree) در شکل رسم شده را داشته باشیم، تا مثلا بخواهیم در آن نقاط از شکل و یا در نزدیکی آنها متن هایی را بنویسیم و یا هر کاربرد دیگری که مد نظرمان باشد.
پس از استفاده از دستور treeplot و رسم شدن شکل مربوط به درخت (Tree)، می توانیم دستور treelayout را به کار ببریم تا مختصات گره های (Node) درخت (Tree) را به ما بدهد.
دستور treelayout را پس از دستور treeplot و به شکل زیر می نویسیم :
که در آن، nodes نام متغیری است که گره های (Node) درخت (Tree) را در آن مشخص کرده ایم ( آموزش شماره 4058 ).
به مثال زیر توجه کنید :
3 خط اول کدها، برای عدم تداخل برنامه فعلی با برنامه های قبلی اجرا شده در متلب (MATLAB) می باشد.
نتیجه :
درخت (Tree) رسم می شود :
و همچنین مختصات هر 12 نقطه موجود در شکل که مربوط به 12 گره (Node) درخت (Tree) هستند، در متغیرهای x و y ذخیره شده که آنها را در خروجی نمایش داده ایم (برای نقطه اول، مختصات X آن در اولین عنصر بردار x و مختصات Y آن در اولین عنصر بردار y ذخیره شده و برای نقطه دوم، مختصات X آن در دومین عنصر بردار x و مختصات Y آن در دومین عنصر بردار y ذخیره شده و تا نقطه دوازدهم به همین صورت) :
درخت (Tree) را با دستور treeplot رسم می کنیم و مختصات نقاط مربوط به گره های (Node) درخت (Tree) در شکل رسم شده را با دستور treelayout به دست می آوریم و سپس بر اساس مختصات آن نقاط، با استفاده از دستور text ، شماره مربوط به گره ها (Node) را در کنار آنها در شکل می نویسیم :
نتیجه :