در این جلسه، تیم کدگیت را با آموزش جمع و تفریق ماتریس در جاوا همراهی کنید. پیش نیاز این آموزش کار با آرایه ها است.
ماتریس
ماتریس به آرایشی مستطیلی شکل از اعداد یا عبارات ریاضی که بصورت سطر و ستون شکل یافته گفته میشود. به طوری که میتوان گفت که هر ستون یا هر سطر یک ماتریس، یک بردار را تشکیل میدهد. هر یک از عناصر ماتریس درایه خوانده میشود. ماتریسی با ۲ سطر و ۳ ستون به این شکل است:
ماتریسهای هم اندازه (با تعداد سطر و ستون برابر) را میتوان با هم جمع یا از هم تفریق کرد. ضرب دو ماتریس تنها در صورتی ممکن است که تعداد ستونهای ماتریس اول با تعداد سطرهای ماتریس دوم برابر باشد.
در جبر خطی، میتوان اثبات کرد که هر نگاشت خطیِ، از فضای Rn به فضای Rn ، یکریخت با یک ماتریس m*n (یعنی m سطر n ستون) میباشد. ماتریسها کاربردهای فراوانی در جبر خطی دارند(ویکیپدیا).
جمع ماتریس
برای جمع ماتریس باید تعداد سطر و ستون دو ماتریس با هم برابر باشند(یعنی هر دو مثلا 2*3 باشند). فرمول جمع ماتریس به صورت زیر است.
تفریق ماتریس
برای تفریق ماتریس باید تعداد سطر و ستون دو ماتریس با هم برابر باشند. فرمول تفریق ماتریس به صورت زیر است.
پیاده سازی جمع و تفریق ماتریس در جاوا
برای پیاده سازی ماتریس از آرایه دو بعدی استفاده میکنند. ما یک کلاس مینویسیم به نام Matrix و دو متد add و subtract که به ترتیب جمع و تفریق هستند را در آن کلاس پیاده سازی میکنیم.
public class Matrix {
// return C = A + B
public static double[][] add(double[][] A, double[][] B) {
int m = A.length;
int n = A[0].length;
double[][] C = new double[m][n];
for (int i = 0; i < m; i++)
for (int j = 0; j < n; j++)
C[i][j] = A[i][j] + B[i][j];
return C;
}
// return C = A - B
public static double[][] subtract(double[][] A, double[][] B) {
int m = A.length;
int n = A[0].length;
double[][] C = new double[m][n];
for (int i = 0; i < m; i++)
for (int j = 0; j < n; j++)
C[i][j] = A[i][j] - B[i][j];
return C;
}
}
همانطور که در کد جمع و تفریق ماتریس در جاوا میبینید ما ابتدا سطر و ستون ماتریس را میگیریم و عناصر هر خانه ماتریس را با خانه معادل آن در ماتریس دیگر جمع و یا تفریق میکنیم.
تست برنامه
کد زیر کد تست برنامه ما است.
public static void main(String[] args) {
double[][] a = { { 1, 2, 3 }, { 4, 5, 6 }, { 9, 1, 3 } };
double[][] b = { { 5, 3, 3 }, { 1, 7, 6 }, { 8, 5, 4 } };
double subtract[][] = subtract(a, b);
double add[][] = add(a, b);
System.out.println("add");
for (int i = 0; i < add.length; i++) {
System.out.println(Arrays.toString(add[i]));
}
System.out.println("subtract");
for (int i = 0; i < subtract.length; i++) {
System.out.println(Arrays.toString(subtract[i]));
}
{
ما در کد بالا دو ماتریس را به نام a و b تعریف کردیم و با هم جمع و تفریق کردیم.سپس نتیجا را نمایش دادیم.
خروجی برنامه جمع و تفریق ماتریس در جاوا
add
[6.0, 5.0, 6.0]
[5.0, 12.0, 12.0]
[17.0, 6.0, 7.0]
subtract
[-4.0, -1.0, 0.0]
[3.0, -2.0, 0.0]
[1.0, -4.0, -1.0]
Download “دانلود سورس جمع و تفریق ماتریس در جاوا”
Matrix-implementation-www.codegate.ir_.rar – 127 بار دانلود شده است – 4,24 کیلوبایت پسورد: www.codegate.ir