سلام. می خواستم بدونم چطوری میشه یک تابع چند ضابطه ای پیوسته در متلب تعریف کرد. :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
اون جوری که توی نت دیدم به نظرم این هم ناشی از تعریف این تابع باشه :
دیدگاه
دیدگاه