คำถามติดแท็ก matrix

ในทางคณิตศาสตร์เมทริกซ์ (เมทริกซ์พหูพจน์) คืออาร์เรย์ของตัวเลขสัญลักษณ์หรือนิพจน์รูปสี่เหลี่ยมผืนผ้าซึ่งจัดเรียงเป็นแถวและคอลัมน์ แต่ละรายการในเมทริกซ์เรียกว่าองค์ประกอบหรือรายการ


8
การคูณแตกต่างกันอย่างไรสำหรับคลาส NumPy Matrix vs Array
เอกสาร numpy แนะนำให้ใช้อาร์เรย์แทนเมทริกซ์สำหรับการทำงานกับเมทริกซ์ อย่างไรก็ตามไม่เหมือนกับอ็อกเทฟ (ที่ฉันใช้จนถึงเมื่อไม่นานมานี้) * ไม่ทำการคูณเมทริกซ์คุณต้องใช้ฟังก์ชัน matrixmultipy () ฉันรู้สึกว่านี่ทำให้โค้ดอ่านไม่ออก มีใครแบ่งปันมุมมองของฉันและพบวิธีแก้ไขหรือไม่?

6
ใช้ฟังก์ชันกับทุกแถวของเมทริกซ์หรือกรอบข้อมูล
สมมติว่าฉันมีเมทริกซ์คูณ 2 และฟังก์ชันที่ใช้เวกเตอร์ 2 ตัวเป็นหนึ่งในอาร์กิวเมนต์ของมัน ฉันต้องการใช้ฟังก์ชันกับแต่ละแถวของเมทริกซ์และรับ n-vector วิธีการทำใน R? ตัวอย่างเช่นฉันต้องการคำนวณความหนาแน่นของการแจกแจงแบบปกติมาตรฐาน 2 มิติในสามจุด: bivariate.density(x = c(0, 0), mu = c(0, 0), sigma = c(1, 1), rho = 0){ exp(-1/(2*(1-rho^2))*(x[1]^2/sigma[1]^2+x[2]^2/sigma[2]^2-2*rho*x[1]*x[2]/(sigma[1]*sigma[2]))) * 1/(2*pi*sigma[1]*sigma[2]*sqrt(1-rho^2)) } out <- rbind(c(1, 2), c(3, 4), c(5, 6)) วิธีการใช้ฟังก์ชันกับแต่ละแถวout? จะส่งผ่านค่าสำหรับอาร์กิวเมนต์อื่น ๆ นอกเหนือจากจุดไปยังฟังก์ชันตามที่คุณระบุได้อย่างไร?
130 r  function  matrix  apply  sapply 

8
แปลงอาร์เรย์ 1D เป็นอาร์เรย์ 2D ในรูปแบบตัวเลข
ฉันต้องการแปลงอาร์เรย์ 1 มิติเป็นอาร์เรย์ 2 มิติโดยระบุจำนวนคอลัมน์ในอาร์เรย์ 2 มิติ สิ่งที่จะได้ผลเช่นนี้: > import numpy as np > A = np.array([1,2,3,4,5,6]) > B = vec2matrix(A,ncol=2) > B array([[1, 2], [3, 4], [5, 6]]) numpy มีฟังก์ชันที่เหมือนกับฟังก์ชัน "vec2matrix" ของฉันหรือไม่ (ฉันเข้าใจว่าคุณสามารถสร้างดัชนีอาร์เรย์ 1D ได้เช่นอาร์เรย์ 2 มิติ แต่นั่นไม่ใช่ตัวเลือกในโค้ดที่ฉันมี - ฉันจำเป็นต้องทำการแปลงนี้)

3
การค้นหาดัชนีแถวที่มีค่าสูงสุดโดยใช้ R
ให้เมทริกซ์ต่อไปนี้สมมติว่าฉันต้องการหาค่าสูงสุดในคอลัมน์ที่สอง: mat <- matrix(c(1:3,7:9,4:6), byrow = T, nc = 3) mat [,1] [,2] [,3] [1,] 1 2 3 [2,] 7 8 9 [3,] 4 5 6 ฉันรู้ว่าmax(mat[,2])จะส่งคืน 8 ฉันจะคืนค่าดัชนีแถวในกรณีนี้แถวที่สองได้อย่างไร
117 r  matrix 


4
วิธีการรับการคูณเมทริกซ์ที่ชาญฉลาด (ผลิตภัณฑ์ Hadamard) เป็นตัวเลข
ฉันมีเมทริกซ์สองตัว a = np.matrix([[1,2], [3,4]]) b = np.matrix([[5,6], [7,8]]) และฉันต้องการได้ผลิตภัณฑ์ที่เป็นองค์ประกอบอย่าง[[1*5,2*6], [3*7,4*8]]เท่าเทียมกัน [[5,12], [21,32]] ฉันเหนื่อย print(np.dot(a,b)) และ print(a*b) แต่ทั้งสองให้ผลลัพธ์ [[19 22], [43 50]] ซึ่งเป็นผลิตภัณฑ์เมทริกซ์ไม่ใช่ผลิตภัณฑ์ที่เป็นองค์ประกอบ ฉันจะรับผลิตภัณฑ์ที่มีองค์ประกอบ (หรือที่เรียกว่าผลิตภัณฑ์ Hadamard) โดยใช้ฟังก์ชันในตัวได้อย่างไร

8
เหตุใดจึงใช้ควอเทอร์เนียนสำหรับการหมุน
ฉันเป็นนักฟิสิกส์และได้เรียนรู้การเขียนโปรแกรมมาบ้างและเจอผู้คนมากมายที่ใช้ควอเทอร์เนียนสำหรับการหมุนแทนที่จะเขียนสิ่งต่าง ๆ ในรูปแบบเมทริกซ์ / เวกเตอร์ ในฟิสิกส์มีเหตุผลที่ดีมากที่เราไม่ใช้ควอเทอร์เนียน (แม้จะมีเรื่องราวแปลกประหลาดที่เล่าเกี่ยวกับแฮมิลตัน / กิ๊บส์ / ฯลฯ เป็นครั้งคราว) ฟิสิกส์ต้องการให้คำอธิบายของเรามีพฤติกรรมการวิเคราะห์ที่ดี (สิ่งนี้มีความหมายที่กำหนดไว้อย่างชัดเจน แต่ด้วยวิธีการทางเทคนิคบางอย่างที่ไปไกลกว่าสิ่งที่สอนในชั้นเรียนแนะนำปกติดังนั้นฉันจะไม่ลงรายละเอียดใด ๆ ) ปรากฎว่าควอเทอร์เนียนไม่มีพฤติกรรมที่ดีเช่นนี้ดังนั้นจึงไม่มีประโยชน์และเวกเตอร์ / เมทริกซ์ทำดังนั้นเราจึงใช้มัน อย่างไรก็ตาม จำกัด เฉพาะการหมุนแบบแข็งและคำอธิบายที่ไม่ใช้โครงสร้างการวิเคราะห์ใด ๆ การหมุน 3 มิติสามารถอธิบายได้เทียบเท่ากันไม่ว่าจะด้วยวิธีใด (หรือวิธีอื่น ๆ ) โดยทั่วไปเราต้องการเพียงแค่การทำแผนที่ของจุด X = (x, y, z) ไปยังจุดใหม่ X '= (x', y' Z ') เรื่องกับข้อ จำกัด ที่ X 2 = X' …

11
ฉันจะใช้ฟังก์ชันกับทุกแถว / คอลัมน์ของเมทริกซ์ใน MATLAB ได้อย่างไร
คุณสามารถใช้ฟังก์ชั่นทุกรายการในเวกเตอร์โดยกล่าวว่าตัวอย่างเช่นv + 1, arrayfunหรือคุณสามารถใช้ฟังก์ชั่น ฉันจะทำมันสำหรับทุกแถว / คอลัมน์ของเมทริกซ์โดยไม่ต้องใช้ for loop ได้อย่างไร

6
ฉันจะสร้างเมทริกซ์จากรายการเวกเตอร์ใน R ได้อย่างไร
เป้าหมาย: จากรายการเวกเตอร์ที่มีความยาวเท่ากันสร้างเมทริกซ์โดยที่เวกเตอร์แต่ละตัวจะกลายเป็นแถว ตัวอย่าง: > a <- list() > for (i in 1:10) a[[i]] <- c(i,1:5) > a [[1]] [1] 1 1 2 3 4 5 [[2]] [1] 2 1 2 3 4 5 [[3]] [1] 3 1 2 3 4 5 [[4]] [1] 4 1 2 3 4 5 [[5]] …
102 r  matrix  vector 

1
ไม่เข้าใจประเภทข้อมูล
ฉันกำลังพยายามใช้เมทริกซ์เพื่อคำนวณสิ่งต่างๆ รหัสคือนี่ import numpy as np # some code mmatrix = np.zeros(nrows, ncols) print mmatrix[0, 0] แต่ฉันได้รับ 'ประเภทข้อมูลไม่เข้าใจ' และใช้งานได้ถ้าฉันทำจากเทอร์มินัล
96 python  matrix  numpy 

4
การนับจำนวนองค์ประกอบที่ไม่ใช่ NaN ใน numpy ndarray ใน Python
ฉันต้องการคำนวณจำนวนองค์ประกอบที่ไม่ใช่ NaN ในเมทริกซ์ numpy ndarray เราจะทำสิ่งนี้อย่างมีประสิทธิภาพใน Python ได้อย่างไร? นี่คือรหัสง่ายๆของฉันสำหรับการบรรลุสิ่งนี้: import numpy as np def numberOfNonNans(data): count = 0 for i in data: if not np.isnan(i): count += 1 return count มีฟังก์ชันในตัวสำหรับสิ่งนี้เป็นตัวเลขหรือไม่? ประสิทธิภาพเป็นสิ่งสำคัญเพราะฉันกำลังทำการวิเคราะห์ข้อมูลขนาดใหญ่ ขอบคุณสำหรับความช่วยเหลือ!
90 python  numpy  matrix  nan 

3
แบ่งดาต้าเฟรมขนาดใหญ่เป็นรายการของเฟรมข้อมูลตามค่าทั่วไปในคอลัมน์
ฉันมีกรอบข้อมูลที่มี 10 คอลัมน์ซึ่งรวบรวมการกระทำของ "ผู้ใช้" โดยที่คอลัมน์ใดคอลัมน์หนึ่งมี ID (ไม่ใช่เฉพาะระบุผู้ใช้) (คอลัมน์ 10) ความยาวของกรอบข้อมูลประมาณ 750000 แถว ฉันกำลังพยายามแยกเฟรมข้อมูลแต่ละรายการ (ดังนั้นการรับรายการหรือเวกเตอร์ของเฟรมข้อมูล) แยกตามคอลัมน์ที่มีตัวระบุ "ผู้ใช้" เพื่อแยกการกระทำของนักแสดงคนเดียว ID | Data1 | Data2 | ... | UserID 1 | aaa | bbb | ... | u_001 2 | aab | bb2 | ... | u_001 3 | aac | bb3 | …

8
ฉันจะวนซ้ำแต่ละองค์ประกอบในเมทริกซ์ n มิติใน MATLAB ได้อย่างไร
ฉันมีปัญหา. ฉันต้องการวนซ้ำทุกองค์ประกอบในเมทริกซ์ n มิติใน MATLAB ปัญหาคือฉันไม่รู้ว่าจะทำอย่างไรกับจำนวนมิติโดยพลการ ฉันรู้ว่าฉันพูดได้ for i = 1:size(m,1) for j = 1:size(m,2) for k = 1:size(m,3) และอื่น ๆ แต่มีวิธีทำตามจำนวนมิติโดยพลการหรือไม่?

5
ฉันจะสร้างเมทริกซ์สหสัมพันธ์ใน R ได้อย่างไร
ฉันมีข้อมูลประเภทเดียวกัน 92 ชุด ฉันต้องการสร้างเมทริกซ์สหสัมพันธ์สำหรับสองชุดค่าผสมที่เป็นไปได้ เช่นฉันต้องการเมทริกซ์ 92 x92 องค์ประกอบดังกล่าว (ci, cj) ควรมีความสัมพันธ์ระหว่าง ci และ cj ฉันจะทำอย่างไร?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.