Posts

Showing posts with the label MATLAB

การ import MNIST เข้า MATLAB

ดาวน์โหลด MNIST แบบ CSV ที่ https://pjreddie.com/projects/mnist-in-csv/ การ import >> data = load('mnist_train.csv'); แยก label กับรูป (image) ออกจากกัน >> labels = data(1,:); >> images = data(:,2:785); แสดงรูปที่ 1 >> colormap gray >> image_1 = reshape((images(1,:),28,28); >> imagesc(image_1') อ่าน label ของรูปที่ 1 แล้วตรวจสอบว่าตรงกับรูปภาพที่แสดงหรือไม่ >> labels(1) อ้างอิง https://www.youtube.com/watch?v=9onT6_pz4ks

การใช้ MATLAB ย้ายข้างสมการ

Image
สมมติว่าเราต้องการย้ายข้างสมการที่ซับซ้อนมากๆ เช่น ให้อยู่ในรูป Y = [การคำนวณตัวแปร X]  โดยกำหนดให้ B1, B2, D, V1, V2 เป็นค่าคงที่ จากสมการตั้งต้น การย้ายข้างด้วยมือทำได้ยากมาก หรืออาจจะทำไม่ได้ เราจึงต้องใช้ MATLAB ช่วยคำนวณ ตามขั้นตอนดังนี้ #ประกาศตัวแปรแบบ symbolic >> syms Y X B1 B2 V1 V2 D; #เขียนสมการตั้งต้น >> eqn = ((X*D)/Y) - X == (((((2/B1)^(1/2))*((Y/X)^(1/2)))+V1)*(X/Y)) + (B2*((D/2)-(Y/2)-V2+(V1/2)+(((1/2)*((2/B1)^(1/2))*((Y/X)^(1/2))))))^(-1); #ใช้คำสั่ง solve โดยเริ่มต้นใช้ MaxDegree เป็น 1 >> solY = solve(eqn, Y, 'MaxDegree', 1); #ตรวจสอบผลลัพธ์ >> pretty(solY) ให้สังเกตุสมการผลลัพธ์ว่ามี warning และมีตัวแปร Z เพิ่มเข้ามาหรือไม่ ถ้ามีให้เพิ่ม MaxDegree ขึ้นทีละ 1 จนกว่าตัวแปร Z จะหายไป #ในกรณีนี้ใช้ MaxDegree เท่ากับ 4 >> solY = solve(eqn, Y, 'MaxDegree', 4); #ตรวจสอบผลลัพธ์อีกครั้ง >> pretty(solY) จะเห็นว่ามีสมการคำตอบอยู่ 4 สมการ และมีสมการย่อยเยอะมาก (แสดงไม่หมด) เราต้องทดสอบว่าสมการ...