سؤال

لدي ستة معادلات حديثة باستخدام 18 (ليس في الواقع 26) متغيرات مختلفة، 6 منها غير معروفة.

أستطيع أن أجلس بضع منصات من الورق والعمل على ما هي المعادلات لكل مجهول، ولكن هل هناك حل ثاباري بسيط (أنا أفكر في MATLAB) الذي بصقوع المعادلات الست التي أبحث عنها ل؟

تعديل:عار تم إغلاق هذا، لكنني أعتقد أنني أستطيع أن أرى لماذا. في حالة ما زال أي شخص مهتما، فإن المعادلات (أعتقد) غير خطي:

r11^2 = (l_x1*s_x + m_x)^2 + (l_y1*s_y + m_y)^2
r12^2 = (l_x2*s_x + m_x)^2 + (l_y2*s_y + m_y)^2
r13^2 = (l_x3*s_x + m_x)^2 + (l_y3*s_y + m_y)^2
r21^2 = (l_x1*s_x + m_x - t_x)^2 + (l_y1*s_y + m_y - t_y)^2
r22^2 = (l_x2*s_x + m_x - t_x)^2 + (l_y2*s_y + m_y - t_y)^2
r23^2 = (l_x3*s_x + m_x - t_x)^2 + (l_y3*s_y + m_y - t_y)^2

(تربيع rS، بقعة جيدةgnovice!)

حيث أحتاج إلى العثور عليها t_x t_y m_x m_y s_x و s_y

لماذا أنا أتحدث هذه؟ هناك نقطتين P1 (في 0,0) و P2 في (t_x,t_y)، لكل من ثلاث إحداثيات (l_x,l_y{1،2،3}) أعرف المسافات (r1 & r2) إلى تلك النقطة من P1 و P2، ولكن في نظام تنسيق مختلف. المتغيرات s_x و s_y حدد المبلغ الذي أحتاجه لتوسيع نطاق مجموعة إحداثيات واحدة للوصول إلى الآخر، و m_x, m_y كم سأحتاج إلى ترجمة (مع t_x و t_y كونها وسيلة لحساب الاختلافات في الدوران في النظامين)

أوه! ونسيت أن أذكر، وأنا أعلم أيضا أن النقطة (l_x,l_y) أقل من أعلى P1 و P2، أي l_y <ماكس (0,t_y) إلى جانب l_y > 0 و l_y < t_y.

يبدو أنه محدد بما فيه الكفاية لأنني قد تضطر إلى الحصول على وسادة بلدي وعملها من خلال الرياضيات!

هل كانت مفيدة؟

المحلول

إذا كان لديك مربع الأدوات الرمزية, ، يمكنك استعمال ال يحل وظيفة. علي سبيل المثال:

>> solve('x^2 + y^2 = z^2','z')    %# Solve for the symbolic variable z

ans =

  (x^2 + y^2)^(1/2)
 -(x^2 + y^2)^(1/2)

يمكنك أيضا حل نظام لمعادلات N لمتغيرات N. إليك مثال مع معادلات 2، 2 غير معروفة لحلها (x و y) و 6 معلمات (a عبر f):

>> S = solve('a*x + b*y = c','d*x - e*y = f','x','y')
>> S.x

ans =

(b*f + c*e)/(a*e + b*d)

>> S.y

ans =

-(a*f - c*d)/(a*e + b*d)

نصائح أخرى

هل هم خطيين؟ إذا كان الأمر كذلك، فيمكنك استخدام مبادئ الجبر الخطي لإعداد مصفوفة 6x6 التي تمثل نظام المعادلات، وحلها من أجلها باستخدام أي روتين انعكاس ماتريكس القياسي ...

إذا لم تكن خطية، فستحتاج إلى استخدام أساليب التحليل العددي.

كما أتذكر منذ عدة سنوات، أعتقد أنك ثم إنشاء نظام لتقريبين خطي على المعادلات غير الخطية، وحل هذا النظام الخطي، مرارا وتكرارا بالتكرار، إطعام الإجابات مرة أخرى في المدخلات في كل مرة، حتى بعض الأخطاء Metric يحصل على صغيرة بما فيه الكفاية للإشارة إلى أنك وصلت إلى الحل. من الواضح أن من الواضح أن هناك مع جهاز كمبيوتر، وأنا متأكد من أن هناك حزم برامج التحليل العددي التي ستقوم بذلك من أجلك، على الرغم من أنني أتخيل أنه نظرا لأن أي نظام تعسفي للمعادلات غير الخطية يمكن أن يشمل درجة لا حصر لها تقريبا من أنواع مختلفة ومستويات التعقيد ، أن حزم البرامج هذه لا تستطيع إنشاء تقريبية خطية بالنسبة لك، (باستثناء ربما في الحالات القياسية الأكثر وضوحا) وستحصل على هذا الجزء من الشيء يدويا.

نعم، هناك (على افتراض هذه المعادلات الخطية) - يمكنك القيام بذلك عن طريق إنشاء إكليلات مصفوفة أي ما يعادل 6 معادلات خطية خطية، على سبيل المثال إذا كان لديك المساكنات:

6x + 12y = 9
7x - 8y = 14

هذا يمكن أن يكون ممثلا باسم:

|6  12| |a|   |9 |
|7  -8| |b| = |14|

(حيث يتم عدد المصفوفات 2 معا). يمكن matlab ثم حلها لهذا مصفوفة الحل (أ، ب).

ليس لدي تثبيت ماتلاب، لذلك أخشى أنني سأضطر إلى مغادرة التفاصيل لك :-)

كما ذكر أعلاه، ستعتمد الإجابة على ما إذا كانت معادلاتك خطية أو غير خطية. لأنظمة خطية، يمكنك إعداد نظام مصفوفة بسيط (ولكن لا استخدم انعكاس مصفوفة، استخدم تحلل لو (إذا كان نظامك مكيفا جيدا)).

بالنسبة للنظم غير الخطية، ستحتاج إلى استخدام حلالا أكثر تقدما، على الأرجح بعض الاختلاف في طريقة Newton. في الأساس، ستعطي MATLAB معادلاتك الست الخاصة بك، وتطلب مني حلها في وقت واحد للجذر (صفر) من جميع المعادلات. هناك العديد من التحذيرات والمضاعفات التي تدخل عند التعامل مع النظم غير الخطية، واحدة منها هي الحاجة إلى تخمين الأولي الذي يعين كل من المتغيرات الستة غير معروفة قيمة قريبة من الحل الحقيقي. من دون تخمين الأولي الجيد، قد يستغرق التحليق وقتا طويلا في العثور على حل، أو قد لا يتجاوز حلا على الإطلاق، حتى لو كان أحد.

منذ عقود، طورت MIT Macsyma، نظام جبري رمزي لهذا النوع من الأشياء فقط. تم بيع MIT MACSYMA للرموز، والتي تتم طيها جيدا، جفت، وفي مهب. ومع ذلك، بسبب معجزة التمويل العسكري، كان هناك حاجة لإصدار إصدار مبكر من Macsyma للحكومة. تم إصدار هذا الإصدار لاحقا تحت GPL، ويستمر في الحفاظ عليه، تحت اسم Maxima.

يرى http://maxima.sourceforge.net/ للمزيد من المعلومات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top