PDA

View Full Version : سوال: چگونه دستگاه چند معادله ای حل کنیم؟



smm2006sh
شنبه 03 بهمن 1388, 22:19 عصر
میخواست بببینم چطوری میشه دوتا معادله که درجه ی اونو کاربر وارد میکنه یعنی درجهی اون هنگام اجرا مشخص میشه را حل کرد
با تشکر

Salar Ashgi
شنبه 03 بهمن 1388, 22:50 عصر
ببینید اینطور که شما گفتید نمیشه ، معمولا دستگاه معادلات n معادله و n مجهول هستند ، و مثلا

2 معادله ، 6 مجهول (که اصلا این معادله جواب ندارد) نمی توانند باشند .

این که گفتم معمولا یعنی تو پیاده سازی برنامه نویسی ، چون ممکنه تو عالم ریاضیات این کار انجام بشه !

smm2006sh
یک شنبه 04 بهمن 1388, 12:18 عصر
شما منظورمو نفهمیدید میخوام با لیست پیوندی ها یه معادله درجه n را حل کنم

qwerty11
یک شنبه 04 بهمن 1388, 15:58 عصر
شما منظورمو نفهمیدید میخوام با لیست پیوندی ها یه معادله درجه n را حل کنم
اولاً که اگه برای حل معادله ی بیشتر از درجه ی 2 راه حل مستقیمی داری خوشحال میشیم ببینیم چیه :)
دوماً چرا لیست پیوندی !؟

Salar Ashgi
یک شنبه 04 بهمن 1388, 18:31 عصر
شما منظورمو نفهمیدید میخوام با لیست پیوندی ها یه معادله درجه n را حل کنم

فکر کنم اگه بجای واژه نفهمیدید ، از واژه ی متوجه نشدید استفاده بشه ، بهتره !

چون یه برنامه نویس باید فرهنگ ادبیاتیش و طرز معاشرتش هم خوب باشه !

ثانیا :اولا باز منظورتون واضح نیست ، اگه میخواین یک معادله حقیقی از درجه n رو حل

کنید ، که برای n>=3 روش جبری وجود نداره و تقریبا دیگه برای n>=6 حل دقیق معادله

غیر ممکن میشه و فقط میشه تقریبی از جوابها رو پیدا کرد .

اگه منظورتون چیز دیگری است ، ذکر کنید !

Salar Ashgi
یک شنبه 04 بهمن 1388, 18:38 عصر
دوماً چرا لیست پیوندی !؟


دوست گرامی ، شما مثل اینکه هر جا کلمه لیست پیوندی رو پیدا کنید ، حساسیت بهش نشون میدید !

زیاد سخت نگیرید !

programset
دوشنبه 05 بهمن 1388, 19:26 عصر
میخواست بببینم چطوری میشه دوتا معادله که درجه ی اونو کاربر وارد میکنه یعنی درجهی اون هنگام اجرا مشخص میشه را حل کرد
با تشکر
آيا منظور شما0= (ax^(n)+bx^(n-1)+.....+cx^(0 است؟
اگر چنين است:
يك ليست پيوندي نياز داريد


struct x { int n;
x* next;
int a;
{

n درجه x كه كاربر وارد ميكنه و در واقع هر گره ليست داراي يك توان و يك ضريب است
باز اگه مجالي بود بهتر در موردش فكر كنيم

Salar Ashgi
دوشنبه 05 بهمن 1388, 20:42 عصر
آیا منظور شما0= (ax^(n)+bx^(n-1)+.....+cx^(0 است؟
اگر چنین است:
یک لیست پیوندی نیاز دارید


struct x { int n;
x* next;
int a;
{
n درجه x که کاربر وارد میکنه و در واقع هر گره لیست دارای یک توان و یک ضریب است


دوست عزیز مهم ساختن لیست نیست ، مهم حل معادله است ، برای درجه بیشتر از 3

بطور دقیق امکان پذیر نیست !

clover
دوشنبه 05 بهمن 1388, 23:14 عصر
پیشنهاد می کنم قبل از اینکه به فکر لیست پیوندی و کد باشید، روش های مختلف حل معادلات دیفرانسیل خطی را مطالعه کنید.
به این سایت سری بزنید، فکر میکنم جالب باشه:
http://www.hvks.com/Numerical/websolver.php

Salar Ashgi
سه شنبه 06 بهمن 1388, 20:38 عصر
اگه برای حل معادله ی بیشتر از درجه ی 2 راه حل مستقیمی داری خوشحال میشیم ببینیم چیه


مطمئنا وجود داره ، برای درجه 3 معروف ترینش روش کاردانو هستش که حتی ریشه های مختلط رو هم میده !

برای درجه 4 نیز یک فرمول نسبتا کلی هست و برای درجه 5و6 تو شرایط خاص میشه یه روشهایی رو بکار

برد ، ولی دیگه برای بیشتر از 6 ، فرمول کلی نداریم !