هر متغیری در متلب یک آرایه است که می تواند تعداد زیادی عدد را در خود جای دهد. وقتی بخواهیم به یک المان یا درایه های آرایه دسترسی داشته باشید، از نشانی دادن استفاده می کنیم.
برای مثال مربع جادویی 4 در 4 با نام A را نظر بگیرید.
A = magic(4)
A = 4×4 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1
دو راه برای فراخوانی یک المان مشخص از آرایه وجود دارد. متداول ترین روش، مشخص نمودن سطر و ستون درایه مد نظر است. مانند:
A(4,2)
ans = 14
روش دیگری که کاربرد کمتری هم دارد؛ این است که برای فراخوانی هر درایه از یک مولفه استفاده کنید. به این صورت که شماره گذاری از اولین ستون شروع شده از بالا به پایین رفته و سپس به ترتیب در ستون های بعدی ادامه پیدا می کند.
A(8)
ans = 14
استفاده از یک مولفه برای فراخوانی یک درایه خاص از آرایه در متلب، linear indexing یا نشانی دادن خطی نام دارد. برای فهم بهتر از تفاوت دو روش معرفی شده برای نشانی آرایه ها به تصویر زیر توجه کنید.
اگر شما سعی کنید یک المان خارج از مرز سطر و ستون های تعریف شده یک متغیر را به عنوان مقدار یک متغیر دیگر ارجاع دهید (در سمت راست علامت = قرار گیرد) با خطا روبرو خواهید شد.
test = A(4,5)
Index exceeds matrix dimensions.
با این حال، در صورتی که بخواهید به یک سطر یا ستون خارج از محدوده ماتریس تعریف شده مقداری را اختصاص دهید (در سمت چپ علامت = قرار گیرد)، بدون هیچ مشکل، ابعاد ماتریس برای جایگیری درایه تازه افزایش خواهد یافت.
A(4,5) = 17
A = 4×5 16 2 3 13 0 5 11 10 8 0 9 7 6 12 0 4 14 15 1 17
برای ارجاع به چند درایه از یک آرایه، شما می توانید از عملگر دو نقطه (:) برای مشخص کردن محدوده پایان:شروع
استفاده کنید. برای مثال، لیست سه المان اول از ستون دوم ماتریس A را به صورت زیر می توان نمایش داد:
A(1:3,2)
ans = 3×1 2 11 7
علامت دو نقطه به تنهایی، بدون مقادیر شروع و پایان، تمام المان های موجود در آن بعد را نمایش خواهد داد. برای مثال، اگر بخواهیم تمام سطر سوم از ماتریس A را نمایش دهیم:
A(3,:)
ans = 1×5 9 7 6 12 0
علاوه بر این، علامت دو نقطه اجازه ایجاد یک بردار با فاصله های مساوی از مقادیر را با استفاده از قالب پایان:گام:شروع
به شما خواهد داد.
B = 0:10:100
B = 1×11 0 10 20 30 40 50 60 70 80 90 100
منبع: سایت MathWorks
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.