اطلاعیه

Collapse
No announcement yet.

دستور quadl برای 2 بعد

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

    دستور quadl برای 2 بعد

    دستور quadl برای 2 بعد


    سلام

    من یک تابع 2 متغیره دارم میخوام انتگرالش را نسبت به یک متغیر حساب کنم

    ولی دسستور quadl زمانی کمک میکنه که تابع تک متغیره باشه

    باید چکار کنم ؟؟؟؟ آیا quadl حاتی هم برای 2 بعد دارد.؟؟؟؟

    انتگرالم هم با روش عادی حل نمیشه نیاز به محاسبات عددی داره ولی اگه نخواهیم با محاسبات عددی حلش کنیم مقاله دستور quadl را پیشنهاد داده است.

    #2
    پاسخ : دستور quadl برای 2 بعد

    درود

    دو بعدی اون، quad2d هست. اگه بخوای نسبت به یه متغیر انگرال بگیری ، یعنی یکی از متغیر ها ثابت هست. پس می تونی به یکی مقدار ثابت بدی و ار همون quadl استفاده کنی.

    ولی اگه منظورت انتگرال گرفتن به صورت پارامتری هست باید متغیر ها رو به صورت symbol تعریف کنی و از دستور int برای انگرال استفاده کنی.
    مثال:
    syms x y
    اتتگرال تابع sin(x)+cos(y) نسبت به x:
    int(sin(x)+cos(y),x)
    اتتگرال تابع sin(x)+cos(y) نسبت به yx:
    int(sin(x)+cos(y),y)

    جوابها:
    x*cos(y) - 2*cos(x/2)^2
    sin(y) + y*sin(x)

    اگه مقدار عددی هم می خوای می تونی بعد از انجام انتگرال به x و یا y مقدار بدی و در تابع خروجی بذاری.
    در مورد جواب اول یعنی x*cos(y) - 2*cos(x/2)^2 هم تعجب نکن. چون متلب فقط یه مقدار جواب رو پیچونده!
    مـن هیچ ندانم که مرا آن که سرشت
    از اهل بهشت کرد یا دوزخ زشت
    جامی و بتی و بربطی بر لب کشت
    اين هر سه مرا نقد و تو را نسیه بهشت

    دیدگاه


      #3
      پاسخ : دستور quadl برای 2 بعد

      با دستور int نمیشه حاصل

      عبارت زیر

      k*besseli(1, k*r)

      را نسبت به k حساب کرد؟ارور میدهد.

      میگه

      Warning: Explicit integral could not be found.
      > In sym.int at 64
      In test8 at 21

      l =

      int(k*besseli(1, k*r), k)

      دیدگاه

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