مشاهده نسخه کامل
: حل دستگاه n معادله n مجهول
m2babaey
05-10-2008, 18:58
سلام
من می خوام با سی پلاس پلاس برنامه حل دستگاه n معادله n مجهول بنویسم
به نظر شما چه الگوریتمی خوبه؟
سلام
خیلی ساده است کافی است یک کلاسس ماتریس بسازید که توانایی محاسبه دترمینال را هم داشته باشد.
بعد یک ماتریس کلی از همه ضرایب و ثابتها تشکیل میدهید.
به ازای هر پارامتر متغیر هم یک ماتریس جدا تشکیل میدهید ولی ستون ظرایب نظیر را با ستون اعداد ثابت عوض میکنید.
در نهایت این دترمینال این ماترس را بر دترمینال ماتریس ظرایب تقسیم میکنید....
شاید کمی گیج شده باشید... به نمونه زیر دقت کنید...
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
همانطور که میبینید دترمینال ماتریس ضرایب در مخرج کسر قرار دارد و برای هر دو متغییر یکسان است
ولی ستون دترمینال ماتریس صورت برای متغییر نظیرش با مقادیر ثابت دست راست تعویض شده.
این بهترین و ساده ترین روش برای محاسبه رایانه ای n معادله و n مجهول است و جالب هم آنجا است که با وجود کامل ترین روش بودن، اثبات بسیار بسیار ساده و کوتاه و قابل فهمی دارد!
نمونه تاپیک زیر هم بر اساس همین اصول محاسبه شده:
forum.p30world.com/showthread.php?p=2899561
mahdi.a81
07-10-2008, 11:30
سلام
چيزي كه من ميگم خيلي به راه حل مربوط نيست
شما برو كتاب آناليز عددي يا محاسبات عددي رو بخون
راههاي ساده توش مطرح شده
پيچيدگي زمانيش رو هم گفته
hamidreza_buddy
07-10-2008, 13:49
من یک بار برای حل معادلات n معدله m مجهول که n>m باشد از روش حریصانه تپه نوردی تصادفی (stochastic hill climbing) استفاده کردم. به این صورت که در هر مرحله مجهول ها رو کم یا زیاد می کردم و همه حالات کم و زیاد کردن را در نظر می گرفتم. پس از اون خطای خروجی رو حساب می کرد (تفاوت مقدار به دست آمده با مجول ها با مقدار سمت راست معادله) . و به بهترین وضعیت می رفتم. بعد از همون وضعیت کار بالا رو تکرار می کردم و به یک وضعیت بهتری می رفتم. این الگوریتم خیلی سریع همگرا می شد و جواب میداد. فقط باید حواست باشه که هر چند وقت یه بار الگوریتم رو ریست کنی تا توی دره های محلی گیر نکنه!
باید آنقدر جلو رفت تا خطای خروجی ها پایین تر از یک مقدار خاص شود.
ssprogrammer69
23-10-2008, 22:05
مرسی از راهنماییتون
zero2008
12-04-2009, 23:33
من الگوريتم n معادله n مجهول رو به روش حذفي گاوس مي خوام ؟
haditaji
24-11-2009, 15:54
سلام دوستان
می خواستم بپرسم آیا میشه که یک دستگاه n معادله و n+1 مجهول رو حل کرد
آخه استادمون ازمون خواسته منم باید هر طور شده اون روش و پیدا کنم
حداقلش میخوام یادش بگیرم!!!
یا n معادله و n+i مجهول که i از 1 تا n تغییر میکنه!!!
ممنـــــــــــــــــــــو ن:20:
سلام
می خواستم بپرسم آیا میشه که یک دستگاه n معادله و n+1 مجهول رو حل کرد
سوال شما بیشتر ریاضی است تا برنامه نویس.
دستگاهی که n معادله و n+i با شرط i>0 داشته باشد قابل حل کلی و قطعی نست.
فقط دو مطلب ریاضی وجود دارد ...
1) شاید در شرایط خاص و با انتخاب برخی ضرایب خاص از سوی طراح سوال این حالت هم به جواب عددی برسد.
2) باید حواستان باشد که در خیلی از مسائل لزومی وقتی گفته میشود حل و جواب و... منظور حتماً جواب عددی خالص نیست و در شرایطی بدست آوردن رابطه بین مقادیر هم جواب حسای میشود مثلاً اینکه شما مقدار متغییر n را بر حسب تابعی از مقادیر متغیرهای 1 تا n-1 بدست اورید.
(
یعنی صد در صد میتوان جواب عددی همه متغییر ها بر اساس i متغیر محاسبه کرد ...
مثلاً اگر n+1 متغیر داشته باشید میتوان به جوابی مثل این رسید:
X2 = X1+25
X3=-70.X1+36
X4=14.X1-5
و...
Xn=a.X1+b
و اگر n+2 مجهول داشته باشید میتوان به جوابهایی مثل اینها رسید.
X3=5.X1+6.X2-8
X4=10.X1-28X2+5
و...
Xn=a.X1+b.X2+c
یعنی همواره جواب n متغیر آخری را میتوان برحسب آن i متغیر اولی اضافه محاسبه کرد.
)
خلاصه :
معادلات با شرایطی که گفتید به جواب عددی مشخص نخواهند رسید ولی میتوان مقادیر را برحسب سایر i متغییر اول محاسبه کرد.
=====
بهتر است سوالات این تیپی خودتان را در انجمن مربوطه مطرح کنید:
انجمن ریاضیات ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])
CppBuilder2006
25-11-2009, 13:04
بهتر است سوالات این تیپی خودتان را در انجمن مربوطه مطرح کنید:
انجمن ریاضیات ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])
به دشت پر ملال ما پرنده پر نمیزند!:41:
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.