اطلاعیه

Collapse
No announcement yet.

مشکل با حل پارامتری در matlab

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

    مشکل با حل پارامتری در matlab

    سلام بر دوستان
    من یه معادله دارم و توی اون علاوه بر یک تابع، مشتق های مرتبه اول و دومش نیز حضور دارن، میخوام حاصل این رابطه را به ازای یک پارامتری رسم کنم
    من میخوام 2 تابع پله و sgn رو در این معادله به جای تابع مورد نظر تست کنم
    مشکل اینجاست که اگر بخوام در matlab بصورت پارامتری(نه عددی) تابع پله رو بیارم و تازه ازش مشتق اول و دوم(دیراک و دوبلت) بگیرم
    دو حالت رخ میده:
    1. اصلا matlab پارامتری حل نمیکنه(البته تا جایی که من میدونم) و فقط با عددی حال میکنه
    2. چون عشقش عددیه و اصولا به جای مشتق، دیفرانسیل میگیره اگر من بنویسم step(1,1,10000) که 10001 مولفه داره
    توی محاسبه مشتقات اول و دوم به ترتیب 1 و 2 مولفه ازش کم میشه، و اینجاست که توی معادله اصلی من ضرب ماتریسی انجام شده
    matlab خطای دیمانسیون میگیره
    3. اصلا matlab دیراک رو به زور داره، برای دوبلت چه خاکی میخواد تو سرش بریزه (مثله اینکه سه حالت رخ میده :redface: )
    ممنون میشم راهنمایی بفرمایید

    #2
    پاسخ : مشکل با حل پارامتری در matlab

    سلام
    معادلت را بزا ببینیم چیه
    در ضمن کی گفته که مطلب پارامتری حل نمیکند پس دستور sym اینجا چه کارست شما با این دستور متغییر تعریف میکنی وهر معادله ای که خواستی میتونی باهاش بنویسی

    موفق باشی
    قنديل، تنديس قطره هايي است كه تسليم جاذبه زمين نشدند. "چگوآرا"

    دیدگاه


      #3
      پاسخ : مشکل با حل پارامتری در matlab

      سلام
      حق با شماست، من syms رو یادم رفته بود و اینکه پارامتری هم حل میکنه
      کد اینه
      clc
      clear
      format long
      mio = 100;
      N = 10^12;
      eps = 10^4;
      dP = 9.1;
      tou = 10^(-8);
      landa = 2*pi*(1e11);
      A = 1;
      beta = sqrt(((eps*mio)^2)+4*dP*((1/tou)+1i*abs(landa)))/4*(dP^2);
      tabe1 = step(1,1,10000);
      tabe = tabe1';
      x = 0 : .01*10^(-4) : 1000*10^(-4);
      for n = -11:-9
      t = 10^(n);
      javabe_omomi = (N/sqrt((4*pi*dP*t))* exp((-(x-(mio)*(eps)*t).^2/(4*dP*t)))* exp((-t/(tou))));
      javabe_khososi1 = (A*sin(landa*t)*dP*exp(-1i*mio*eps*x/(2*dP))/beta)*(-((eps*mio/(2*dP))^2)*sinh(beta*x)*tabe-1i*(eps*mio/(2*dP))*2*(beta*cosh(beta*x)*tabe+sinh(beta*x)*dif f(tabe,x))+((beta)^2)*sinh(beta*x)*tabe+beta*cosh( beta*x)*diff(tabe,x)+sinh(beta*x)*diff(diff(tabe,x ))+beta*cosh(beta*x)*diff(tabe,x))-(eps*mio*landa*exp(-1i*mio*eps*x/(2*dP))/beta)*sin(landa*t)*((-1i*(eps*mio/(2*dP)))*sinh(beta*x)*tabe+beta*cosh(beta*x)*tabe +sinh(beta*x)*diff(tabe,x))+(exp(-1i*mio*eps*x/(2*dP))/beta)*sinh(beta*x)*tabe*(A*sin(landa*t)/tou);
      javabe_khososi2 = (exp(-1i*mio*eps*x/(2*dP))/beta)*sinh(beta*x)*tabe*(-landa*cos(landa*t));
      p = (javabe_omomi)+(javabe_khososi1)+(javabe_khososi2) ;
      plot(x,p)
      hold on
      if n == -10
      for l = [3,6]
      t = l*(10^(n));
      javabe_omomi = (N/sqrt((4*pi*dP*t))* exp((-(x-(mio)*(eps)*t).^2/(4*dP*t)))* exp((-t/(tou))));
      javabe_khososi1 = (A*sin(landa*t)*dP*exp(-1i*mio*eps*x/(2*dP))/beta)*(-((eps*mio/(2*dP))^2)*sinh(beta*x)*tabe-1i*(eps*mio/(2*dP))*2*(beta*cosh(beta*x)*tabe+sinh(beta*x)*dif f(tabe,x))+((beta)^2)*sinh(beta*x)*tabe+beta*cosh( beta*x)*diff(tabe,x)+sinh(beta*x)*diff(diff(tabe,x ))+beta*cosh(beta*x)*diff(tabe,x))-(eps*mio*landa*exp(-1i*mio*eps*x/(2*dP))/beta)*sin(landa*t)*((-1i*(eps*mio/(2*dP)))*sinh(beta*x)*tabe+beta*cosh(beta*x)*tabe +sinh(beta*x)*diff(tabe,x))+(exp(-1i*mio*eps*x/(2*dP))/beta)*sinh(beta*x)*tabe*(A*sin(landa*t)/tou);
      javabe_khososi2 = (exp(-1i*mio*eps*x/(2*dP))/beta)*sinh(beta*x)*tabe*(-landa*cos(landa*t));
      p = (javabe_omomi)+(javabe_khososi1)+(javabe_khososi2) ;
      plot(x,p)
      hold on
      end
      end
      end
      فکر کنم مشکل *. و /. نداشته باشم
      مرسی

      دیدگاه


        #4
        پاسخ : مشکل با حل پارامتری در matlab

        دوستان کسی نبود
        :angry:

        دیدگاه


          #5
          پاسخ : مشکل با حل پارامتری در matlab

          مشکل برنامت را واضح تر میگی من درست متوجه نشدم مشکل از کجاست.
          توی نوشتن تابع مشکل داری؟ یا چیز دیگه.... :question:
          :job:
          قنديل، تنديس قطره هايي است كه تسليم جاذبه زمين نشدند. "چگوآرا"

          دیدگاه


            #6
            پاسخ : مشکل با حل پارامتری در matlab

            فعلا میخوام تابع پله رو بصورت پارامتری تعریف کنم و هم مشتق مرتبه اول و هم مشتق مرتبه دوم اون رو حساب کنم(بصورت دستور بنویسم)
            اگر پارامتری احیانا نمیشه، عددی هم باشه مشکلی نیست

            دیدگاه

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