Tải bản đầy đủ (.pdf) (28 trang)

Ứng dụng Matlab trong giảng dạy Vật lý lớp 12 Trường Trung học Trần Nguyên Hãn

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.61 MB, 28 trang )












SÁNG KIẾN KINH NGHIỆM
ỨNG DỤNG MATLAB TRONG
GIẢNG DẠY VẬT LÝ LỚP 12
TRƯỜNG THPT TRẦN NGUYÊN HÃN


MỞ ĐẦU
1. Lí do chọn đề tài
Kính thưa các đồng chí giáo viên đang giảng dạy vật lý. Môn vật lý với
cấu thành từ hai yếu tố: Lý thuyết vật lý và lý thuyết toán học. Mọi bài toán
vật lý bao giờ cũng bao gồm cả hai khía cạnh này. Trong suốt quá trình học
tập và giảng dạy vật lý các đồng chí đã nắm bắt hầu hết các lĩnh vực kiến thức
vật lý cổ điện và hiện đại.
Các em học sinh dễ dàng chấp nhận cách giải thích theo các thuyết, các
định luật vật lý, nhưng không dễ chấp nhận được phương trình toán cho hiện
tượng vật lý đó. Một lỗi đau đầu cho người dạy và người học là tồn tại các bài
toán cồng kềnh phức tạp, mà kiến thức toán của học sinh chưa cho phép các
em có thể tự luận giải được. Hơn nữa ở các lính vực lý thuyết vật lý các em
không thể tránh khỏi các công thức toán học công kềnh như: phương trình dao
động điều hòa, phương trình sóng, hay các bài toán về giá trị cực đại của công


suất, của hiệu điện thế đối với các đoạn mạch xoay chiều…
Nếu tiếp tục sử dụng các nhóm phương pháp thực nghiệm thì kết quả
cũng không khá hơn. Các em không thể nhìn thấy hình dạng của dây truyền
dao động, cũng không biết được lúc nào thì công suất của một mạch RLC cực
đại… kết quả vật lý khó lòng được các em công nhận.
Hơn nữa việc đổi mới phương pháp giảng dạy theo hướng sử dụng công
nghệ thông tin đã trở thành một yêu cầu thiết yếu. Các phần mềm tin học được
đưa vào để áp dụng một cách phổ biến không chỉ cho môn vật lý mà còn cho
cả các môn học khác nữa.
Trong sáng kiến này tác giả đã cố gắng tập trung vào việc tìm ra một
công cụ toán học hiệu quả để giải toán vật lý, điều quan trọng nhất là cố gắng
mô phỏng hình ảnh dừng các hiện tượng vật lý, vẽ đồ thị phụ thuộc các đại
lượng vật lý vào các đại lượng biến, qua đó giúp học sinh có thể quan sát và
thu nhận thông tin bài học. Phân mềm Matlab với các tính năng phù hợp đã
thuyết phục được tác giả sử dụng để nghiên cứu. Sáng kiến lấy tên là: “Ứng
dụng Matlab trong giảng dạy vật lý lớp 12”.
2. Mục đích nghiên cứu
Xây dựng phương án dạy học của một số nội dung phần chương “dao
động cơ”, “sóng cơ”, “dòng điện xoay chiều” trong chương trình Vật lý lớp 12
THPT, sử dụng phần mềm Matlab làm công cụ xử lý chính. Nhằm làm rõ một
số kiến thức khó mà học sinh chưa thừa nhận. Khẳng định mối quan hệ chặt
chẽ giữa toán học và vật lý.


3. Nhiệm vụ nghiên cứu
Với mục đích nghiên cứu trên sáng kiến tập trung vào nhiệm vụ tìm ra
phương pháp phù hợp để có thể thay đổi tình hình. Ứng dụng công nghệ thông
tin vào giảng dạy vật lý. Chọn phần mềm toán học để mô tả và biểu diễn.
4. Khách thể và đối tượng nghiên cứu.
a) Khách thể nghiên cứu:

- Quá trình học vật lý lớp 12 của học sinh ở các nhà trường THPT.
- Việc giảng dạy kiến thức chương trình vật lý 12.
b) Đối tượng nghiên cứu:
- Phần mềm Matlab, và 3 chương nêu trên trong chương trình vật lý 12.
5. Giả thuyết khoa học.
- Phương pháp trực quan thực nghiệm không thu hút được học sinh, học
sinh không khai thác được kết quả từ các thí nghiệm, gây mất tổ chức.
- Các bài toán vật lý trở thành thiếu căn cứ khi các phương trình không
có lời giải, các hàm số không vẽ được đồ thị trong khả năng con người.
6. Cấu trúc của sáng kiến
Sáng kiến được viết theo hình thức một sách chuyên đề gồm 3 chương,
và 2 mục:
Mở đầu
Chương I. Cơ sở lý luận và thực tiễn
Chương II. Phần mềm Matlab
Chương III. Ứng dụng phần mềm Matlab vào giảng dạy vật lý lớp 12
Và cuối cùng là mục tổng kết, và kiến nghị















CHƯƠNG I
CƠ SỞ LÝ LUẬN VÀ THỰC TIỄN
1.1 Nhu cầu và định hướng đổi mới phương pháp dạy học
Luật giáo dục nước Cộng hoà Xã hội Chủ nghĩa Việt Nam đã qui định:
“Phương pháp giáo dục phải phát huy tính tích cực, tự giác, chủ động, tư duy
sáng tạo của người học; bồi dưỡng năng lực tự học, niềm say mê học tập và ý
chí vươn lên” (Luật giáo dục 1998, chương I, điều 4).
Nghị quyết Trung ương 2 khoá VIII đã khẳng định: “Phải đổi mới
phương pháp giáo dục đào tạo, khắc phục lối truyền thụ một chiều, rèn luyện
thành nếp tư duy sáng tạo của người học. Từng bước áp dụng các phương
pháp tiên tiến và phương tiện hiện đại vào quá trình dạy học, đảm bảo điều
kiện và thời gian tự học, tự nghiên cứu cho học sinh, nhất là sinh viên đại
học”.
Những qui định này phản ánh nhu cầu đổi mới phương pháp giáo dục
hiện nay nhằm đào tạo những con người có đủ trình độ và kĩ năng tham gia
quá trình công nghiệp hoá, hiện đại hoá đất nước. Từ đó làm nảy sinh và thúc
đẩy một cuộc vận động đổi mới phương pháp dạy học ở tất cả các cấp học với
những tư tưởng chủ đạo được phát biểu dưới nhiều hình thức khác nhau như:
“lấy người học làm trung tâm”, “phát huy tính tích cực", “tích cực hóa hoạt
động học tập", “hoạt động hóa người học”…
Như vậy, phương pháp dạy học cần hướng vào việc tổ chức cho người
học, học tập trong hoạt động và bằng hoạt động tự giác, tích cực và sáng tạo,
được thực hiện độc lập hoặc trong giao lưu. Định hướng này có thể gọi tắt là
“học tập trong hoạt động và bằng hoạt động" hay gọn hơn là “hoạt động hoá
người học”.
Định hướng đổi mới trên được cụ thể hoá qua những ý tưởng chính sau:
a) Xác lập vị trí chủ thể của người học, bảo đảm tính tự giác, tích cực,
chủ động và sáng tạo của hoạt động học tập được thực hiện độc lập hoặc trong
giao lưu.

b) Tri thức được cài đặt trong các tình huống có dụng ý sư phạm.
c) Dạy cách học và dạy tự học thông qua toàn bộ quá trình dạy học.
d) Tự tạo và khai thác những phương tiện dạy học để tiếp nối và gia
tăng sức mạnh của con người.


e) Tạo niềm lạc quan học tập dựa trên lao động và thành quả của bản
thân người học.
f) Xác định vai trò mới của người thầy với tư cách là người thiết kế, uỷ
thác, điều khiển và thể chế hoá.
Cụ thể là:
- Thiết kế: lập kế hoạch, chuẩn bị quá trình dạy học về mặt mục tiêu, nội
dung, phương pháp, phương tiện và hình thức tổ chức.
- Uỷ thác: biến ý đồ của thầy thành nhiệm vụ học tập tự nguyện tự giác
của trò, chuyển giao cho trò không phải những tri thức có sẵn mà là những
tình huống để trò hoạt động và thích nghi.
- Điều khiển: kể cả sự điều khiển về tâm lý, bao gồm sự động viên,
hướng dẫn, trợ giúp và đánh giá.
- Thể chế hoá: xác nhận những kiến thức mới phát hiện, đồng nhất hoá
những kiến thức riêng lẻ mang màu sắc cá thể, phụ thuộc hoàn cảnh và
chương trình về mức độ yêu cầu, cách thức diễn đạt và định vị tri thức mới
trong hệ thống tri thức đã có, hướng dẫn vận dụng và ghi nhớ hoặc giải phóng
khỏi trí nhớ nếu không cần thiết.
1.2 Vai trò của công nghệ thông tin trong dạy học
1. Công nghệ thông tin và truyền thông làm những phần việc của thầy
giáo.
Có những khi, công nghệ thực hiện một chức năng nào đó tốt hơn thầy
giáo, ví dụ như hình ảnh đồ họa mà công nghệ thông tin cung cấp chính xác
hơn nhiều, đẹp hơn nhiều và sinh động hơn nhiều so với hình vẽ trên bảng của
thầy giáo, máy chấm bài nhanh hơn nhiều và khách quan hơn so với giáo viên.

Tuy nhiên, không phải bất cứ trường hợp nào dùng công nghệ thông tin và
truyền thông thay thầy giáo cũng là tối ưu. Vì vậy, người ta không đặt vấn đề
thủ tiêu toàn bộ vai trò của người thầy trong quá trình dạy học.
2. Công nghệ thông tin đóng vai trò học sinh.
Trong trường hợp này, học sinh làm chức năng người dạy, máy tính
điện tử - thành phần chủ chốt của công nghệ thông tin và truyền thông – đóng
vai trò người học, tức là học sinh lập trình cho máy tính giải quyết một nhiệm
vụ, và như vậy máy tính đã tạo cơ hội để học sinh học tập thông qua việc dạy.
3. Công nghệ thông tin và truyền thông làm chức năng phương tiện dạy
học.


Với tính chất là phương tiện dạy học, những yếu tố sau đây của công
nghệ thông tin và truyền thông thường được sử dụng và khai thác:
- Hệ soạn thảo văn bản (chẳng hạn như WinWord)
- Hệ quản trị dữ liệu (ví dụ như Access)
- Bảng tính điện tử (chẳng hạn Excel)
- Phần mềm trình diễn (ví dụ như PowerPoint)
- Phần mềm lập trình, vẽ hình (ví dụ Matlab, mathematica, Graph,Cabri
)
Các yếu tố này vốn không liên hệ trực tiếp với việc dạy học. Chúng là
những dạng ứng dụng của công nghệ thông tin và truyền thông trong đời sống
nói chung và hiện nay người ta đã khai thác được những ứng dụng đó đưa vào
phục vụ giáo dục.
1.3 Áp dụng công nghệ thông tin và truyền thông trong đổi mới phương
pháp dạy học
- Công nghệ thông tin và truyền thông tạo ra môi trường dạy học mới.
- Công nghệ thông tin và truyền thông góp phần đổi mới việc dạy học.
- Công nghệ thông tin và truyền thông tạo ra mô hình dạy học mới.
Trên đây là những trình bày của chúng tôi về việc đổi mới phương pháp

giảng dạy, và sự cần thiết ứng dụng công nghệ thông tin vào giảng dạy các
môn học nói chung và môn vật lý nói riêng.

CHƯƠNG II
PHẦN MỀM MATLAB
2.1 Khái quát về phần mềm Matlab
Phần mềm Matlab được các nhà vật lý sử dụng như một công cụ tiện
ích cho khảo sát, và xử lý số liệu vật lý. Matlab làm việc với số, vectơ và với
ma trận (mảng). Phần mềm cho phép lập trình, vẽ đồ thị và tính toán trực tiếp
trên máy vi tính; đồng thời cũng cho phép người sử dụng lấy số liệu trực tiếp
từ các đồ thị đã vẽ bằng câu lệnh ginput. Từ đó cho phép người sử dụng có thể
giải các bài toán về hàm, vẽ đồ thị và các đường phụ thuộc, đường cong đặc
trưng trên máy tính.
2.2 Các chức năng của phần mềm Matlab
2.2.0 Các kí hiệu toán học mang tính riêng biệt của Matlab


Trước khi đi vào thiêt lập các phép toán trong Matlab ta phải lưu ý một
số kí hiệu toán học riêng dùng cho Matlab như sau:
Kí hiệu của các phép toán Ý nghĩa thay thế của kí hiệu
+ Phép cộng
- Phép trừ
* Phép nhân
/ Phép chia
^ Phép lũy thừa
sqrt Khai căn bậc 2
log Logarit cơ số tự nhiên e
sin Lấy sin
cos Lấy côsin
tan Lấy tan

exp Hàm e mũ
Nem N.10
m

Khi sử dụng các kí hiệu toán học trên cho các số nguyên ta viết bình
thường như ở những phần mềm tính toán khác. Với biến dạng mảng, ma trận
hoặc dạng thập phân thì thêm “.” trước phép nhân, chia, lũy thừa để chỉ cho
Matlab thấy phép tính được áp dụng cho dạng ma trận hoặc dạng thập phân.
Đối với các phép tính sqrt, log, sin, cos, tan, exp cần phải để các đối tượng vào
trong dấu ngoặc “( )”.
2.2.1 Matlab là một phần mềm tính toán siêu hạng
Matlab cho ta một công cụ để tính toán chính xác tới 10
-6
. Với cách đặt
phép tính hoàn toàn theo các phép tính hệ thập phân thông thường, hơn thế
nữa Matlab cho phép chúng ta trực tiếp sử dụng các hàm sin, cos, hàm số mũ

Phép tính được dựng trước, Matlab tự động tính toán và cho kết quả sau
từ ans. Với hệ thống kí tự và kí hiệu riêng matlab cho phép viết tường mình
các phép tính.
Ví dụ 2.2.1.1:
h=4.*3.^7-7e-5+exp(2)
ans =
8.7554e+003
tương đương với việc chúng ta đã thực hiện phép tính:
7 -5 2
h=4.3 -7.10 +e
và kết
quả cho ta h=8,755.10
3

.
Ví dụ 2.2.1.2: Tính toán với các hàm số có sẵn.


sin(pi)
ans =
1.2246e-16.
Ví dụ 2.2.1.3: Bằng việc sử dụng hàm ln chúng ta có thể tính được các hàm số
logarit cơ số bất kì.
ln5
log 5
2
ln2
=
trong Matlab có thể viết thành log25=log(5)./log(2)
log(5)./log(2)
ans = 2.3219
Matlab không chỉ tính toán với số mà còn có thể tính toán với mảng, ma
trận.
Ví dụ 2.2.1.4: Khai báo mảng 4 phần tử, tính chiều dài của mảng, thực hiện
các phép cộng với hai phần tử của mảng.
» z=[3 4 5 6]
z = 3 4 5 6
» length(z)
ans = 4
» z(2)+z(1)
ans = 7
» z(3)+z(1)
ans = 8
Ví dụ 2.2.1.5: Khai báo 2 ma trận vuông 4 phần tử, thực hiện các phép toán

cộng ma trận, nhân ma trận với một số, ma trận với ma trận tính tổ hợp tuyến
tính của ma trận với số.
» z=[3 4; 5 6];
» u=[2 8; 6 5];
» 3.*z
ans =
9 12
15 18
» z.*u


ans =
6 32
30 30
» 3.*z+2.*u
ans =
13 28
27 28
2.2.2 Matlab là một phần mềm lập trình
Bằng chức năng Function có thể lấy trên menu file, chọn new chọn M-
file, Matlab cho phép người sử dụng lập trình theo ý đồ. Trong quá trình thiết
lập các hàm số các đồng chí và các em lưu ý: Phải thiết lập đâu là đại lượng
biến, đâu là đại lượng hàm, và phải chỉ rõ mối quan hệ toán học giữa hàm và
biến. Trước khi sử dụng hàm số, hoặc lập hàm trên cửa sổ chính các đồng chí
và các em phải cho khoảng biến thiên, và khai báo biến, rồi mới gọi hàm bằng
cách viết tên hàm với biến số trong dấu ngoặc đơn “( )”.
Ví dụ 2.2.2.1:
function [mean,stdev] = stat(x)
n = length(x);
y=x.^n;

plot(x,y);
z=ginput(1);
mean=z(1)
stdev=z(2)
Với cách lập trình như vậy hàm số có tên là stat biến số là x – có thể
nhận bất kì giá trị nào, cho phép người lập trình thiết lập quan hệ hàm số y với
biến số x, vẽ mối quan hệ của y theo x, xuất ra số phức z có tọa độ là mean và
stdev. Khi muốn sử dụng hàm đã lập, người sử dụng chỉ cần cho giá trị của
biến x và gọi tên hàm.


» x=[1 2 3 4 5 6 7];
» stat(x)
mean =5.8525
stdev =2.4737e+005
ans =5.8525

2.2.3 Matlab là một “nhà” khảo sát hàm số
Matlab cho phép người sử dụng có thể lập hàm số ngay tại cửa sổ
chính, với biến số dạng số, dạng mảng, hay khoảng giá trị.
Ví dụ 2.2.3.1: Lập hàm số
2 x
y=4x+5x +6.e
lưu ý rằng máy tính nào cũng chỉ có
thể tính toán trong hữu hạn các phép toán, và trong khoảng xác định hữu hạn
của hàm số, do vậy trước khi khai báo dạng hàm người sử dụng phải khai bao
khoảng biến thiên của biến, hàm. Bài toán trên được thiết lập như sau:
» x=0:.001:15;
» y=4.*x+5.*x.^2+6.*exp(x);
Như vậy ta đã thiết lập được hàm số

2 x
y=4x+5x +6.e
và khảo sát hàm
trong khoảng từ 0 đến 15, có thể khảo sát những hàm số sẵn có trong Matlab.
Với các câu lệnh plot, plot3D, mesh, meshgrid, ginput Matlab có đủ
bộ các hàm khảo sát cần thiết để có thể xây dựng được đồ thị của hàm đơn
biến, và đa biến.
Matlab cho phép người sử dụng lập trình, định dạng các hàm số không
nằm trong thư mục các hàm có sẵn, tức là số lượng hàm số có được là vô hạn
Ví dụ 2.2.3.2: Khảo sát hàm đa thức đơn biến tìm giá trị cực trị.


» x=-2:0.005:2;
» y=(x.^4)./2-x.^2+3/2;
plot(x,y,'LineWidth',2)
grid on
» ginput
» ans = 0.0000 1.5132
» ginput
» ans =
-1.0046 1.0263
1.0046 1.0132

Hàm số có cực đại là 1,5132 tại x=0.
Hàm số có hai cực tiểu là 1 khi x=±1;
Ví dụ 2.2.3.3: khảo sát hàm số đa biến:
» [x,y]=meshgrid(-
3:0.05:3);
» u=4.*sin(pi.*x-8)-y./4;
» mesh(x,y,u)

Vẽ được đồ thị hàm số
hai biến x,y trong hệ tọa
độ Oxy. Mà nếu dùng
các công cụ khác khó có
thể có kết quả như ý.


Ngoài ra nhờ câu lệnh ginput, người sử dụng Matlab có thể đưa ra các
giá trị của hàm số ứng với giá trị của biến số trực tiếp trên đồ thị mà không
phải dựng lại phép toán.
Ví dụ 2.2.2.4: Truy xuất tọa độ của 1 điểm trên đồ thị hàm đơn biến.


x=-2.*pi:0.02:2.*pi;
y=2.*(sin(x)).^2;
plot(x,y,'*');
ginput(1)
ans =
-1.6590 1.9766
Như vậy khi x=-1,659
thì y=1,9766.


Với các tính năng quí giá trên tôi đã quyết định đưa phần mềm Matlab
ứng dụng vào việc giảng dạy chương trình vật lý lớp 12 . Phần nội dung được
áp dụng trình bày ở chương III của sáng kiến- “Vận dụng phần mềm Matlab
vào giảng dạy vật lý 12”.

CHƯƠNG III
ỨNG DỤNG PHẦN MỀM MATLAB VÀO GIẢNG DẠY VẬT LÝ 12

3.1. Vận dụng Matlab vào giảng dạy chương “Dao động cơ học”.
Phần kiến thức chương “Dao động cơ học” chủ yếu sử dụng mối quan
hệ hàm cos, hoặc sin để khảo sát trạng thái dao động của vật. Người giáo viên
có thể sử dụng phần mềm Matlab để vẽ đồ thị nhằm giúp các em thấy rõ một
dao động hình sin, hay còn gọi là dao động điều hòa. Biểu diễn sự phụ thuộc
của ly độ vào thời gian đối với dao động điều hòa và dao động tắt dần trong
thời gian một vài chu kì dao động, giúp cho học sinh được trực tiếp quan sát
kết quả.
Kết hợp với việc lấy số liệu trực tiếp từ đồ thị bằng ginput để học sinh
ghi lại và so sánh kết quả với sự tính toán trực tiếp ở ngoài.
Cùng 1 lúc có thể vẽ cả 4 đồ thị phụ thuộc x(t), v(t), a(t), W(t) trong
cùng một “Function” ở các hệ tọa độ khác nhau để so sánh về pha.
Khi tổ chức thực hành thu được kết quả sau:
Nội dung kiến thức 1 Lập trình bằng Matlab
Phương trình dao động,
đồ thị phụ thuộc ly độ,
vận tốc, gia tốc thời
function daodong=lydo1(m,A,w,fi,t);
x=A.*cos(w.*t+fi);
figure(1)


gian, tìm ly độ của vật
dao động tại thời điểm t.
x=A.cos(
ωt+φ)
;
v=-A .sin(
ωt+φ)
w

;
2
a=-
ω A.cos(ωt+φ)
;
plot(t,x,'*-');
ginput(1)
v=-A.*w.*sin(w.*t+fi);
figure(2)
plot(t,v,'-o');
a=-(A.*w.^2).*cos(w.*t+fi);
figure(3)
plot(t,a,'+-');
W=0.5.*m.* v.^2;
figure(4)
plot(t,W,'a');
xlabel('thoigian(s)')
ylabel('dong nang(J)')
Nhập số liệu và kết quả
số:
- Nhập số liệu:
» m=0.2;
» A=2;
» w=6.*pi;
» t=0:.002:1;
» fi=2.*pi./3;
» lydo1(m,A,w,fi,t);
x1 = 1.2515
t1 = 0.1728
Kết quả hình:


Nội dung kiến thức 2 Lập trình bằng Matlab
Khảo sát dao động của
con lắc lò xo có độ cứng
k, có khối lượng m, pha
ban đầu j, biên độ A.
2
k
ω= ;
m
x=A.cos(
ωt+φ);
v=-A
ω.sin(ωt+φ);
a=-
ω A.cos(ωt+φ);

function daodong=lydo2(k,m,A,fi,t);
w=sqrt(k./m);
x=A.*cos(w.*t+fi);
figure(1)
plot(t,x,'*-');
ginput(1)
v=-A.*w.*sin(w.*t+fi);
figure(2)
plot(t,v,'-o');
a=-(A.*w.^2).*cos(w.*t+fi);
figure(3)



plot(t,a,'+-');
Nhập số liệu và kết quả
số:
» k=100;
» m=0.1;
» A=4;
» fi=pi./6;
» t=0:.002:1;
» lydo2(k,m,A,fi,t)

ans =

0.2235 1.2164
Kết quả hình:

Nội dung kiến thức 3 Lập trình bằng Matlab
Khảo sát một vật dao
động điều hòa có tần số
f, vận tốc ban đầu v
0
, ly
độ ban đầu x
0
.
2
2
0
0
2
;

ω=2πf
v
A= +x
ω
v
sin
φ=- ;
A
ω

2
v
φ=arcsin(- );

x=A.cos(
ωt+φ);
v=-A
ω.sin(ωt+φ);
a=-
ω A.cos(ωt+φ);

function daodong=lydo3(f,x0,v0,t);
w=2.*pi.*f
A=sqrt(v0.^2/w.^2+v0.^2)
fi=asin(-v0./(A.*w))
x=A.*cos(w.*t+fi);
figure(1)
plot(t,x,'*-');
ginput(1)
v=-A.*w.*sin(w.*t+fi);

figure(2)
plot(t,v,'-o');
a=-(A.*w.^2).*cos(w.*t+fi);
figure(3)
plot(t,a,'+-');
Nhập số liệu và kết quả
số:
» f=5;
» x0=0.04;
» v0=0.3;
» t=0:.002:1;
» lydo3(f,x0,v0,t)
Kết quả hình:


w = 31.4159
A = 0.3002
fi = -0.0318
ans = 0.2419 0.0725

Nội dung kiến thức 4 Lập trình bằng Matlab
Khảo sát dao động của
con lắc lò xo có độ cứng
k, có khối lượng m, vận
tốc ban đầu v
0
, ly độ
ban đầu x
0
.

k
ω= ;
m

2
2
0
0
2
2
;
v
A= +x
ω
v
sinφ=- ;

v
φ=arcsin(- );

x=A.cos(
ωt+φ);
v=-A
ω.sin(ωt+φ);
a=-
ω A.cos(ωt+φ);


function daodong=lydo4(k,m,x0,v0,t);
w=sqrt(k./m)

A=sqrt(v0.^2/w.^2+x0.^2)
fi=asin(-v0./(A.*w))
x=A.*cos(w.*t+fi);
figure(1)
plot(t,x,'*-');
xlabel('thoigian(s)')
ylabel('lydo(m)');
ginput(1)
v=-A.*w.*sin(w.*t+fi);
figure(2)
plot(t,v,'-o');
xlabel('thoigian(s)')
ylabel('vantoc(m/s)');
a=-(A.*w.^2).*cos(w.*t+fi);
figure(3)


plot(t,a,'+-');
xlabel('thoigian (s)')
ylabel('giatoc (m2/s)');
Nhập số liệu và kết quả
số:
» k=100;
» m=0.25;
» x0=0.03;
» v0=0.4;
» t=0:.002:1;
» lydo4(k,m,x0,v0,t)
w = 20
A = 0.0361

fi = -0.0500
ans = 0.5369 -0.1228
Kết quả hình ( chỉ lấy đồ thị x-t để minh họa)

Nội dung kiến thức 5 Lập trình bằng Matlab
Bài toán dao động tắt
dần.
Phương trình:
x=e
-bt
cos(wt+j);

function daodong=lydo5(b,w,fi,t);
A=exp(-b.*t);
x=A.*cos(w.*t+fi);
figure(1)
plot(t,x,'*-');
ginput(1)
v=-A.*w.*sin(w.*t+fi);


figure(2)
plot(t,v,'-o');
a=-(A.*w.^2).*cos(w.*t+fi);
figure(3)
plot(t,a,'+-');
figure(4)
plot(t,x,v,a);
Nhập số liệu và kết quả
số:

» b=1.5;
» w=5.*pi;
» fi=0;
» t=0:.002:2;
» lydo5(b,w,fi,t)
ans = 0.3548 2.3684

Kết quả hình:

Nội dung kiến thức 6 Lập trình bằng Matlab
Tổng hợp hai dao động
cùng phương cùng tần
số.
1 1 1
x =A .cos(
ωt+φ )

2 2 2
x =A .cos(
ωt+φ )



function tonghop=lydo6(w,A1,A2,fi1,fi2,t);
x1=A1.*cos(w.*t+fi1);
x2=A2.*cos(w.*t+fi2);
x=x1+x2;
figure(1)
plot(t,x,'*-')
ylabel('lydotonghop(cm)')

xlabel('thoigian(s)')
x10=A1.*cos(fi1);
x20=A2.*cos(fi2);
x0=x10+x20;
A=max(x)
fi0=acos(x0./max(x))
Nhập số liệu và kết quả
số:
» w=5.*pi;
» A1=3;
» A2=4;
» fi1=0;
Kết quả hình:


» fi2=pi./2;
» t=0:.002:2;
»
lydo6(w,A1,A2,fi1,fi2,t)

A = 4.9994
fi0 = 0.9272
» grid on

Nội dung kiến thức 7 Lập trình bằng Matlab
Tổng hợp hai dao động
có phương dao động
vuông góc.
1 1 1
x=A .cos(

ω t+φ )

2 2 2
y
=A .cos(
ω t+φ )

function tonghop=lydo7(w1,w2,A1,A2,fi1,fi2,t);
x=A1.*cos(w1.*t+fi1);
y=A2.*cos(w2.*t+fi2);
figure(1)
plot(x,y)
ylabel('tung do(cm)')
xlabel('hoanh do(s)')
Nhập số liệu và kết quả
số:
» w1=4.*pi;
» w2=2.*pi;
» A1=3;
» A2=4;
» fi1=pi./6;
» fi2=pi./2;
» t=0:.00005:6;
»
lydo7(w1,w2,A1,A2,fi1,
fi2,t)
Kết quả hình:


Trên đây là những phần lập trình áp dụng cho phần kiến thức chương

“Dao động cơ học”. Tiếp theo chúng ta sử dụng Matlab để áp dụng cho phần
nội dung chương “Sóng cơ học”.
3.2 Vận dụng Matlab vào giảng dạy chương “Sóng cơ học”,và kiến thức
phần trộn sóng điện từ.


Như các đồng chí đã biết sóng cơ học là các dao động được lan truyền
trong môi trường vật chất. Tại một thời điểm t=t
0
nhất định thì các phần tử vật
chất được sắp xếp theo một dạng hình sin trong không gian. Vậy chúng ta hãy
cùng nhau khảo sát hình dạng, li độ cũng như bước song bằng phần mềm
Matlab.
Nội dung kiến thức 8 Lập trình bằng Matlab
Khảo sát li độ, bước sóng.
Tính vận tốc truyền sóng
M 1
x
u =A.cos(
ω t-2π )
λ

function songco=song(A,w,x,L,t);
u=A.*cos(w.*t+2.*pi.*x./L);
figure(1)
plot(x,u,'*-');
M=ginput(1);x1=M(1);
N=ginput(1);x2=N(1);
L=x2-x1
v=L.*w./(2.*pi);

Nhập số liệu và kết quả số:
» A=5;
» w=4.*pi;
» x=0:.002:3;
» L=0.6;
» t=2;
» song1(A,w,x,L,t)
N = 0.7327 0.1462
L = 0.5945
v =1.1889
Kết quả hình:
Nội dung kiến thức 9 Lập trình bằng Matlab
Mặt dao động. Sóng có vận
tốc v, tần số f, tại thời điểm t.

2 2
M 1
x y
u =A.cos(
ω t-2π )
λ
+

function songco=song2(A,w,x,y,v,t);
u=A.*cos(w.*(t+sqrt(x.^2+y.^2)./v));
figure(1)
meshc(x,y,u);
figure(2)
meshz(x,y,u);



figure(2)
meshc(x,y,u);
Nhập số liệu và kết quả số:
» A=2;
» w=5.*pi;
»[x,y]=meshgrid(-2:.01:2);
» v=0.8;
» t=2;
» song2(A,w,x,y,v,t)



Kết quả hình:
Nội dung kiến thức 10 Lập trình bằng Matlab
Giao thoa sóng, vẽ hình đồ
họa để chứng minh tập hợp
những điểm dao động cực
đại và những điểm dao động
cực tiểu nằm xen kẽ và tạo
thành những đường
hyperbol.
function
songco=song3(A,w,x1,y1,x2,y2,x,y,L,t);
d1=sqrt((x+x1).^2+(y+y1).^2);
d2=sqrt((x+x2).^2+(y+y2).^2);
cofi=cos(w.*t-pi.*(d1+d2)./L);
Am=2.*A.*cos(pi.*(d1-d2)./L);
um=Am.*cofi;
figure(1)

meshc(x,y,um);
figure(2)
meshz(x,y,um);
Nhập số liệu và kết quả số:
» A=2;
» w=5.*pi;
» x1=-4;
» x2=4;
» y1=0;
» y2=0;
» [x,y]=meshgrid(-5:.05:5);
» L=0.8;
» t=2;
»
Kết quả hình:


song3(A,w,x1,y1,x2,y2,x,y,L
,t)


Nội dung kiến thức 11 Lập trình bằng Matlab
Giao thoa sóng trên dây
(sóng dừng). x là tọa độ của
điểm dao động trên dây, x
1
,
x
2
tọa độ hai đầu dây

(x
1
≤x≤x
2
) thỏa mãn x
2
-
x
1
=
λ
n
2
khi hai đầu cố định
hoặc x
2
-x
1
=
λ
n
4
. Xác định
hình dạng của dây tại thời
điểm t.
function songco=song5(A,w,v,x1,x2,x,t);
d1=x-x1;
d2=x2-x;
dfi1=-w.*d1./v;
dfi2=-w.*(x2-x1)./v-pi-w.*d2./v;

u1m=A.*cos(w.*t+dfi1);
u2m=A.*cos(w.*t+dfi2);
um=u1m+u2m;
figure(1)
plot(x,um,' ');
Nhập số liệu và kết quả số:
» A=4;
» w=4.*pi;
» v=2;
» x1=1;
» x2=3;
» x=1:.001:3;
» t=2;
» song5(A,w,v,x1,x2,x,t);
Kết quả hình:


Nội dung kiến thức 12 Lập trình bằng Matlab
Bài toán về sóng vô tuyến.
Ghép một sóng cơ vào một
sóng cao tần.

function songvotuyen=song4(w1,w2,A1,A2,t);
x1=A1.*cos(w1.*t);
x2=A2.*cos(w2.*t);
x=x1.*x2;
figure(1)
plot(t,x)
ylabel('lydotonghop(cm)')
xlabel('thoigian(s)')

Nhập số liệu và kết quả số:
» w1=50.*pi;
» w2=10.^6.*pi;
» A1=2;
» A2=4;
» t=0:.0001:2;
» song4(w1,w2,A1,A2,t)
» w2=100.*pi;
» song4(w1,w2,A1,A2,t)
» w2=100.*pi;
» w1=5.*pi;
» song4(w1,w2,A1,A2,t)
» w1=2.*pi;
» song4(w1,w2,A1,A2,t)
Kết quả hình:

3.3 Vận dụng Matlab trong giảng dạy chương “Dòng điện xoay chiều”.


Ở chương III, kiến thức không nhiều, hầu như chúng ta tập trung kiến
thức vào mạch RLC mắc nối tiếp.
Bài toán về công suất tiêu thụ điện năng, và giá trị hiệu dụng được giải
như sau:
Nội dung kiến thức 13 Lập trình bằng Matlab
Bài toán về công suất:
0
i I cos
ωt
=
;

0
u=U cos(
ωt+ )
j
;
pt=u.i;

Tính công suất bằng tích
phân P=w./(2.*pi)
.*sum(delt.*pt). Với độ
chính xác cao từ đó kết
luận bằng với kết quả của
phép tính Ps=U0.*I0./2.
function giatri=hieudung(U0,I0,w,fi,delt,t)
%neu P=Ps thi ket luan duoc van de kha dung%
i=I0.*cos(w.*t);
u=U0.*cos(w.*t+fi);
pt=i.*u;
P=w./(2.*pi).*sum(delt.*pt)
Ps=U0.*I0.cos(fi)./2
Nhập số liệu và kết quả
số:
» U0=220;
» I0=2;
» w=100.*pi;
» fi=0.56;
» delt=0.000005;
» t=0:.000005:0.02;
»
hieudung(U0,I0,w,fi,delt,t)


P = 186.4893
Ps = 186.3961
Kết luận: Như vậy bằng việc sử dụng hàm gần đúng,
với độ chia nhỏ chính xác 5.10
-6
, matlab đã tính cho
chúng ta giá trị công suất thực của mạch điện. Sai số
là 0,005% - sai số rất nhỏ. Như vậy có thể kết luận
T
0 0
0
1 1
P= . u.idt= U .I .cos
φ
T 2
ò
.
Do đó có thể viết giá trị hiệu dụng là:
0 0
U I
U= ; I= P=U.I.cos
φ
2 2
Þ

Chúng ta vẫn thường xuyên cho các em tìm các giá trị của biến số R, L,
C để có được các giá trị cực đại của các đại lượng P, I, U cho các đoạn mạch.
Nhưng quên rằng chúng ta chưa chỉ ra được các đại lượng đó có một cực trị và
đó là cực đại của đại lượng. Bằng Matlab chúng ta có thể khẳng định rằng tồn

tại một giá trị cực trị là giá trị lớn nhất của đại lượng khảo sát. Lưu ý rằng với
các đại lượng biến thiên là R hay L kết quả cũng cho những đồ thị tương tự
nên trong sáng kiến tác giả không làm đủ các trường hợp mà chỉ giải quyết với
trường hợp điện dung của tụ điện C biến thiên còn giá trị của các đại lượng L,
R và U không đổi. Bài toán được giải như sau:
Nội dung kiến thức 14 Lập trình bằng Matlab


Giá trị cực đại. Vẽ đồ thị
cống suất phu thuộc vao
điện dung C của tụ điện,
rồi từ đó dùng hàm ginput
để tìm giá trị cực đại, và
điện dung C làm cho công
suất đạt cực đại.
Chương trình bên trái lập
cho công suất toàn mạch.
Kết quả C=po(1) (mF)

function giatri=cucdai(R,L,C,U)
ZL=100.*pi.*L;
ZC=1e6./(100.*pi.*C);
Z=sqrt(R.^2+(ZL-ZC).^2);
cofi=R./Z;
I=U./Z;
P=U.*I.*cofi;
plot(C,P,'linewidth',2);
xlabel('dien dung (10.^-6F)')
ylabel('congsuat(W)')
po=ginput(1)

Pmax=po(2)
C=po(1)
Nhập số liệu và kết quả
số:
» L=3./(2.*pi);
» R=100;
» U=220;
» C=0.1:.02:100;
» cucdai(R,L,C,U)
po = 21.1982 482.4561
Pmax = 482.4561
Ct = 21.1982
Kết quả hình:

Ngoài ra chúng ta cũng có thể sử dụng Matlab để giải các bài tập về cực
trị trong mạch điện xoay chiều R, L, C. Giả sử có mạch điện như hình phía
dưới đây, ta giữ cho L và R là những đại lượng không đổi, với tần số f=50Hz,
điện dung C của tụ là đại lượng thay đổi được, ta lần lượt tìm các giá trị cực
đại của P
BM
, U
BM
, I, U
AN
,…

Nội dung kiến thức 15 Lập trình bằng Matlab
Bài 1: Cho mạch điện như
hình vẽ. R, L không đổi ,
C có thể thay đổi được.

Biết U không đổi. Tần số
góc w=100pi, tìm C để
công suất P
BM
có giá trị
lớn nhất.
function hieudienthe=cucdai1(R,L,C,U);
% Dung de xac dinh cuc dai cong suat trong doan
mach%
ZL=100.*pi.*L;
ZC=1e6./(100.*pi.*C);
Z=sqrt(R.^2+(ZL-ZC).^2);
I=U./Z;


ZMB=sqrt(R.^2+ZC.^2);
UMB=I.*ZMB;
cofiBM=(R./ZMB);
PMB=I.*UMB.*cofiBM;
plot(C,PMB);
n=ginput(1)
Pmax=n(2)
Ct=n(1)
Nhập số liệu và kết quả
số:
» R=100;
» L=1./pi;
» U=220;
» C=1:0.02:200;
» cucdai1(R,L,C,U)

po= 32.2581 482.4561
Pmax= 482.4561
C = 32.2581
Kết quả hình: Công suất đoạn MB phụ thuộc vào điện
dung C.

Nội dung kiến thức 16 Lập trình bằng Matlab
Bài 2: Cho mạch điện như
hình vẽ. R, L không đổi ,
C có thể thay đổi được.
Biết U không. Tần số góc
w=100pi, tìm C để hiệu
điện thế U
BM
có giá trị lớn
nhất.

function hieudienthe=cucdai2(R,L,C,U);
% Dung de xac dinh cuc dai hieu dien the trong doan
mach%
ZL=100.*pi.*L;
ZC=1e6./(100.*pi.*C);
Z=sqrt(R.^2+(ZL-ZC).^2);
I=U./Z;
ZMB=sqrt(R.^2+ZC.^2);
UMB=I.*ZMB;
plot(C,UMB);
n=ginput(1)
Umax=n(2)
Ct=n(1)

Nhập số liệu và kết quả
số:
» R=100;
Kết quả hình: Hiệu điện thế đoạn MB phụ thuộc vào
C.

×