انجمنهای فارسی اوبونتو
کمک و پشتیبانی => نرمافزارهای فنی-مهندسی => نویسنده: alend در 04 فروردین 1394، 01:28 بظ
-
دنبال برنامه ای می کردم که این کار رو انجام بده.
http://au.mathworks.com/help/symbolic/mupad_ref/solve.html
و برای ماتریکس ها
اینجا چیز بدرد بخوری هست.
http://alternativeto.net/software/maxima/
-
مستندات numpy رو دیدی؟
-
فرض کنید A,B , C ماتریکس هستند و با ابعاد مشخص.
A=2*B *C+3I
من می خواهم B را بر اساس A , C تخمین بزنم.
B=?
-
مگه این جواب نمیده؟
B = ((A-3*I)*C.I)/2
-
مگه این جواب نمیده؟
B = ((A-3*I)*C.I)/2
البته C باید معکوس شود. خوب چه برنامه این کار را انجام می دهد.
-
مگه این جواب نمیده؟
B = ((A-3*I)*C.I)/2
البته C باید معکوس شود. خوب چه برنامه این کار را انجام می دهد.
همونطور که دانیال عزیز اشاره کردن، numpy که امکانات جبرخطی عالی رو در پایتون دراختیار قرار میده و حتی اگه ماتریسها غیرمربعی باشن هم میتونه وارون های چپ و راستشون رو پیدا کنه. octave هم میتونه این محاسبه رو انجام بده. منتها باید C معکوسپذیر و حتما مربعی باشه.
-
مگه این جواب نمیده؟
B = ((A-3*I)*C.I)/2
البته C باید معکوس شود. خوب چه برنامه این کار را انجام می دهد.
همونطور که دانیال عزیز اشاره کردن، numpy که امکانات جبرخطی عالی رو در پایتون دراختیار قرار میده و حتی اگه ماتریسها غیرمربعی باشن هم میتونه وارون های چپ و راستشون رو پیدا کنه. octave هم میتونه این محاسبه رو انجام بده. منتها باید C معکوسپذیر و حتما مربعی باشه.
ممنون، من نمی خواهم، جبر ماتریس ها به صورت عددی انجام بدهم، می خواهم پارامتری باشد. (معادله را نشان دهد)
-
مگه این جواب نمیده؟
B = ((A-3*I)*C.I)/2
البته C باید معکوس شود. خوب چه برنامه این کار را انجام می دهد.
همونطور که دانیال عزیز اشاره کردن، numpy که امکانات جبرخطی عالی رو در پایتون دراختیار قرار میده و حتی اگه ماتریسها غیرمربعی باشن هم میتونه وارون های چپ و راستشون رو پیدا کنه. octave هم میتونه این محاسبه رو انجام بده. منتها باید C معکوسپذیر و حتما مربعی باشه.
ممنون، من نمی خواهم، جبر ماتریس ها به صورت عددی انجام بدهم، می خواهم پارامتری باشد. (معادله را نشان دهد)
برداشت من اینه که شما نمیخواید مثلا بعد ماتریس هاتون رو عدد ثابتی درنظر بگیرید یا اینکه درایه هاتون لزوما توابع ثابتی نباشن. در اینگونه موارد شخصا از cadabra استفاده می کنم که اصولا یکی از اهداف اصلیش همین هست. البته شاید هم اون دوتایی که قبلا اسم بردم، باز بتونن چنین کاری بکنن ولی احتمالا به سادگی cadabra نیست. امیدوارم درست متوجه شده باشم.
-
ممنون. ولی چه جوری کار می کند. مثال رو چه جوری حل کنم.
-
اگه میخواید از cadabra استفاده کنید، باید اول نصبش کنید (توی مرکز نصب نرم افزار هم هست). یه کمی هم بهش مسلط بشید و راجع به تانسورها اطلاعاتی داشته باشید. بعد درایه های ماتریس ها رو بصورت توابع اندیس دار بهش بدید. میتونه ماتریس نهایی رو درایه به درایه محاسبه کنه. cadabra نرم افزار قوی ای هست که دقیقا برای محاسبات تانسوری و ماتریسی نوشته شده و اگه یه کم وقت صرف کنید و یادش بگیرید، ابزار قدرتمندی هست. گرچه من هنوز دقیقا متوجه مساله شما نشدم. اما امیدوارم تونسته باشم کمکی کرده باشم.
-
ممنون، آره نصبش کردم ولی ریاضیاتم خیلی در اون حد نیست.
میشه مثلا سه ماتریکس مثل مثال بالا تعریف کنید و معادله رو بنویسید.
-
بله. سعی می کنم تو چند روز آینده براتون بنویسم.
-
خیلی لطف می کنید.
-
نوشتن چنین چیزی در cadabra مستلزم استفاده از تانسورها هست. البته ظاهرا قرار هست نویسنده cadabra تا چند ماه آینده بسیاری از کتابخونه های ریاضی پایتون رو بهش اضافه کنه. مثل الان که میشه در cadabra از تقریبا تمام قابلیت های maxima استفاده کرد.
بهرصورت طبق برداشتی که از سوالتون داشتم، یه مثال ساده رو ضمیمه می کنم. منتها باید کتابخونه sympy رو در پایتون نصب کنید. در این مثال من از دو تابع معروف استفاده کردم و ماتریس ها برحسب دوتا متغیر دارن تغیر می کنن. اگر قرار هست از توابع تعریف شده دیگری استفاده کنید، باید اون ها رو هم از این کتابخونه import کنید.
-
نوشتن چنین چیزی در cadabra مستلزم استفاده از تانسورها هست. البته ظاهرا قرار هست نویسنده cadabra تا چند ماه آینده بسیاری از کتابخونه های ریاضی پایتون رو بهش اضافه کنه. مثل الان که میشه در cadabra از تقریبا تمام قابلیت های maxima استفاده کرد.
بهرصورت طبق برداشتی که از سوالتون داشتم، یه مثال ساده رو ضمیمه می کنم. منتها باید کتابخونه sympy رو در پایتون نصب کنید. در این مثال من از دو تابع معروف استفاده کردم و ماتریس ها برحسب دوتا متغیر دارن تغیر می کنن. اگر قرار هست از توابع تعریف شده دیگری استفاده کنید، باید اون ها رو هم از این کتابخونه import کنید.
ممنون.