看板 MATLAB 關於我們 聯絡資訊
我用Octave 看了help和GNU上的教學文件後,依然不懂sparse怎麼用 假設今天K是一個N*N矩陣,然後 K(i,i)=2 for i=1:N; K(i-1,i)=K(i,i-1)=-1 for i=2:N; 我要造一個(N^2)*(N^2)的矩陣,叫K2D: (I=eye(N)) K2D=kron(K,I)+kron(I,K); 請問,我要怎麼告訴Octave K2D是一個sparse矩陣? 因為我試了先造K2D,再使用sparse(K2D),耗時有點久,很懷疑自己搞錯 然後我要解 K2D*u=F, F和u是N*1的vector, F已知,要解u 我查了一些資料,說是如果在sparse的情況下,直接backslash F\K2D幾乎會是最快的 方法 但我實在不懂怎麼利用sparse啊... 先謝謝大家的指教! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.56.129.110 ※ 編輯: edcamel 來自: 61.56.129.110 (01/26 22:52)
sunev:octave沒有針對sparse做處理嗎? matlab是沒問題的 01/27 02:26
sunev:你可以參考matlab的kron的寫法,再轉成octave 01/27 02:27