Keduanya merupakan pemecah langsung untuk memecahkan sistem linear (berlawanan dengan pemecah iteratif).
mldivide
tidak 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
mldivide
untuk 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
mldivide
dan linsolve
untuk matriks persegi panjang: faktorisasi QR
Dalam linsolve
sebagai bantuan doc menunjukkan di situs mathworks, Anda bisa menghindari proses pengujian tambahan (Allan menggunakan kata "overhead" dalam jawabannya) dengan menggunakan opts
jika 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, linsolve
dan mldivide
lakukan 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, linsolve
bisa juga melakukan perhitungan simbolik . Ini berguna ketika Anda memiliki sistem kecil yang tidak ditentukan yang memiliki jumlah solusi tak terbatas. linsolve
memungkinkan Anda untuk menyelesaikannya secara simbolis, mldivide
tidak bisa melakukan itu. Namun, jika variabel tidak dideklarasikan secara simbolis, mldivide
dan linsolve
akan memberi Anda pesan peringatan yang sama, "Matriks tunggal untuk presisi kerja."
Last but not least, linsolve
tidak mendukung sistem jarang seperti matriks berikut (titik biru berarti entri tidak nol). Sementara mldivide
bisa menangani sistem jarang dengan kuat ketika ukurannya di bawah 200k oleh 200k.