به محفل ریاضی ایرانیان خوش آمدید! لطفا برای استفاده از تمامی امکانات عضو شوید
سایت پرسش و پاسخ ریاضی
+2 امتیاز
16,345 بازدید
در دانشگاه توسط terorist (41 امتیاز)
ویرایش شده توسط Math.Al

چطور یک تابع چندضابطه‌ای در نرم‌افزار متلب Matlab تعریف کنم؟ برای $n$ ضابطه که $n$ یک عدد طبیعی است.

مثلاً:

$$ f(x)=\begin{cases}a & ; & x = 0\\ b & ; & 0< x\\ c & ; & -2< x< 0 \end{cases}$$

3 پاسخ

+3 امتیاز
توسط
ویرایش شده توسط admin

سلام

برای مثال همین تابع رو به شکل زیر می نویسیم:

function z = myfun(x,a,b,c) 
if x == 0
z = a;
elseif x > 0
z=b
elseif x<0 && x>-2
z=c;
end
+1 امتیاز
توسط
ویرایش شده توسط admin

سلام به این صورت هم می توان نوشت:

x = -1.8 : 0.5 : 10 ;

f = a*(x==0) + b * (x>0) + c*( (x<0)&(x>-2) ) ;

بازه x را فرضی گرفتم. به جای a و b و c می توان هر عدد دلخواهی قرار داد

0 امتیاز
توسط AmirHosein (18,522 امتیاز)
ویرایش شده توسط AmirHosein

چند روش بوسیلهٔ کاربرهای دیگر پیشنهاد شد. بد نیست بدانید که دستور از پیش تعریف‌شده در نرم‌افزار Matlab برای تعریف تابع چندضابطه‌ای وجود دارد (نرم‌افزار Maple نیز همین دستور را با شکل یکسان دارد). این دستور piecewise است که نامش واژهٔ انگلیسی به معنای تکه‌ای یا همان پاره‌ای است، که اشاره به این دارد که تابع تکه‌تکه تعریف شده و سپس کنار هم قرار داده‌ شده‌است. برای نوشتن تابع چندضابطه‌ای شما این دستور به کار می‌رود. که البته من فرض کرده‌ام که $x$ را یک متغیر نمادین symbolic و $a$ و $b$ و $c$ را سه عدد که از قبل در برنامه‌تان تعریف کرده‌اید در نظر گرفته‌اید.

    syms x
    f(x)=piecewise(x<0,a,x=0,b,-2<x<0,c)

یک مزیت این روش این است که برای برخی دستورهای محاسبه‌های نمادین symbolic computation به مشکل نخواهید خورد. به هر حال یک مثال دیگر می‌توانید تابع $f(x)$ تعریف شده در پاسخ گذاشته شده در این پست را به روش زیر به Matlab بدهید و سپس رسم نمودار توان دوی مشتق سوم آن را بخواهید.

    syms x
    f(x)=piecewise(x<0,-x^3/6,x>=0,x^4/24-x^3/6);
    g(x)=diff(f(x),x,3)^2;
    X=linspace(-5,5,100);
    Y=g(X);
    plot(X,Y)
    ylabel('y-axis');
    xlabel('x-axis');
    axis([-5,5,-5,5]);
    title('Graph of y=(f^{(3)}(x))^2');
    grid on

شکل بدست‌آمده در زیر قرار داده‌شده‌است که با شکل رسم‌شده با نرم‌افزار Maple و در پست اشاره‌شده برابر است.


حمایت مالی

کانال تلگرام محفل ریاضی
امروز : تاریخ شمسی اینجا نمایش داده می‌شود
...