linspace در متلب
دستور linspace یکی از توابع پایهای در انجام پروژه متلب است که برای تقسیم یک بازه خاص به فواصل مختلف استفاده میشود یا برای تولید بردارهایی با مقادیر یکنواخت در یک بازه مشخص استفاده میشود. نرم افزار متلب یک محیط محاسبات عددی و زبان برنامهنویسی است که به طور گسترده برای تحلیل دادهها، محاسبات عددی، و شبیهسازی استفاده میشود. در شبیهسازیها و تحلیلهای عددی و در روشهای محاسبات عددی مانند انتگرالگیری و مشتقگیری برای تولید دادههای یکنواخت کاربرد دارد. برای دادههای بزرگ، استفاده بهینه از linspace میتواند به کاهش مصرف حافظه کمک کند و توصیه میشود که تعداد نقاط را به حداقل مورد نیاز تنظیم کنید. در شبیهسازیهای پیچیده، linspace میتواند برای تولید نقاط مورد نیاز در دامنههای مختلف به کار رود. ساختار دستور linspace مطابق جدول زیر است:
n | b | a | دستور |
تعداد نقاط فاصله بندی | نقطه پایان | نقطه شروع | y = linspace(a, b, n) |
مثال1- ساختار دستور linspace
clc; clear; close all
y = linspace(1, 5, 10)
disp(y)
خروجی:
1.0000 1.4444 1.8889 2.3333 2.7778 3.2222 3.6667 4.1111 4.5556 5.0000
توضیح: فاصله بین اعداد یک تا 5 به 10 قسمت مساوی تقسیم شده است.
مثال 2:
clc; clear; close all
y = linspace(-1, 1, 5);
disp(y);
خروجی:
-1.0000 -0.5000 0 0.5000 1.0000
توضیح: تولید 5 عدد یکنواخت بین -1 و 1
مثال3- تولید دادههای یکنواخت برای شبیهسازیها و تحلیلهای عددی
clc; clear; close all
x = linspace(0, 2*pi, 100);
y = sin(x);
plot(x, y);
xlabel(‘x’);
ylabel(‘sin(x)’);
خروجی:
توضیح: تولید دادههای یکنواخت برای رسم نمودار تابع سینوسی استفاده شده است. فاصله بین اعداد صفر تا 2pi به 100 قسمت مساوی تقسیم شده است و سپس به عنوان ورودی به تابع sin داده شده است.
مثال4: مقایسه دستورcolon (:) وlinspace
clc; clear; close all
x1 = 0:0.1:2*pi;
x2 = linspace(0, 2*pi, 63);
توضیح: دستور colon برای تولید بردارهای با گام ثابت استفاده میشود و معمولاً برای تولید دادههای یکنواخت به کار میرود. دستورcolon برای گامهای ثابت مناسب است، اما تعداد نقاط را به طور مستقیم نمیتوان کنترل کرد ولی در دستورlinspace، امکان کنترل تعداد دقیق نقاط را فراهم میکند. در تابع linspace تعداد نقاط فاصله بندی (n) مهم است ولی در روش استفاده از colon (:) قدمهای نقاط (0.1) مشخص است. لذا در همسان سازی تعداد سطر یا ستون یک بردار تابع linspace دستور ساده و بیدردسری است.
مثال5: logspace برای تولید مقادیر یکنواخت در مقیاس لگاریتمی
clc; clear; close all
x = logspace(1, 3, 5);
disp(x);
خروجی:
1.0e+03 *
0.0100 0.0316 0.1000 0.3162 1.0000
توضیح: دستورlogspace برای تولید بردارهایی با مقادیر یکنواخت در مقیاس لگاریتمی استفاده میشود. تولید پنج عدد یا بردار لگاریتمی بین 10^1 و 10^3 در این مثال انجام شده است. دستور logspace برای مقیاسهای لگاریتمی طراحی شده است، در حالی که linspace برای مقیاسهای خطی استفاده میشود.
مثال6- رسم نمودار سهبعدی
clc; clear; close all
[X, Y] = meshgrid(linspace(-5, 5, 20), linspace(-5, 5, 20));
Z = sin(sqrt(X.^2 + Y.^2));
surf(X, Y, Z);
خروجی:
مثال 7: کاربرد در محاسبه انتگرال
clc; clear; close all
x = linspace(0, 1, 100);
f = x.^2;
dx = x(2) – x(1);
integral = sum(f * dx);
disp(integral);
خروجی:
0.3384
توضیح:
در بسیاری از الگوریتمهای عددی، نیاز به دادههای یکنواخت وجود دارد. برای مثال، در روشهای عددی مانند انتگرالگیری، linspace میتواند به تولید نقاط گسسته کمک کند. در این مثال، محاسبه انتگرال تابع f(x) = x^2 در بازه [0, 1] با استفاده از روش مستطیل انجام شده است
مثال 8- حل معادلات دیفرانسیل
clc; clear; close all
t = linspace(0, 5, 100);
y = exp(-2*t);
plot(t, y);
xlabel(‘t’);
ylabel(‘y’);
خروجی:
توضیح: دستور linspace برای تولید نقاط مورد نیاز برای حل معادلات دیفرانسیل با استفاده از متدهای عددی مانند روش اویلر بسیار مفید است. حل معادله دیفرانسیل dy/dt = -2y با شرایط اولیهy(0) = 1 در این مثال مدنظر بوده است.


