كيفية رسم نظام غير خطي من 3 معادلات مع 3 متغيرات رمزية في ماتلاب؟
سؤال
ليس لدي الكثير من الخبرة مع 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]);
وسوف تبدو المؤامرة الناتجة مثل هذا:
من خلال تدوير المؤامرة، ستلاحظ أنه يبدو أن هناك نقطتان حيث تتقاطع جميع الأسطح الثلاثة، مما يتيح لك حلولين لنظام المعادلات.
نصائح أخرى
يقول "امسك" فقط لا يمحو الخطوط والعلامات الموجودة على المحور الحالي. يجب أن تكون مجرد قادرة على القيام به
ezplot(f1);
hold on;
ezplot(f2);
ezplot(f3);
hold off;
لم أستخدم ezplot أبدا، لذلك لا يمكنك مساعدتك في ذلك.