loading...

ماشين حساب

خريد ماشين حساب

بازدید : 434
11 زمان : 1399:2

ماشين حساب مي توان با دو دستور solve يا fzero ، معادلات شامل متغيرها را حل نمود.
دستور solve :
دستور solve در متلب، براي حل معادلات چندجمله اي به كار مي رود.
مثال
solve('x^2-2*x-4=0')نتيجه :
ans = 5^(1/2) + 1 1 – 5^(1/2)دقت شود كه معادله بايد بين علامت ' قرار بگيرد. دو پاسخ معادله در خروجي نمايش داده شده است. دو پاسخ معادله، پاسخ هاي دقيق معادله مي باشند و چنانچه بخواهيم آنها را به صورت عددي ببينيم بايد دستور double(ans) و يا vpa(ans) را اجرا كنيم. به عنوان مثال با دستور double داريم :

A=solve('x^2-2*x-4=0')B=double(A)نتيجه :
A = 5^(1/2) + 1 1 - 5^(1/2) B = 3.2361 -1.2361و با دستور vpa داريم :

A=solve('x^2-2*x-4=0')B=vpa(A)نتيجه :
A = 5^(1/2) + 1 1 - 5^(1/2) B = 3.2360679774997896964091736687313 -1.2360679774997896964091736687313دستور solve همچنين قادر است كه معادلات شامل دو متغير را حل نمايد :
مثال
solve('2*x-log(y)=1','y')نتيجه :
ans = exp(2*x - 1)دقت شود چون مي خواهيم متغير y را بر حسب x به دست آوريم، بايد عبارت 'y' را پس از معادله بنويسيم .
مثالچنانچه دو معادله بر حسب x و y داشته باشيم، آنگاه مي توان مقادير دو متغير x و y را به دست آورد :

[x,y]=solve('x^2-y=2','y-2*x=5')نتيجه :
x = 2*2^(1/2) + 1 1 - 2*2^(1/2) y = 4*2^(1/2) + 7 7 - 4*2^(1/2)اين دو معادله داراي دو سري پاسخ است، پاسخ سري اول x(1) و y(1) و پاسخ سري دوم x(2) و y(2) مي باشد. چنانچه پاسخ اول مورد نظر ما باشد، مي نويسيم :

x1=x(1)y1=y(1)نتيجه :
x1 = 2*2^(1/2) + 1 y1 = 4*2^(1/2) + 7دقت شود كه در كد قبل، پاسخ دو معادله را به بردار [x,y] نسبت داديم و پاسخ ها در خروجي نمايش داده شدند. چنانچه پاسخ دو معادله را به بردار [x,y] نسبت ندهيم، آنگاه پاسخ ها در خروجي نمايش داده نمي شوند :

solution=solve('x^2-y=2','y-2*x=5')نتيجه :
solution = x: [2x1 sym] y: [2x1 sym]براي ديدن مقادير بردارهاي x و y ، كافي است كه دستورات solution.x و solution.y را اجرا كنيد :

x=solution.xy=solution.yنتيجه :
x = 2*2^(1/2) + 1 1 - 2*2^(1/2) y = 4*2^(1/2) + 7 7 - 4*2^(1/2)پاسخ سري اول solution.x(1) و solution.y(1) و پاسخ سري دوم solution.x(2) و solution.y(2) مي باشد. چنانچه پاسخ اول مورد نظر ما باشد مي نويسيم :

x1=solution.x(1)y1=solution.y(1)نتيجه :
x1 = 2*2^(1/2) + 1 y1 = 4*2^(1/2) + 7برخي معادلات نمي توانند به صورت سمبليك حل شوند و در اينگونه موارد دستور solve سعي مي كند كه يك حل عددي را بيابد. به مثال زير توجه كنيد :
مثال
solve('sin(x)=2-x')نتيجه :
ans = 1.1060601577062719106167372970301در بعضي موارد، معادله بيش از يك پاسخ دارد و دستور solve پاسخي را برمي گرداند كه مد نظر ما نبوده است. به عنوان مثال :
مثال
solve('exp(-x)=sin(x)')نتيجه :
ans = 0.5885327439818610774324520457029به شكل زير توجه كنيد :
حل معادلات در متلببا توجه به شكل بالا، پاسخ ديگري مد نظر ما بوده است كه حدود x=3 مي باشد. چنانچه بخواهيم اين پاسخ را به دست آوريم بايد از دستور fzero در متلب استفاده كنيم كه در ادامه در مورد آن توضيح خواهيم داد.
دستور fzero :همان مثال قبل را اين بار با fzero حل مي كنيم و براي دستور fzero مشخص مي كنيم كه پاسخ نزديك x=3 را بيابد :
مثال
fzero(inline('exp(-x)-sin(x)'),3)نتيجه :
ans = 3.0964بنابراين دستور fzero دقيقا همان پاسخ مد نظر ما كه نزديك x=3 مي باشد را برگرداند. دقت شود كه در تعريف معادله، از علامت = استفاده نكرديم و دستور به طور خودكار، عبارت درون دو علامت ' را برابر صفر قرار مي دهد.

ماشين حساب مي توان با دو دستور solve يا fzero ، معادلات شامل متغيرها را حل نمود.
دستور solve :
دستور solve در متلب، براي حل معادلات چندجمله اي به كار مي رود.
مثال
solve('x^2-2*x-4=0')نتيجه :
ans = 5^(1/2) + 1 1 – 5^(1/2)دقت شود كه معادله بايد بين علامت ' قرار بگيرد. دو پاسخ معادله در خروجي نمايش داده شده است. دو پاسخ معادله، پاسخ هاي دقيق معادله مي باشند و چنانچه بخواهيم آنها را به صورت عددي ببينيم بايد دستور double(ans) و يا vpa(ans) را اجرا كنيم. به عنوان مثال با دستور double داريم :

A=solve('x^2-2*x-4=0')B=double(A)نتيجه :
A = 5^(1/2) + 1 1 - 5^(1/2) B = 3.2361 -1.2361و با دستور vpa داريم :

A=solve('x^2-2*x-4=0')B=vpa(A)نتيجه :
A = 5^(1/2) + 1 1 - 5^(1/2) B = 3.2360679774997896964091736687313 -1.2360679774997896964091736687313دستور solve همچنين قادر است كه معادلات شامل دو متغير را حل نمايد :
مثال
solve('2*x-log(y)=1','y')نتيجه :
ans = exp(2*x - 1)دقت شود چون مي خواهيم متغير y را بر حسب x به دست آوريم، بايد عبارت 'y' را پس از معادله بنويسيم .
مثالچنانچه دو معادله بر حسب x و y داشته باشيم، آنگاه مي توان مقادير دو متغير x و y را به دست آورد :

[x,y]=solve('x^2-y=2','y-2*x=5')نتيجه :
x = 2*2^(1/2) + 1 1 - 2*2^(1/2) y = 4*2^(1/2) + 7 7 - 4*2^(1/2)اين دو معادله داراي دو سري پاسخ است، پاسخ سري اول x(1) و y(1) و پاسخ سري دوم x(2) و y(2) مي باشد. چنانچه پاسخ اول مورد نظر ما باشد، مي نويسيم :

x1=x(1)y1=y(1)نتيجه :
x1 = 2*2^(1/2) + 1 y1 = 4*2^(1/2) + 7دقت شود كه در كد قبل، پاسخ دو معادله را به بردار [x,y] نسبت داديم و پاسخ ها در خروجي نمايش داده شدند. چنانچه پاسخ دو معادله را به بردار [x,y] نسبت ندهيم، آنگاه پاسخ ها در خروجي نمايش داده نمي شوند :

solution=solve('x^2-y=2','y-2*x=5')نتيجه :
solution = x: [2x1 sym] y: [2x1 sym]براي ديدن مقادير بردارهاي x و y ، كافي است كه دستورات solution.x و solution.y را اجرا كنيد :

x=solution.xy=solution.yنتيجه :
x = 2*2^(1/2) + 1 1 - 2*2^(1/2) y = 4*2^(1/2) + 7 7 - 4*2^(1/2)پاسخ سري اول solution.x(1) و solution.y(1) و پاسخ سري دوم solution.x(2) و solution.y(2) مي باشد. چنانچه پاسخ اول مورد نظر ما باشد مي نويسيم :

x1=solution.x(1)y1=solution.y(1)نتيجه :
x1 = 2*2^(1/2) + 1 y1 = 4*2^(1/2) + 7برخي معادلات نمي توانند به صورت سمبليك حل شوند و در اينگونه موارد دستور solve سعي مي كند كه يك حل عددي را بيابد. به مثال زير توجه كنيد :
مثال
solve('sin(x)=2-x')نتيجه :
ans = 1.1060601577062719106167372970301در بعضي موارد، معادله بيش از يك پاسخ دارد و دستور solve پاسخي را برمي گرداند كه مد نظر ما نبوده است. به عنوان مثال :
مثال
solve('exp(-x)=sin(x)')نتيجه :
ans = 0.5885327439818610774324520457029به شكل زير توجه كنيد :
حل معادلات در متلببا توجه به شكل بالا، پاسخ ديگري مد نظر ما بوده است كه حدود x=3 مي باشد. چنانچه بخواهيم اين پاسخ را به دست آوريم بايد از دستور fzero در متلب استفاده كنيم كه در ادامه در مورد آن توضيح خواهيم داد.
دستور fzero :همان مثال قبل را اين بار با fzero حل مي كنيم و براي دستور fzero مشخص مي كنيم كه پاسخ نزديك x=3 را بيابد :
مثال
fzero(inline('exp(-x)-sin(x)'),3)نتيجه :
ans = 3.0964بنابراين دستور fzero دقيقا همان پاسخ مد نظر ما كه نزديك x=3 مي باشد را برگرداند. دقت شود كه در تعريف معادله، از علامت = استفاده نكرديم و دستور به طور خودكار، عبارت درون دو علامت ' را برابر صفر قرار مي دهد.

نظرات این مطلب

تعداد صفحات : 58

درباره ما
موضوعات
آمار سایت
  • کل مطالب : 584
  • کل نظرات : 0
  • افراد آنلاین : 1
  • تعداد اعضا : 0
  • بازدید امروز : 201
  • بازدید کننده امروز : 1
  • باردید دیروز : 177
  • بازدید کننده دیروز : 0
  • گوگل امروز : 10
  • گوگل دیروز : 2
  • بازدید هفته : 724
  • بازدید ماه : 2315
  • بازدید سال : 4022
  • بازدید کلی : 211040
  • <
    پیوندهای روزانه
    آرشیو
    اطلاعات کاربری
    نام کاربری :
    رمز عبور :
  • فراموشی رمز عبور؟
  • خبر نامه


    معرفی وبلاگ به یک دوست


    ایمیل شما :

    ایمیل دوست شما :



    کدهای اختصاصی