Keduanya merupakan pemecah langsung untuk memecahkan sistem linear (berlawanan dengan pemecah iteratif).
mldividetidak melakukan tes untuk dalam menyelesaikan . Silakan lihat jawaban Allan di utas ini untuk informasi lebih lanjut. Juga lihat bantuan MATLAB pada algoritma di sini.AAx=bmldivide
mldivideuntuk matriks kuadrat: Jika A simetris dan memiliki elemen diagonal nyata dan positif, MATLAB mencoba faktorisasi Cholesky. Jika faktorisasi Cholesky gagal, MATLAB melakukan faktorisasi simetris, tidak terbatas. Jika A adalah Hessenberg atas, MATLAB menggunakan eliminasi Gaussian untuk mengurangi sistem ke matriks segitiga. Jika A adalah bujur sangkar tetapi tidak diijinkan segitiga, simetris dan pasti positif, atau Hessenberg, maka MATLAB melakukan faktorisasi segitiga umum menggunakan faktorisasi LU dengan pivoting parsial
linsolve untuk matriks kuadrat: faktorisasi LU dengan pivot parsial
mldividedan linsolveuntuk matriks persegi panjang: faktorisasi QR
Dalam linsolvesebagai bantuan doc menunjukkan di situs mathworks, Anda bisa menghindari proses pengujian tambahan (Allan menggunakan kata "overhead" dalam jawabannya) dengan menggunakan optsjika dan hanya jika Anda tahu apa yang adalah seperti di muka. Untuk masalah besar, Anda bisa menghemat waktu. Sebagai contoh:A
opts.POSDEF = true; linsolve(A,b,opts)
akan mengembalikan jika Anda tahu pasti positif di muka. Namun, pilihan yang salah mengarah ke hasil yang salah.xAopts
Jika kriteria tertentu dipenuhi, linsolvedan mldividelakukan proses faktorisasi yang sama. Misalnya, untuk sistem pasti positif padat yang memenuhi sifat-sifat tertentu, atau Anda memiliki sistem yang ditentukan secara berlebihan dan keduanya melakukan pemasangan kuadrat terkecil.
Selain itu, linsolvebisa juga melakukan perhitungan simbolik . Ini berguna ketika Anda memiliki sistem kecil yang tidak ditentukan yang memiliki jumlah solusi tak terbatas. linsolvememungkinkan Anda untuk menyelesaikannya secara simbolis, mldividetidak bisa melakukan itu. Namun, jika variabel tidak dideklarasikan secara simbolis, mldividedan linsolveakan memberi Anda pesan peringatan yang sama, "Matriks tunggal untuk presisi kerja."
Last but not least, linsolvetidak mendukung sistem jarang seperti matriks berikut (titik biru berarti entri tidak nol). Sementara mldividebisa menangani sistem jarang dengan kuat ketika ukurannya di bawah 200k oleh 200k.
