كيفية رسم نظام غير خطي من 3 معادلات مع 3 متغيرات رمزية في ماتلاب؟

StackOverflow https://stackoverflow.com/questions/925555

  •  06-09-2019
  •  | 
  •  

سؤال

ليس لدي الكثير من الخبرة مع matlab. أعلم أنه يمكنك رسم المعادلات مع 2 متغيرات مثل هذا:

ezplot(f1)
hold on
ezplot(f2)
hold off;

كيف ترسم ثلاث معادلات مع ثلاثة المتغيرات الرمزية؟

نظام مثال سيكون:

x^2+y^2+z^2-1=0
2*x^2+y^2-4*z=0
3*x^2-4y+z^2=0

سيكون مثاليا إذا كان هناك طريقة لرسم أي نظام من 3 معادلات.

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

المحلول

أعتقد ezsurf يقترب من ما تريد. سوف تضطر أولا إلى حل كل معادلة z, ، ثم جعل وظيفة لهذه المعادلة وأرسمها ezsurf. وبعد إليك كيفية القيام بذلك مع معادلةك الأولى من الأعلى:

func1 = @(x, y) sqrt(1-x.^2-y.^2);
ezsurf(func1);

هذا يجب أن يعرض النصف العلوي من المجال.

لعرض جميع المعادلات الثلاث معا، يمكنك القيام بما يلي:

func1 = @(x, y) sqrt(1-x.^2-y.^2);
func2 = @(x, y) 0.5.*x.^2+0.25.*y.^2;
func3 = @(x, y) sqrt(4.*y-3.*x.^2);
ezsurf(func1, [-1 1 -1 1]);
hold on;
ezsurf(func2, [-1 1 -1 1]);
ezsurf(func3, [-1 1 -1 1]);
axis([-1 1 -1 1 0 1]);

وسوف تبدو المؤامرة الناتجة مثل هذا:

enter image description here

من خلال تدوير المؤامرة، ستلاحظ أنه يبدو أن هناك نقطتان حيث تتقاطع جميع الأسطح الثلاثة، مما يتيح لك حلولين لنظام المعادلات.

نصائح أخرى

يقول "امسك" فقط لا يمحو الخطوط والعلامات الموجودة على المحور الحالي. يجب أن تكون مجرد قادرة على القيام به

ezplot(f1);
hold on;
ezplot(f2);
ezplot(f3);
hold off;

لم أستخدم ezplot أبدا، لذلك لا يمكنك مساعدتك في ذلك.

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