انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
نوشتن معادله برحسب متغیر مورد نظر، در متلب

نوشتن معادله برحسب متغیر مورد نظر، در متلب

#1
سلام
معادله ای مثل معادله زیر ، باچه دستوری از متلب میشه برحسب متغیر دیگر نوشت؟ { (yوxوb) متغیر هستند }

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

متشکر
پاسخ

نوشتن معادله برحسب متغیر مورد نظر، در متلب

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

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

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ

نوشتن معادله برحسب متغیر مورد نظر، در متلب

#3
 سلام

   

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

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

In solve at 179 
 
ans 
=
 
[ empty 
sym 


فایل‌های پیوست

عکس(ها)
   
پاسخ

نوشتن معادله برحسب متغیر مورد نظر، در متلب

#4
این طور که معلومه، دستور 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 ]

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان