سلام. می خواستم بدونم چطوری میشه یک تابع چند ضابطه ای پیوسته در متلب تعریف کرد. :sad:مثلا برای کار من میخوام توبازه صفر تا 2/pi تابعم کسینوسی باشه وبقیه جاها حتما صفر باشه(نه اینکه تعریف نشده باشه). وضمنا بعدش میخوام از این تابع توی انتگرالهای مختلف استفاده کنم. ممنون میشم جوابمو هرچه زودتر بدید.
اطلاعیه
Collapse
No announcement yet.
تابع چند ضابطه ای در متلب
Collapse
X
-
پاسخ : تابع چند ضابطه ای در متلب
یعنی واقعا هیچ کس بلد نیست؟؟؟؟؟ oo:وقتي که خدا داشت منو بدرقه مي کرد بهم گفت: جايي که ميري مردمي داره که ميشکوننت ، نکنه غصه بخوري ، من همه جا باهاتم تو تنها نيستي تو کوله بارت عشق مي ذارم که بگذري، قلب ميذارم که جا بدي ، اشک ميدم که همراهيت کنه و مرگ که بدوني برمگردي پيشم.
-
پاسخ : تابع چند ضابطه ای در متلب
ممنون که جواب دادید. راستش با if وfor امتحان کردم ولی هربار یه error بهم داد. این رزولوشن که گفته یعنی چه؟ :redface: راستش زیاد با متلب آشنایی ندارم. میتونی یه نمونه واسم بذاری؟ ممنون میشموقتي که خدا داشت منو بدرقه مي کرد بهم گفت: جايي که ميري مردمي داره که ميشکوننت ، نکنه غصه بخوري ، من همه جا باهاتم تو تنها نيستي تو کوله بارت عشق مي ذارم که بگذري، قلب ميذارم که جا بدي ، اشک ميدم که همراهيت کنه و مرگ که بدوني برمگردي پيشم.
دیدگاه
-
پاسخ : تابع چند ضابطه ای در متلب
بفرما
for k=1:N
if ((t(k)>0) && (t(k)<1))
U(k) = 0.5;
elseif ((t(k)>1) && (t(k)<2))
U(k)= sin(2*pi*t(k))+(0.5);
elseif ((t(k)>2) && (t(k)<3))
U(k) = 0.5;
elseif ((t(k)>3) && (t(k)<4))
U(k) = (-0.5);
else
U(k) = 0;
end
end
N رو هر چی بیشتر بگیری خب شکل بهتری بدست میاری
مثلا 600 یا 1000
دیدگاه
-
پاسخ : تابع چند ضابطه ای در متلب
واقعا خیلی کمکم کردی. ازتون تشکر میکنم. تونستم توابعمو تعریف کنم اما به یه مشکل دیگه برخوردم. وقتی میخوام انرژی سیگنالمو حساب کنم یعنی همون تابع x که به توان 2برسونم و ازش انتگرال بگیرم از منفی بینهایت تا مثبت بینهایت جواب رو بهم بصورت ماتریسی میده. ولی باید یه مقدار خاص بهم بده. امیدوام بازم کمکم کنید. بازم ممنونوقتي که خدا داشت منو بدرقه مي کرد بهم گفت: جايي که ميري مردمي داره که ميشکوننت ، نکنه غصه بخوري ، من همه جا باهاتم تو تنها نيستي تو کوله بارت عشق مي ذارم که بگذري، قلب ميذارم که جا بدي ، اشک ميدم که همراهيت کنه و مرگ که بدوني برمگردي پيشم.
دیدگاه
-
پاسخ : تابع چند ضابطه ای در متلب
سلام، من سوالتونو الان دیدم .نمی دونم برای جواب دادن دیر شده یا نه ولی به هرحال :
شما می تونید تابع چند ضابطه ای رو با توابع پله تعریف کنید.
مثلا برای تابعی که گفتید :
f=u(t-pi/2)cos(t
تو matlab باید تایپ کنید :
>>syms t>>(heveaside(t)-heveaside(t-pi/2))*cos(t)davood.shaghaghi@gmail.com
دیدگاه
-
پاسخ : تابع چند ضابطه ای در متلب
نوشته اصلی توسط davood shaghaghiسلام، من سوالتونو الان دیدم .نمی دونم برای جواب دادن دیر شده یا نه ولی به هرحال :
شما می تونید تابع چند ضابطه ای رو با توابع پله تعریف کنید.
مثلا برای تابعی که گفتید :
f=(u(t)-u(t-pi/2))cos(t
تو matlab باید تایپ کنید :
syms t(heaviaside(t)-heaviside(t-pi/2))*cos(t)davood.shaghaghi@gmail.com
دیدگاه
-
پاسخ : تابع چند ضابطه ای در متلب
نوشته اصلی توسط davood shaghaghiسلام، من سوالتونو الان دیدم .نمی دونم برای جواب دادن دیر شده یا نه ولی به هرحال :
شما می تونید تابع چند ضابطه ای رو با توابع پله تعریف کنید.
مثلا برای تابعی که گفتید :
f=u(t-pi/2)cos(t
تو matlab باید تایپ کنید :
>>syms t>>(heveaside(t)-heveaside(t-pi/2))*cos(t)
ولی این فرم نوشتن توی اون نقاط مرزی مشکل ایجاد می کنه . بعد این که میخوام با همین توابع متلب بنویسیم وگرنه می تونم برنامه براش بنویسم . باید چی کار کرد ؟ مثلا این تابع ساد ه با روش شما :
کد PHP:syms x
f1=(x^2)*(heaviside(x)-heaviside(x-10)) ;
f2=(2*x)*(heaviside(x-10)-heaviside(x-20));
f3=(x)*(heaviside(x-20)-heaviside(x-30));
f=f1+f2+f3 ;
A1=subs(f,x,3) % or write: x=3 ; eval(f)
A2=subs(f,x,11)
A3=subs(f,x,26)
%**********************
A4=subs(f,x,10)
A5=subs(f,x,20)
A6=subs(f,x,30)
%**********************
این هم بعد از اجرا :
کد PHP:>> heaviside_z
A1 =
9
A2 =
22
A3 =
26
A4 =
60
A5 =
30
A6 =
15
اون جوری که توی نت دیدم به نظرم این هم ناشی از تعریف این تابع باشه :
دیدگاه
دیدگاه