عملگر دونقطه و تابع linspace در متلب
همانند مثال های قبلی، اگر مقادیر درون بردارها به طور منظم از یکدیگر فاصله داشته باشند(یعنی یک تصاعد حسابی را تشکیل دهند) می توان از عملگر دونقطه کمک گرفت تا بتوان این اعداد را به سادگی تولید نمود. بعنوان مثال، اگر در متلب بنویسیم 2:6 تمامی اعداد از 2 تا 6 تولید شده و شامل می شوند. به مثال زیر توجه کنید:
در بردار بالا، 5 درایه وجود دارند. این بردار یک بردار \(1\times 5\) سطری است. توجه کنید که در این مورد خاص، برای تعریف این بردار، نیازی به استفاده از براکت ها([]) نمی باشد.
با استفاده از عملگر دونقطه، می توان یگ گام(قدر نسبت) را تعریف نمود. برای انجام این کار باید با استفاده از یک علامت دونقطه ی دیگر، محدوده را مشخص نمود به طوری که گام(قدرنسبت) در وسط قرار بگیرد. به مثال زیر توجه کنید:
سوال سریع!
در صورتی که هنگام تولید اعداد با استفاده از یک گام، آخرین عدد تولید شده فراتر از عدد پایانی رود، چه اتفاقی رخ خواهد داد؟ مثلاً داریم، 1:2:6
پاسخ:
این بردار، اعداد 1 و 3 و 5 را تولید می کند، اما اگر 2 را به 5 اضافه کنیم از 6 فراتر می رود بنابراین بردار ما شامل عدد 7 نخواهد شد. خروجی برابر خواهد بود با: 5 3 1
سوال سریع!
چگونه می توان با استفاده از علامت دونقطه، بردار نشان داده شده در زیر را تولید کرد:
1 3 5 7 9
پاسخ:
با استفاده از \(9:-2:1\)
قدر نسبت(گام) ما می تواند یک مقدار منفی نیز باشد. بنابراین سری ما بصورت نزولی تولید شده است(از بیشترین به کمترین).
با استفاده از تابع linspace می توان یک بردار با فاصله ی خطی(با فاصله مساوی یا بصورت تصاعدحسابی) را ایجاد نمود. دستور \(linspace(x,y,n)\) یک بردار با n مقدار را ایجاد می کند که بطور شامل، در محدوده ی x تا y باشد. در صورتی که n نادیده گرفته شود(تعیین نشود)، به طور پیش فرض 100 عدد تولید می شوند. در مثال زیر، یک بردار با 5 مقدار با فاصله ی خطی و در محدوده ی 3 تا 15 تولید می شوند به طوری که شامل خود اعداد 3 و 15 نیز هستند:
به طریقی مشابه، تابع logspace، یک بردار با فاصله ی لگاریتمی را ایجاد می کند.
بعنوان مثال، دستور \(logspace(x,y,n)\) یک بردار با n مقدار، از \({ 10 }^{ x }\) تا \({ 10 }^{ y }\) بطوری که شامل اعداد اول و آخر محدوده نیز باشد را، ایجاد می کند. در صورتی که n نادیده گرفته شود، به طور پیش فرض عدد 50 برای آن تنظیم خواهد شد.
مثلا اگر دستور \(logspace(1,4,4)\) را وارد کنیم، یک بردار با 4 عنصر ایجاد می شود که با فاصله ی لگاریتمی، در محدوده ی \({ 10 }^{ 1 }\) تا \({ 10 }^{ 4 }\) قرار دارند. یا به عبارت دیگر اعداد \({ 10 }^{ 1 }\) و \({ 10 }^{ 2 }\) و \({ 10 }^{ 3 }\) و \({ 10 }^{ 4 }\) تولید می شوند. به مثال زیر توجه کنید:
همچنین با استفاده از متغیرها می توان بردارهای متغیر را نیز ایجاد نمود. بعنوان مثال با استفاده از بردارهای nv و ls می توان یک بردار را ایجاد کرد به طوری که در ابتدای آن از تمام مقادیر متغیر nv و در ادامه ی آن از تمام مقادیر متغیر ls استفاده شده باشد:
به این روش، که در آن دو بردار را با یکدیگر ترکیب کردیم، و یک بردار جدید را ایجاد کردیم، الحاق بردارها(concatenating) گفته می شود.
- نوشته شده توسط احسان عباسی
- بازدید: 13930