2
我是Mathematica編程中的新手,我需要一些幫助。我試圖編寫一個函數來獲取任意數組的元素,並構建一個特定格式的字符串以在Math LibreOffice中使用。從數組中創建字符串的函數(Mathematica)
我的代碼如下:
OOForm[MM_] :=
(strMM = "left (matrix{";
For[i = 1, i < Dimensions[MM][[1]], i++] { (* not last row *)
For[j = 1, j < Dimensions[MM][[2]], j++] { (* not last element from the row *)
strMM = strMM <> ToString[MM[[i, j]], InputForm] <> "#";
}; (* last element from the row *)
strMM = strMM <> ToString[MM[[i, Dimensions[MM][[2]]]], InputForm] <> "##";
};
For[j = 1, j < Dimensions[MM][[2]], j++] { (* last row without the last element *)
strMM = strMM <> ToString[MM[[Dimensions[MM][[1]], j]], InputForm] <> "#";
}; (* last element *)
strMM = strMM <> ToString[MM[[(Dimensions[MM][[1]]), Dimensions[MM][[2]]]], InputForm] <> "} right)";
strMM;
)
有了這樣的輸入:
A = {{3/2, -1, -2, -2, -2}, {0, 3, 6, 10, 14}, {-6, 3/2, 5, 5, 5}, {19/2, -7, -35/2, -24, -61/2}};
預期輸出是:
"left (matrix{3/2#-1#-2#-2#-2##0#3#6#10#14##-6#3/2#5#5#5##19/2#-7#-35/2#-24#-61/2} right)"
但它拋出這個輸出:
"left (matrix{-61/2#-61/2##-61/2#-61/2} right)"
這不是預期的輸出,但我無法找到該錯誤。
謝謝。
非常感謝您的回答,這很好。你說得對,我試圖將C風格的編程移植到Mathematica,就是這樣。 :) –