کلیدستان

نسخه‌ی کامل: نوشتن معادله برحسب متغیر مورد نظر، در متلب
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام
معادله ای مثل معادله زیر ، باچه دستوری از متلب میشه برحسب متغیر دیگر نوشت؟ { (yوxوb) متغیر هستند }

کد پی‌اچ‌پی:
y=x+cos(b) ----> x=y-cos(b)  or----> b=acos(y-x

متشکر
سلام.
هدفتان از تعریف معادله چیست ؟
منظورم اینه که مثلا مقادیر x و b معلوم است و y را می خواهید به دست آورید یا اینکه معادله را می خواهید به صورت سمبلیک حل کنید یا موارد دیگر ؟
اگر تنها قصد دارید که معادله را به صورت سمبلیک بنویسید، متغیرهای x و y و b را با دستور syms به صورت سمبلیک تعریف کنید و بعد همان هبارت هایی که خودتان نوشته بودید، کافی است.
برای تعریف سمبلیک معادلات و متغیرها، کلید زیر را بخوانید :

http://www.kelidestan.com/keys/keys.php?key=4

 سلام

[attachment=532]

وقتی این  معادله (پیوست) رو توسط دستور solve میخوام به صورت سمبلیک برحسب M بنویسم ، خطای زیر رو به من میده !!!
راه دیگه ای وجود داره که این کار رو انجام بدیم...؟! متشکر

کد پی‌اچ‌پی:
WarningExplicit solution could not
be found

In solve at 179 
 
ans 
=
 
[ empty 
sym 
این طور که معلومه، دستور solve قادر نیست که معادله مورد نظر را حل کند. مثلا در کدهای متلب زیر، بنده معادله را در v تعریف کرده ایم، سپس دستور solve را به کار برده ام تا ببینم آیا می تواند آن را بر حسب M حل کند یا خیر (عبارت v را برابر صفر قرار می دهد و سعی می کند که M را بر حسب سایر متغیرها به دست آورد) :

کد:
clear all
close all
clc

syms gamma M
v = sqrt(gamma+1/gamma-1)*atan(sqrt((gamma-1/gamma+1)*(M^2-1)))-atan(M^2-1)
solve(v,M)

syms H
v_2 = sqrt(H)*atan(sqrt((1/H)*(M^2-1)))-atan(M^2-1)
solve(v_2,M)

حتی یک در حالتی دیگر، یک متغیر جدید هم تعریف کردم تا معادله ساده تر شود، اما تاثیری ندارد و باز هم معادله حل نمی شود.
نتیجه اجرای کد متلب بالا :

کد:
v =

atan(((M^2 - 1)*(gamma - 1/gamma + 1))^(1/2))*(gamma + 1/gamma - 1)^(1/2) - atan(M^2 - 1)

Warning: Explicit solution could not be found.
> In solve at 83
  In Untitled at 7

ans =

[ empty sym ]


v_2 =

H^(1/2)*atan(((M^2 - 1)/H)^(1/2)) - atan(M^2 - 1)

Warning: Explicit solution could not be found.
> In solve at 83
  In Untitled at 11

ans =

[ empty sym ]