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



حل دستگاه معادلات با تعداد خیلی زیاد مجهولزمان کنونی: ۱۳۹۵/۰۹/۱۸، ۰۲:۱۷ ب.ظ
کاربران در حال بازدید این موضوع: 1 مهمان
نویسنده: yshahsavari
آخرین ارسال: سامرند
پاسخ 3
بازدید 851

رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
حل دستگاه معادلات با تعداد خیلی زیاد مجهول

حل دستگاه معادلات با تعداد خیلی زیاد مجهول

#1
سلام دوستان.
فرض کنیم من می خوام یه دستگاه 3 معادله 3 مجهولی ساده رو حل کنم (در متلب). یعنی مثلا دارم:
[align=right]x1+x2+x3=3
[align=right]x1+(2*x2)+x3=4
[align=right]x1+x2+(2*x3)=4
این معادله باید در نرم افزار متلب حل بشه. در نتیجه من میام اینکار رو می کنم:
equ= (x1+x2+x3=3 x1+(2*x2)+x3=4 x1+x2+(2*x3)=4);
[align=right]A=solve(equ)
که در اینصورت جواب می گیرم:
x1: [1x1 sym]
[align=right]x2: [1x1 sym]
[align=right]x3: [1x1 sym]
تو متلب اینجوریه که جواب ها رو نشون نمی ده و یک استراکچر مثل بالا رو نمایش می ده
[align=right]که برای نمایش دادن مقادیر ایکس ها یا مجهولات باید از روش زیر استفاده کنم 
[align=right][A.x1 A.x2 A.x3]=solve(equ)
یا به روش دیگر بصورت زیر میشه تک تک ایکس ها رو جداگانه نمایش داد
[align=right]A.x1
[align=right]A.x2 
[align=right]A.x3
حالا مشکل چیه؟ مشکل اینه:
[align=right]یه موقع هست که تعداد ایکس ها (مجهولات) خیلی زیاده(مثلا 100 تا) که در اینجا باید از حلقه for برای نمایش استفاده کرد.فرض کنیم قسمت equ قبلا به نوعی بدست آمده و من 100 معادله 100 مجهولی دارم و حلش هم کردم.حالا چطوری باید جوابها رو نمایش بدم؟مسلما من نمی تونم 100 خط رو اینجوری بنویسم 
[align=right]A.x1
[align=right]A.x2
[align=right]...
[align=right]...
[align=right]A.x100
مشکل اینه که این حلقه رو که صرفا واسه نمایش x ها می خوام، هر جوری می نویسم ارور می ده
[align=right]ممنون می شم از دوستان اگه کسی راهنمایی کنه.
 
پاسخ

حل دستگاه معادلات با تعداد خیلی زیاد مجهول

#2
سلام من تاره اومدم و زیاد تجربه ندارم .شاید بتون این طوری کمکتون کنم :=
اول معادله تون رو حل کنید بعد جوابتون رو تبدیل به سلول کنید struct2cell
بعدش میاد این کارو میکنید :
for i=1:3
b i=ans i
end
اینجا فونت مشکل داره i  های وسط داخل پرانتز .
b=single b 
پاسخ
 سپاس شده توسط admin

حل دستگاه معادلات با تعداد خیلی زیاد مجهول

#3
 
کد پی‌اچ‌پی:
equsolve(x1+x2+x3-3x1+(2*x2)+x3-x1+x2+(2*x3)-4);
struct2cell(equ);
for 
i=1:3
b
(i)=ans{i};
end
b
=single(b
 

 
پاسخ
 سپاس شده توسط admin


پرش به انجمن:


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

آخرین کلیدهای غیررایگان

شما هم می توانید کلیدهای غیررایگان منتشر کنید (بیشتر بدانید)