Sebelumnya sudah ada postingan tentang menghitung eigenvalue, eigenvector dan operasi operasi lainnya di C#, pada postingan kali ini akan dibahas lebih detail untuk menghitung eigenValue. Perlu di ketahui, bahwa untuk menghitung eigenvalue maupun eigenvector pada sebuah matrix tergolongan rumit, diperlukan methode tersendiri untuk menghitung eigenvalue dan eigenVector. Accord merupakan salah satu library yang bisa digunakan untuk menghitung eigenValue, eigenVector maupun operasi operasi matrix lainnya. Seperti biasanya untuk membuat project silahkan siapkan project kosong terlebih dahulu, klik file new project akan muncul kotak project name, isi nama project sesuai dengan keinginan, tidak ada aturan khusus dalam penulisan. untuk langkah langkah lebih detail silahkan ikuti step demi step berikut ini. Sebelum membuat project silahkan baca terlebih dahulu artikel membuat multiForm disini dan menambahkan library disini karena ini project kali ini berkaitan dengan kedua artikel diatas
langkah 1 : tambahkan komponen openfiledialog, datagirdview, tabControl, openFileDialogdan dua buah button, atur dan tata sedemikian rupa sehingga tampilanya seperti pada gambar diatas
langkah 2 : tambahkan kelas excelReader (untuk cara meambahkan kelas dan source code kelas reader silahkan baca tutorial disini)
langkah 3 : tambhakan satu form lagi dan atur supaya bisa meload data dari file excel dan juga bisa terkoneksi dengan form satu, (tutoria nya silahkan baca disini)langlah 4 : tambahkan library accord.math. untuk file dll nya silahkan download disni. setelah file accord.math.dll berhasil di reference ke project, tambahakn code berikut ini pada header program
using Accord.Math;
using Accord.Math.Decompositions;
using Accord.Math.Decompositions;
langkah 5 : pada button satu (button yang berlabelkan load data) double klik pada button tersebut untuk membangkitkan event single klik pada button tersebut. setelah muncul jendela code, tambahakan source berikut ini
if (openFileDialog1.ShowDialog(this) == DialogResult.OK){
string filename = openFileDialog1.FileName;
string extension = Path.GetExtension(filename);
if (extension == ".xls")
{
ExcelReader db = new ExcelReader(filename, true, false);
Form2 t = new Form2(db.GetWorksheetList());
if (t.ShowDialog(this) == DialogResult.OK)
{
this.dataGridView1.DataSource = db.GetWorksheet(t.Selection);
this.dataGridView1.DataSource = db.GetWorksheet(t.Selection);
}
}
for (int i = 0; i < dataGridView1.Rows.Count - 1; i++){
dataGridView1.Rows[i].HeaderCell.Value = (i + 1).ToString();
}}
dataMatrix = ToMatrix(dataGridView1.DataSource as DataTable, out sourceColomns);
string filename = openFileDialog1.FileName;
string extension = Path.GetExtension(filename);
if (extension == ".xls")
{
ExcelReader db = new ExcelReader(filename, true, false);
Form2 t = new Form2(db.GetWorksheetList());
if (t.ShowDialog(this) == DialogResult.OK)
{
this.dataGridView1.DataSource = db.GetWorksheet(t.Selection);
this.dataGridView1.DataSource = db.GetWorksheet(t.Selection);
}
}
for (int i = 0; i < dataGridView1.Rows.Count - 1; i++){
dataGridView1.Rows[i].HeaderCell.Value = (i + 1).ToString();
}}
dataMatrix = ToMatrix(dataGridView1.DataSource as DataTable, out sourceColomns);
langlah 6 : Lakukan hal yang sama pada button dua (button yang berlabelkan prosess). source codenya seperti dibawah ini
var evd = new EigenvalueDecomposition(dataMatrix);
var V = evd.Eigenvectors;
var D = evd.DiagonalMatrix;
tampilkanDataMatrik(D, dataGridView2);
var V = evd.Eigenvectors;
var D = evd.DiagonalMatrix;
tampilkanDataMatrik(D, dataGridView2);
grid.Rows.Clear();
for (int i = 0; i < data.GetLength(0); i++)
{
DataGridViewColumn newCol = new DataGridViewColumn();
DataGridViewCell cell = new DataGridViewTextBoxCell();
newCol.CellTemplate = cell;
newCol.HeaderText = (i+1).ToString();
newCol.Visible = true;
newCol.Width = 60;
grid.Columns.Add(newCol);
}
grid.Rows.Add(data.GetLength(1));
for (int i = 0; i < data.GetLength(1); i++)
{
grid.Rows[i].HeaderCell.Value = (i + 1).ToString();
}
for (int i = 0; i < data.GetLength(0); i++)
{
for (int j = 0; j < data.GetLength(1); j++)
{
grid.Rows[i].Cells[j].Value = data[i,j].ToString();
}
}
for (int i = 0; i < data.GetLength(0); i++)
{
DataGridViewColumn newCol = new DataGridViewColumn();
DataGridViewCell cell = new DataGridViewTextBoxCell();
newCol.CellTemplate = cell;
newCol.HeaderText = (i+1).ToString();
newCol.Visible = true;
newCol.Width = 60;
grid.Columns.Add(newCol);
}
grid.Rows.Add(data.GetLength(1));
for (int i = 0; i < data.GetLength(1); i++)
{
grid.Rows[i].HeaderCell.Value = (i + 1).ToString();
}
for (int i = 0; i < data.GetLength(0); i++)
{
for (int j = 0; j < data.GetLength(1); j++)
{
grid.Rows[i].Cells[j].Value = data[i,j].ToString();
}
}
langkah 8 : done, program selesai dibuat. Jika langkha langkah diatas dilakukan dengan benar, maka program pada waktu dijalankan akan muncul form dimana user diminta untuk meload data dari file excel. Setelah data berhasil diload ke dataGrid selanjutnya dilakukan proses untuk menghitung eigenValue maupun EigenVector. Hasil perhitungan dari eigenValue dan eigenVector akan ditampilkan pada tab proses. Berikut ini beberapa hasil preview saat program dijalankan
Gambar 1. Tampilan program saat meload data dari file excel
Gambar 2. Hasil perhitungan Eigen value menggunakan Accord.Math
Coba bandingkan hasil perhitungan program yang telah dibuat dengan hasil perhitungan eigenvalue yang dihitung menggunakan program matlan 7. Bila diperhatikan secara cermat tidak ada berbedaan angka, jadi kesimpulannya hasil perhitungan library accord.math sangat akurat
Gambar 3. Preview perhitungan eigenValue dengan tool matlab 7
Download program disini
Download project disni
Download library accord (accord.math) disini
Download file data excelnya disini
For more information contact on informasi@csharp-indonesia.com
pandauan download : klik link download yang disediaan diatas, setelah itu akan muncul halaman adf.ly, tunggu beberapa detik sampai pada pojok kanan atas muncul tulisan skip ad. klik tombol tersebut ,setelah itu akan muncul halaman ziddu, silahkan klik pada button download yang muncul pada halaman ziddu
NB : Semua program dalam tutorial ini ditulisa menggunakan IDE Visual studio 2010. dengan target framework 3.5.Sehingga minimal komputer harus terinstal windows vista untuk bisa menjalankan program *.exe nya, Atau windows xp yang sudah di instal netFrameWork 3.5. Sedangkan untuk membuka projectnya mau tidak mau harus menginstal microsoft visual studio 2010
Artikel Terkait
salam kenal admin, apakah ini bisa di implementasikan pada VB.? terimakasih. mohon bantuannya ya..
BalasHapus@Anonim:DLL ini didesain untuk framework .NET dan saya rasa ini bisa diimplementasikan pada VB.NET tapi saya belum pernah mencobanya
BalasHapusterimakasih banyak
BalasHapusKomentar ini telah dihapus oleh pengarang.
BalasHapus@Anonim:OK
BalasHapuskalo penghitungan eigenvalue langsung di C# bisa ga ya? tanpa melibatkan matlab nya...
BalasHapusskalian donk request mengubah matriks menjadi vector dan menampilkan nya didatagridview
CP: wew@dugem.com
kalau di C# nya sendiri tidak disediakan function untuk melakukan solve eigen, baik itu eigen Vector maupun Eigen Value, sehingga harus membutuhkan sebuah Library untuk melakukan solve tersebut, dan Library yang paling sering digunakan adalah Accord dan Aforge dimana kedua Library ini sudah sangat teruji dalam hal akurasi dan kecepatannya.
BalasHapussemoga bisa bermanfaat..
oia saya masih bingung dengan yang dimaksud mengubah matrix menjadi vector.?
bisa dijelaskan sedikit?
terimakasih banyak
tambahan...
BalasHapusjika ingin menggunakan Bahasa .NET tetapi mempunyai kemampuan dan fitur yang mirip dengan MATLAB, silahkan coba dengan bahasa Pemrograman F#. Kalau C# adalah Javanya Microsoft maka F# adalah MATLABnya Microsoft...
patut dicoba.. heheheh
terimakasih dan semoga bisa bermanfaat....
amin..
gimana caranya supaya bisa download projectnya ya... soalnya data projectnya sudah di hapus dari ziddu.... kalau masih masih ada file projectnya tolong dikirimin dong ... ke : mait_ern@ymail.com
BalasHapuschenlina20150916
BalasHapusgucci outlet
football shoes
tods outlet
abercrombie and fitch
ray ban sunglasses
kate spade handbags
soccer shoes
air max
adidas shoes
nike blazer
timberland boots
longchamp pas cher
mizuno running shoes
giuseppe zanotti sneakers
vans shoes
ray bans
cheap oakleys
fake oakleys
juicy couture
louis vuitton pas cher
canada goose uk
longchamp handbags
nike roshe runs
true religion jeans
ghd hair straighteners
nike huarache trainers
nike roshe run
p90x workouts
air max 95
rolex watches
nike trainers
barbour uk
nike store uk
polo outlet
nike tn
ralph lauren polos shirts
rolex replica watches
adidas original trainers
ugg sale
ugg boots
as
zhengjx20160326
BalasHapuscoach factory outlet
toms shoes
coach outlet online
kate spade outlet
coach purses on sale
prada outlet
longchamp bags
michael kors outlet
nike blazer
coach outlet store online
burberry outlet canada
canada goose sale
michael kors purses
valentino
coach outlet store online
adidas superstars
adidas gazelle
lululemon outlet store
fitflops outlet
mcm handbags
skechers outlet
coach outlet
fitflop uk
cheap ray ban sunglasses
canada goose jackets
louis vuitton handbags
christian louboutin outlet
oakley sunglasses sale
louboutin outlet
longchamp outlet
canada goose uk
michael kors
ralph lauren
coach outlet
valentino bags
ralph lauren
coach outlet store online
kate spade handbags
canada goose uk
ray bans
zhengjx20160411
BalasHapuscheap jerseys
air max
cheap toms
rolex watches
hollister clothing
ray ban outlet
true religion jeans
toms shoes outlet online
kate spade outlet
christian louboutin shoes
michael kors bags
louis vuitton outlet
louis vuitton purses
ralph lauren outlet
kate spade outlet
nike roshe run
replica rolex watches
louis vuitton outlet
coach factorty outlet online
christian louboutin shoes
nike sb dunks
timberland boots
marc jacobs outlet
michael kors outlet
polo ralph lauren
ray ban sunglasses outlet
michael kors outlet online
burberry outlet
michael kors outlet clearance
rolex watches
true religion outlet
michael kors handbags
louis vuitton handbags
jordan concords
michael kors canada
cheap ray ban sunglasses
nike uk
ray ban wayfarer
concords 11
cheap basketball shoes
atlanta falcons jerseys
BalasHapusbroncos jerseys
new orleans saints jersey
chargers jerseys
ravens jerseys
miami heat jerseys
carolina panthers jersey
jacksonville jaguars jersey
air max 90
salomon shoes
los angeles lakers jerseys
air max uk
seahawks jersey
new york knicks jersey
abercrombie and fitch
mac cosmetics
chicago bears jerseys
tods shoes sale
new orleans saints jerseys
supra shoes
nike outlet online
tommy hilfiger uk
new york knicks
detroit lions jersey
salomon shoes sale
nike roshe run
hollister canada
vikings jerseys
tods outlet
nike free running
bears jerseys
nike free run
miami heat
giants jersey
fred perry polo
linyuan0517
coach factory outlet online
BalasHapusferragamo outlet
ugg australia outlet
birkenstock shoes
nike air force black
louis vuitton handbags
polo ralph lauren outlet
versace sunglasses
nba jerseys wholesale
ferragamo
burberry outlet stores
yeezy boost 350
michael kors outlet
nike shoes for cheap
burberry outlet online
asics running shoes
michael kors outlet online
nike force 1
nike free runs
pandora charms uk
ralph lauren outlet
burberry bags
nike cortez white
sac longchamp pliage
tiffany and co outlet
true religion uk
ralph lauren pas cher
chi flat iron
moncler jackets
nike free flyknit 3.0
polo ralph lauren outlet
hollister kids
nike free 5.0
20160722caiyan
dolphins jerseys
BalasHapusmichael kors handbags
lions jerseys
michael kors outlet
michael kors handbags
green bay packers jerseys
the north face outlet
eagles jerseys
cheap ray ban sunglasses
michael kors handbags online
cheap ray ban sunglasses
BalasHapuscardinals jersey
pandora outlet
cheap nike shoes sale
49ers jersey
polo ralph lauren
ray ban sunglasses
oakley sunglasses
boston celtics
jordan shoes