PDA

View Full Version : سوال: محاسبه‌ی فرمول های ریاضی به ازای داده های وارد شده



senaps
سه شنبه 01 مهر 1393, 18:30 عصر
سلام....
من برنامه نویسیم خوبه، ولی متاسفانه پیاده سازی فرمول های ریاضی رو بلد نیستم!! کلا ریاضیم هم خوب نیست! :)))

من این فرمول رو دارم:
http://upload7.ir/imgs/2014-09/56427342238927514747.jpg

و حالا میخوام توی برنامه‌ام، این فرمول رو به ازای مقادیری که در V,x,y و زد دارم محاسبه کنم.....

مراحل گرفتن و اینا رو بلدم! ولی نحوه‌ی نوشتن این فرمول و محاسبه‌ی اون رو بلد ندارم حقیقتا... اگر امکانش باشه که راهنماییم کنین ممنون میشم....

توابع موجود برای ضرب و رادیکال و تقسیم و اینا، میتونن عبارت تحویل بگیرن و یا یه تابع در خودشون تحویل بگیرن؟؟؟؟
اون تانژانت منفی یک میشه چی؟؟؟؟

فک کنم یه جور دلیگیتی چیزی بخواد! یا یه تابع که کلی تابع دیگه داخلش فرخونده میشن :| نمی‌دونم والا سرم درد گرفت روش خیلی فک کردم ولی به نتیجه نرسیدم...

دلتنگ اسمان
سه شنبه 01 مهر 1393, 19:29 عصر
سلام
اینجا (http://en.wikipedia.org/wiki/Trajectory_of_a_projectile)رو نگاه کن کمکت میکنه. در مورد فرمولهای ریاضی سوال داشتی بپرس. اگه تونستم کمکت میکنم. ریاضیم بد نیست

senaps
سه شنبه 01 مهر 1393, 21:01 عصر
اینجا (http://en.wikipedia.org/wiki/Trajectory_of_a_projectile)رو نگاه کن کمکت میکنه. در مورد فرمولهای ریاضی سوال داشتی بپرس. اگه تونستم کمکت میکنم. ریاضیم بد نیست

:))))
از کجا فهمیدید که این فرمول برا چیه؟! :):متعجب::متعجب:

عارض است که الان من میخوام این فرمول رو تو سیستم پیاده کنم به این شکل که با سه تا تکست باکس، مقادیر اکس و وی و وای رو وارد بکنم و مقدار جی ثابت هستش....
فرمول محاسبه شده مقدار رو بهم برگردونه...

ممکنه بعدا فرمول رو برا موبایل هم روش کار کنم ولی فعلا میخوام ببینم تو سی‌شارپ همچین فرمولی چطوری پیاده میشه؟؟

دلتنگ اسمان
چهارشنبه 02 مهر 1393, 05:33 صبح
فرمول شما این میشه:

double theta = Math.Atan((Math.Pow(v, 2) + Math.Sqrt(Math.Pow(v, 4) - g * ((g * Math.Pow(x, 2)) + (2 * y * Math.Pow(v, 2))))) / g * x);

ولی توصیه میکنم فرمول رو ساده تر بنویس و بعد جاگذاری کن. یعنی در فرمول بالا زیر رادیکال رو دو قسمت کن و ابتدا عبارت
g*(g*x^2+2*y*v^2)
و بعد عبارت
sqrt(v^4-g*(g*x^2+2*y*v^2)) رو حساب کن. اینطوری فرمول رو راحت تر متوجه میشی. و اگه خطای محاسبه ای هم داشته باشی پیدا کردن خطا راحت تره.

alireza_g698
چهارشنبه 02 مهر 1393, 08:57 صبح
فرمول شما این میشه:

double theta = Math.Atan((Math.Pow(v, 2) + Math.Sqrt(Math.Pow(v, 4) - g * ((g * Math.Pow(x, 2)) + (2 * y * Math.Pow(v, 2))))) / g * x);

ولی توصیه میکنم فرمول رو ساده تر بنویس و بعد جاگذاری کن. یعنی در فرمول بالا زیر رادیکال رو دو قسمت کن و ابتدا عبارت
g*(g*x^2+2*y*v^2)
و بعد عبارت
sqrt(v^4-g*(g*x^2+2*y*v^2)) رو حساب کن. اینطوری فرمول رو راحت تر متوجه میشی. و اگه خطای محاسبه ای هم داشته باشی پیدا کردن خطا راحت تره.

سلام
من یه فرمول مثل شما نوشتم و فرمول شما رو هم تست کردم اما تو هر دوش وقتی جواب میخوام بگیرم مینویسه مبهم!!

دلتنگ اسمان
چهارشنبه 02 مهر 1393, 12:01 عصر
سلام
من یه فرمول مثل شما نوشتم و فرمول شما رو هم تست کردم اما تو هر دوش وقتی جواب میخوام بگیرم مینویسه مبهم!!

در تابع y=arctan(x)1 به ازای تمامی مقادیر حقیقی x ، تابع جواب داره. مگر اینکه مقدار x مبهم باشه. مثلا در مثال بالا اگر مخرج کسر صفر باشه و یا زیر رادیکال منفی باشه جواب مبهم خواهد بود.