[問題] if-else簡化寫法
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
C++, GCC, Windows 7
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
Eigen
問題(Question):
希望可以把code簡化
程式太過冗長...
希望有更簡明扼要的寫法
程式碼(Code):(請善用置底文網頁, 記得排版)
http://codepad.org/PaWuGuTF
新修改的:http://codepad.org/s0ccUhkZ
補充說明(Supplement):
function 功能敘述:
拿來做兩個矩陣(or 可兩個都為向量,或是一個為向量)的運算 (同matlab的bsxfun)
要先判斷兩個矩陣的dim為何,進行相對應的運算
假設operator 都用"plus"來舉例
例子一:
matrix A: 3 x 5
matrix B: 3 x 1
這樣就是有一個dimension相等
把B的元素加到A的每一行 => 得到矩陣C ( 3 x 5 )
例子二:
matrix A: 3 x 1
matrix B: 1 x 5
類似把A橫向複製五次 加上 B縱向複製三次
這樣會得到矩陣C (3 x 5)
如果operator 用 "times" 相加就改成相乘
現在因為有兩層,code會非常長
不知道有沒有方法縮成一層 (除了把if條件合併外的方法)
用比較簡單的方法呈現整個程式
謝謝大大協助!
另外,想問我現在C++都用Eigen library
而我只看過C++ primer中 資料型態的部分
對於template, STL, container完全不熟
會影響我寫程式的效率嗎?
主要使用是做科學運算為主
PS: 其他程式語言 只學過matlab, R
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 36.238.90.220
→
02/16 00:38, , 1F
02/16 00:38, 1F
謝謝告知
→
02/16 00:42, , 2F
02/16 00:42, 2F
operator 我想寫在一起 沒想拆開...
→
02/16 00:44, , 3F
02/16 00:44, 3F
→
02/16 00:45, , 4F
02/16 00:45, 4F
→
02/16 00:49, , 5F
02/16 00:49, 5F
謝謝大大告知 我會繼續補強我的C++的
推
02/16 02:04, , 6F
02/16 02:04, 6F
推
02/16 02:08, , 7F
02/16 02:08, 7F
switch 考慮過 可是真的不如if-else簡單
推
02/16 03:13, , 8F
02/16 03:13, 8F
好
→
02/16 03:13, , 9F
02/16 03:13, 9F
好,不過我還要擴充兩個operate...怕越來越亂
→
02/16 03:14, , 10F
02/16 03:14, 10F
其實我還沒寫完,還少這個case跟else還要報錯XDD
→
02/16 03:15, , 11F
02/16 03:15, 11F
→
02/16 03:15, , 12F
02/16 03:15, 12F
謝謝更正,真的很細心幫我看
→
02/16 03:17, , 13F
02/16 03:17, 13F
→
02/16 03:17, , 14F
02/16 03:17, 14F
好,謝謝建議
→
02/16 03:19, , 15F
02/16 03:19, 15F
→
02/16 03:20, , 16F
02/16 03:20, 16F
→
02/16 03:20, , 17F
02/16 03:20, 17F
→
02/16 03:29, , 18F
02/16 03:29, 18F
→
02/16 03:30, , 19F
02/16 03:30, 19F
→
02/16 03:31, , 20F
02/16 03:31, 20F
→
02/16 03:32, , 21F
02/16 03:32, 21F
→
02/16 03:32, , 22F
02/16 03:32, 22F
謝謝,已經修改
程式已經全數修正完畢,完整版本就不方便放上了,
有興趣可以在私信我,或是自行修改。
※ 編輯: celestialgod 來自: 36.238.90.220 (02/16 05:00)
→
02/17 03:50, , 23F
02/17 03:50, 23F
→
02/17 03:50, , 24F
02/17 03:50, 24F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章