1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài tập lớn kĩ thuật lập trình trong cơ điện tử chương trình xử lý các phép tính liên quan đến ma trận

17 24 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Chương trình xử lý các phép tính liên quan đến ma trận
Tác giả Nguyễn Thành Hùng
Người hướng dẫn TS. Nguyễn Thành Hùng
Trường học Trường Đại học Bách Khoa Hà Nội
Chuyên ngành Kỹ thuật lập trình trong cơ điện tử
Thể loại Bài tập lớn
Năm xuất bản 2016
Thành phố Hà Nội
Định dạng
Số trang 17
Dung lượng 388,57 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

BỘ MÔN CƠ ĐIỆN TỬ GVHD TS NGUYỄN THÀNH HÙNG Bài tập lớn Kỹ thuật lập trình trong Cơ diện tử TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CƠ KHÍ BÀI TẬP LỚN KĨ THUẬT LẬP TRÌNH TRONG CƠ ĐIỆN TỬ Đề tài Chương tr.

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN CƠ KHÍ

BÀI TẬP LỚN

KĨ THUẬT LẬP TRÌNH TRONG CƠ

ĐIỆN TỬ

Đề tài :Chương trình xử lý các phép tính liên quan đến ma trận

Giảng viên hướng dẫn : TS NGUYỄN THÀNH HÙNG

Sinh viên thực hiện:

1.

2.

3.

Hà Nội 5/2016

Trang 2

Mục lục PHẦN MỞ ĐẦU 3

PHẦN NỘI DUNG 4

I.Giới thiệu về ma trận và các kiến thức sử dụng trong project 4

1 Khái niệm ma trận 4

2 Độ lớn của ma trận 4

3 Ma trận chuyển vị 5

4 Phép cộng, trừ hai ma trận 5

5 Phép nhân hai ma trận 5

II Nội dung: 6

III Kết quả 13

Trang 3

PHẦN MỞ ĐẦU

C++ đã tồn tại và phát triển một khoảng thời gian dài và nó đã giải quyết được vô

số những thách thức trong ngành công nghiệp nó là ngôn ngữ chính quyết định trải nghiệm trên di động ngày nay Ngoài việc sử dụng trong các máy chủ hiệu suất cao và các middleware, C++ là một sự lựa chọn tuyệt vời cho việc phát triển phía client side trên hai nền tảng di động phổ biến nhất là Android và iOS và hai nền tảng desktop phổ biến nhất là Windows và Mac OS X Với việc giới thiệu các công

cụ phát triển gần đây hỗ trợ thiết kế trực quan cho các ứng dụng client,

middleware, và server side; C++ cực kỳ hiệu quả và khiến nó là một sự lựa chọn tuyệt vời để phát triển các ứng dụng hiện đại

Nhận thấy được tầm qua trọng của việc ứng dụng phần mềm C++ trong công việc, trong bài tập lớn này chúng em sử dụng phần mềm C++ để giải quyết và tính toán những phép toán cơ bản của ma trận dựa trên sự hướng dẫn và những kiến thức được cung cấp của giảng viên TS NGUYỄN THÀNH HÙNG

Trong project, nội dung yêu cầu công việc của chúng em như sau:

-Nhập vào hai ma trận

-Tính ma trận chuyển vị

-Thực hiện các phép tính cộng, trừ, nhân hai ma trận đó

Phương pháp giải quyết đề tài: sử dụng kiến thức về mảng và thuật toán để giải ma trận

Trang 4

PHẦN NỘI DUNG

I Giới thiệu về ma trận và các kiến thức sử dụng

trong project

1 Khái niệm ma trận

Ma trận là một mảng chữ nhật chứa các số hoặc những đối tượng toán học khác, mà có thể định nghĩa một số phép toán như cộng hoặc nhân trên các ma

các đại lượng vô hướng của F Các số, ký hiệu hay biểu thức trong ma trận

được gọi là các phần tử của nó Các đường theo phương ngang hoặc phương dọc chứa các phần tử trong ma trận được gọi tương ứng là hàng và cột

Kí hiệu:

Phần tử trong hàng thứ i và cột thứ j của ma trận A đôi khi được viết

thành i,j, (i,j), hoặc phần tử thứ (i,j) của ma trận, và cách viết hay gặp nhất đó

2 Độ lớn của ma trận

Độ lớn hay cỡ của ma trận được định nghĩa bằng số lượng hàng và cột mà

ma trận có Một ma trận m hàng và n cột được gọi là ma trận m x n hoặc ma trận m-nhân-n, trong khi m và n được gọi là chiều của nó

Trang 5

3 Ma trận chuyển vị

hang thành cột và cột thành hàng:

A i , j T =A j ,i

Ví dụ:

4 Phép cộng, trừ hai ma trận

Tổng ( hiệu ) của hai ma trận cùng kích thước m x n A và B là một ma trận

cùng kích thước với phần tử trong vị trí tương ứng bằng tổng ( hiệu ) của hai phần tử tương ứng của mỗi ma trận

Vi dụ:

5 Phép nhân hai ma trận

Phép nhân hai ma trận được xác định khi và chỉ khi số cột của ma

trận bên trái bằng số hàng của ma trận bên phải Nếu A là một ma trận m x

n và B là một ma trận n x p, thì ma trận tích AB là ma trận m x p với các

cột tương ứng trong B

Trang 6

II Nội dung:

Bước 1 : Nhập điều kiện vào cho 2 ma trận: số hàng + số cột

//Nhâp sô nghiêm cua phuong trinh

do

{

cout<< "nhap so hang cua ma tran A:";

cin>>m1;

cout<<endl;

cout<< "nhap so cot cua ma tran A:";

cin>>n1;

cout<<endl;

}while(n1<0&&n1%1!=0&&m1<0&&m1%1!=0);

//NHAP SO HANG COT MA TRAN B

do {

cout<< "nhap so hang cua ma tran B:";

cin>>m2;

cout<<endl;

cout<< "nhap so cot cua ma tran B:";

cin>>n2;

cout<<endl;

Trang 7

}while(m2<0&&m2%1!=0&&n2<0&&n2%1!=0);

Bước 2: Cấp phát động cho ma trận A,B, A+B, A-B, A*B

//CAP PHAT DONG CHO MA TRAN A,B

double **a =new double*[m1];//hang

for(int i=0;i<m1;i++) {

a[i]= new double[n1];//cot

} double **b =new double*[m2];//hang

for(int i=0;i<m2;i++) {

b[i]= new double[n2];//cot

} //CAP PHAT DONG CHO MA TRAN KET QUA cho phep cong double **c =new double*[m1];//hang

for(int i=0;i<m1;i++) {

c[i]= new double[n1];//cot

} //CAP PHAT DONG CHP PHEP NHAN HAI MA TRAN

double **d =new double*[m1];//hang

for(int i=0;i<m1;i++) {

d[i]= new double[n2];//cot

} //cap phat dong cho ma tran chuyen vi

double **e =new double*[n1];//hang

Trang 8

for(int i=0;i<n1;i++) {

e[i]= new double[m1];//cot

} double **f =new double*[n2];//hang

for(int i=0;i<n2;i++) {

f[i]= new double[m2];//cot

}

Bước 3 : Nhập dữ liệu cho ma trận A và B

cout<<"nhap vap ma tran A:"<<endl;

for(int i=0;i<m1;i++)

for(int j=0;j<n1;j++)

{

cout<<"A["<<i+1<<"]"<<"["<<j+1<<"]="; cin>>a[i][j];

}

cout<<"nhap vap ma tran B:"<<endl;

for(int i=0;i<m2;i++)

for(int j=0;j<n2;j++)

{

cout<<"B["<<i+1<<"]"<<"["<<j+1<<"]="; cin>>b[i][j];

}

Bước 4: In ra ma trận chuyển vị:

cout<<"ma tran chuyen vi cua A la:"<<endl;

for(int i=0;i<m1;i++)

Trang 9

for(int j=0;j<n1;j++)

{

e[j][i]=a[i][j];

}

for(int i=0;i<n1;i++)

{

for(int j=0;j<m1;j++)

{

}

cout<<endl;

}

cout<<"ma tran chuyen vi cua B la:"<<endl; for(int i=0;i<m2;i++)

for(int j=0;j<n2;j++)

{

f[j][i]=b[i][j];

}

for(int i=0;i<n2;i++)

{

for(int j=0;j<m2;j++)

{

Trang 10

}

cout<<endl;

}

Bước 5: In ra ma trận tổng, hiệu của hai ma trận:

//Phep tru hai ma tran

if(m1==m2&&n1==n2)

{

cout<<"ma tran A-B la:"<<endl;

for(int i=0;i<m1;i++) {

for(int j=0;j<n1;j++) {

cout<<a[i][j]-b[i][j]<<"\t"; }

cout<<endl;

}

}

else

cout<<"ko the thuc hien phep tru hai ma tran"<<endl; //Phep cong hai ma tran

if(m1==m2&&n1==n2)

{

cout<<"ma tran A+B la:"<<endl;

for(int i=0;i<m1;i++) {

Trang 11

for(int j=0;j<n1;j++) {

cout<<c[i][j]<<"\t";

} cout<<endl;

}

}

else

cout<<"ko the thuc hien phep cong hai ma tran"<<endl;

Bước 6: In ra ma trận tích hai ma trận:

//Phep nhan hai ma tran

for(int i=0;i<m1;i++)

for(int j=0;j<n2;j++)

{

}

if(n1==m2)

while(1)

{

}

Trang 12

if(n1==m2)

{

cout<<"ma tran AxB la:"<<endl;

for(int i=0;i<m1;i++)

{

}

}

else

cout<<"ko the thuc hien phep nhan hai ma tran"<<endl;

Trang 13

III Kết quả

Kết quả cuả chương trình khi nhập ma trận vuông cùng cấp:

Trang 14

Kết quả cuả chương trình khi nhập 2 ma trận vuông khác cấp:

Trang 15

Kết quả cuả chương trình khi nhập ma trận thỏa mãn điều kiện của phép nhân nhưng không thóa mãn điều kiện của phép cộng:

Trang 16

Kết quả cuả chương trình khi không thỏa mãn điều kiện của phép cộng và nhân:

Ngày đăng: 04/05/2023, 16:29

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w