سؤال

لدي ثلاث معادلات مثل تلك التالية:

  • س + ص + ض = 100؛
  • س + ص - ض = 50؛
  • س - ص - ض = 10؛

كيف يمكنني العثور على قيم x وy وz باستخدام Java؟

String equation1="x+y+z=100;";
String equation2="x+y-z=50;";
String equation3="x-y-z=10;";

int[] SolveEquations(equation1,equation2,equation3) {
   // to do
   // how to do?    
} 

هل لديك أي حلول ممكنة أو أطر مشتركة أخرى؟

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

المحلول

يمكنك استخدام المحدد لحساب قيم x y وz.يمكن العثور على المنطق هنا http://www.intmath.com/Matrices-determinants/1_Determinants.php

وبعد ذلك تحتاج إلى تنفيذه في جافا باستخدام صفائف ثلاثية الأبعاد.

نصائح أخرى

بما أنك تكتب Java، يمكنك استخدام جاما حزمة لحل هذا.أوصي بطريقة تحلل LU جيدة.

إنها مسألة جبرية خطية بسيطة.يجب أن تكون قادرًا على حلها يدويًا أو باستخدام شيء مثل Excel بسهولة تامة.بمجرد حصولك على ذلك، يمكنك استخدام الحل لاختبار برنامجك.

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

يمكنك استخدام حزمة مصفوفة جافا جاما.انظر الصفحة الكاملة لهذا المثال أدناه هنا

/*
 *Solving three variable linear equation system
 * 3x + 2y -  z =  1 ---> Eqn(1)
 * 2x - 2y + 4z = -2 ---> Eqn(2)
 * -x + y/2-  z =  0 ---> Eqn(3)
 */
import Jama.Matrix;
import java.lang.Math.*;
public class Main {
    public Main() {
        //Creating  Arrays Representing Equations
        double[][] lhsArray = {{3, 2, -1}, {2, -2, 4}, {-1, 0.5, -1}};
        double[] rhsArray = {1, -2, 0};
        //Creating Matrix Objects with arrays
        Matrix lhs = new Matrix(lhsArray);
        Matrix rhs = new Matrix(rhsArray, 3);
        //Calculate Solved Matrix
        Matrix ans = lhs.solve(rhs);
        //Printing Answers
        System.out.println("x = " + Math.round(ans.get(0, 0)));
        System.out.println("y = " + Math.round(ans.get(1, 0)));
        System.out.println("z = " + Math.round(ans.get(2, 0)));
    }

    public static void main(String[] args) {
        new Main();
    }
}

تستطيع ايضا استخذام الرياضيات العامة.لديهم قسم من هذا في بهم دليل المستخدم (انظر 3.4)

إنشاء محلل باستخدام أنتلر.ثم قم بتقييم أست استخدام القضاء غاوسي.

يستخدم Gaussian_eliminating انها سهلة بشكل لا يصدق، ولكن هناك بعض القيم قد يكون لديك صعوبة في حساب الحياة.

مثال على الكود

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