اطلاعیه

Collapse
No announcement yet.

تابع چند ضابطه ای در متلب

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    تابع چند ضابطه ای در متلب

    سلام. می خواستم بدونم چطوری میشه یک تابع چند ضابطه ای پیوسته در متلب تعریف کرد. :sad:مثلا برای کار من میخوام توبازه صفر تا 2/pi تابعم کسینوسی باشه وبقیه جاها حتما صفر باشه(نه اینکه تعریف نشده باشه). وضمنا بعدش میخوام از این تابع توی انتگرالهای مختلف استفاده کنم. ممنون میشم جوابمو هرچه زودتر بدید.
    وقتي که خدا داشت منو بدرقه مي کرد بهم گفت: جايي که ميري مردمي داره که ميشکوننت ، نکنه غصه بخوري ، من همه جا باهاتم تو تنها نيستي تو کوله بارت عشق مي ذارم که بگذري، قلب ميذارم که جا بدي ، اشک ميدم که همراهيت کنه و مرگ که بدوني برمگردي پيشم.

    #2
    پاسخ : تابع چند ضابطه ای در متلب

    یعنی واقعا هیچ کس بلد نیست؟؟؟؟؟ oo:
    وقتي که خدا داشت منو بدرقه مي کرد بهم گفت: جايي که ميري مردمي داره که ميشکوننت ، نکنه غصه بخوري ، من همه جا باهاتم تو تنها نيستي تو کوله بارت عشق مي ذارم که بگذري، قلب ميذارم که جا بدي ، اشک ميدم که همراهيت کنه و مرگ که بدوني برمگردي پيشم.

    دیدگاه


      #3
      پاسخ : تابع چند ضابطه ای در متلب

      خب باید یه رزولوشن تعریف کنی(مثلا 1000)
      بعد یه بردار زمانی با دستور linspace میسازی
      کلا توابع چند ضابطه ای رو با حلقه for و دستورات if میسازن

      دیدگاه


        #4
        پاسخ : تابع چند ضابطه ای در متلب

        ممنون که جواب دادید. راستش با if وfor امتحان کردم ولی هربار یه error بهم داد. این رزولوشن که گفته یعنی چه؟ :redface: راستش زیاد با متلب آشنایی ندارم. میتونی یه نمونه واسم بذاری؟ ممنون میشم
        وقتي که خدا داشت منو بدرقه مي کرد بهم گفت: جايي که ميري مردمي داره که ميشکوننت ، نکنه غصه بخوري ، من همه جا باهاتم تو تنها نيستي تو کوله بارت عشق مي ذارم که بگذري، قلب ميذارم که جا بدي ، اشک ميدم که همراهيت کنه و مرگ که بدوني برمگردي پيشم.

        دیدگاه


          #5
          پاسخ : تابع چند ضابطه ای در متلب

          بفرما

          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

          دیدگاه


            #6
            پاسخ : تابع چند ضابطه ای در متلب

            اون فقط یه مثال بود. باید زمانها رو طبق اون چیزی که میخوای تغییر بدی. اینو تو متلب بنویس و اخر سر U را plot کن نتیجه رو ببین.

            دیدگاه


              #7
              پاسخ : تابع چند ضابطه ای در متلب

              واقعا خیلی کمکم کردی. ازتون تشکر میکنم. تونستم توابعمو تعریف کنم اما به یه مشکل دیگه برخوردم. وقتی میخوام انرژی سیگنالمو حساب کنم یعنی همون تابع x که به توان 2برسونم و ازش انتگرال بگیرم از منفی بینهایت تا مثبت بینهایت جواب رو بهم بصورت ماتریسی میده. ولی باید یه مقدار خاص بهم بده. امیدوام بازم کمکم کنید. بازم ممنون
              وقتي که خدا داشت منو بدرقه مي کرد بهم گفت: جايي که ميري مردمي داره که ميشکوننت ، نکنه غصه بخوري ، من همه جا باهاتم تو تنها نيستي تو کوله بارت عشق مي ذارم که بگذري، قلب ميذارم که جا بدي ، اشک ميدم که همراهيت کنه و مرگ که بدوني برمگردي پيشم.

              دیدگاه


                #8
                پاسخ : تابع چند ضابطه ای در متلب

                راستی یادم رفت بگم قبل از اون برنامه t رو تعریف کنی. که فکر کنم خودت اینکار رو کردی که جواب گرفتی
                t = linspace(0,6,N)
                در مورد سوال بالا هم متاسفانه چیزی نمیدونم. تابحال انتگرال نگرفتم !
                اما حتما دوستانی هستن که کمک کنند.

                دیدگاه


                  #9
                  پاسخ : تابع چند ضابطه ای در متلب

                  سلام، من سوالتونو الان دیدم .نمی دونم برای جواب دادن دیر شده یا نه ولی به هرحال :
                  شما می تونید تابع چند ضابطه ای رو با توابع پله تعریف کنید.
                  مثلا برای تابعی که گفتید :
                  f=u(t-pi/2)cos(t
                  تو matlab باید تایپ کنید :
                  >>syms t
                  >>(heveaside(t)-heveaside(t-pi/2))*cos(t)
                  davood.shaghaghi@gmail.com

                  دیدگاه


                    #10
                    پاسخ : تابع چند ضابطه ای در متلب

                    نوشته اصلی توسط 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

                    دیدگاه


                      #11
                      پاسخ : تابع چند ضابطه ای در متلب

                      نوشته اصلی توسط 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 writex=; 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:
                      >&gtheaviside_z

                      A1 
                      =

                         
                      9


                      A2 
                      =

                        
                      22


                      A3 
                      =

                        
                      26


                      A4 
                      =

                        
                      60


                      A5 
                      =

                        
                      30


                      A6 
                      =

                        
                      15 


                      اون جوری که توی نت دیدم به نظرم این هم ناشی از تعریف این تابع باشه :







                      مصادیق اظهار محبت به همسر
                      بررسی مسائل جنسی در زندگی زناشویی(فایل صوتی)
                      ویژگی های خانواده سالم - مصادیق احترام (فایل صوتی)
                      اثر قصه گویی برای کودکان

                      دیدگاه


                        #12
                        پاسخ : تابع چند ضابطه ای در متلب

                        سلام دوستان
                        این تابع آخری که ضابطه اش را نوشتید اگر بخولهید رسم کنید از چه دستوری باید استفاده کرد همون plot اینجا هم عمل می کند؟!
                        ممنون

                        دیدگاه

                        لطفا صبر کنید...
                        X