0

Matlab

13 197 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

Tài liệu liên quan

Thông tin tài liệu

Ngày đăng: 23/07/2017, 10:43

Tài liệu bước đầu học Matlab để ứng dụng vào môn học: ICEC(InternalCombustion Engine Calculation) Biên soạn,tổng hợp : Đỗ Tấn Thích E-mail: dothichauto95@gmail.com Sđt :01682698426 Cần ý 5e-1 5*10^(-1) Còn exp(2) e2 = 7.2 I) Giới thiệu Matlab: + MATLAB môi trường tính toán số lập trình, thiết kế công ty MathWorks MATLAB cho phép tính toán số với ma trận, vẽ đồ thị hàm số hay biểu đồ thông tin, thực thuật toán, tạo giao diện người dùng liên kết với chương trình máy tính viết nhiều ngôn ngữ lập trình khác MATLAB giúp đơn giản hóa việc giải toán tính toán kĩ thuật so với ngôn ngữ lập trình truyền thống C, C++.MATLAB sử dụng nhiều lĩnh vực, bao gồm xử lý tín hiệu ảnh, truyền thông, thiết kế điều khiển tự động, đo lường kiểm tra, phân tích mô hình tài chính, hay tính toán sinh học Với hàng triệu kĩ sư nhà khoa học làm việc môi trường công nghiệp môi trường hàn lâm, MATLAB ngôn ngữ tính toán khoa học + Trong học trình bày vẽ đồ thị chủ yếu hướng dẫn làm tập lớn, câu lệnh Matlab toán học,các phần khác matlab tìm hiểu môn học ứng dụng máy tính mô động ô tô,hệ thống điều khiển tự động ô tô II) Thực hành: • Matlab toán học : 1) Giải phương trình vi phân matlab Ex: Giải phương trình vi phân : X’=-a*X >> X=dsolve('Dx=-a*x') enter nghiệm X =C2/exp(a*t) Ex: Giải phương trình vi phân : Y’=y+sin(t) Y=dsolve('Dy=y+sin(t)') enter nghiệm Y =C4*exp(t) - sin(t)/2 - cos(t)/2 Ex: Giải hệ phương trình vi phân : X’=y, y’=-x Z=dsolve('Dx=y','Dy=-x')(ta dùng biến Z để làm trung gian ) Z = x: [1x1 sym] y: [1x1 sym] Rồi bấm tiếp Z.x enter Z.x enter ans = Là dấu chấm ko phải dấu nhân ,lấy tất nghiệm x biến trung gian Z C6*cos(t) + C5*sin(t) ->>>>Vậy suy nghiệm x= C6*cos(t) + C5*sin(t) Bấm Z.y enter ans = C5*cos(t) - C6*sin(t) ->>>>Vậy suy nghiệm y = C5*cos(t) - C6*sin(t) 2)Tính giá trị hàm số điểm Ban đầu ta phải khai báo biến Syms x >> f=2*x^2+1 f= 2*x^2 + >> subs(f,x,2)(ĐÂY tính giá trị hàm x=2) ans = Tiếp theo ta tính giới hạn hàm số điểm >> limit(f,x,0) ans = Tương tự cho việc tính giới hạn hàm số ví dụ limit(sin(x)/x,0) ,miễn khai báo biến syms x y Trong mable giá trị vô thực inf Nhớ khai báo biến syms x y Cú pháp limit(((1+x)./x).^x,x,inf) kết exp(1) 3)Tính giới hạn hàm số phái trái phía phải Syms x y Cú pháp f=x^2 -3*x+1 >> limit(f,x,0,'left') ans = Tương tự cho trường hợp tính giới hạn hàm số bên phải > limit(f,x,0,'right ') ans = 3) Tính đạo hàm hàm số Đạo hàm cấp Syms x y Khai báo hàm f=sin(x) Cú pháp diff(f,x) enter ans = cos(x) tính tiếp đạo hàm cấp cú pháp diff(ans,x) enter ans = -sin(x) Tính đạo hàm lần thứ n cú pháp sau diff(f,x,n) 4) Tính nguyên hàm hàm số F=x^2 -3*x+1 Cú pháp int(f,x) kết sau  Còn vô inf Để kết đẹp ta thự cú pháp >> expand(ans) Như sau expand(ans) kết sau ans = x^3/3 - (3*x^2)/2 + x ∫ x^2 - 3*x + Tính tích phân hàm số f= int(f,x,0,2) Cú pháp sau :int (f,x,0,2) ans = -4/3 5)Tính giá trị hàm chứa biến x ,y điểm Ex: Hàm f=x^2*y^3 -3*x*y^2 Subs(subs(f,x,2),y,3) kết 54 cách hay subs(f,{x,y},{2,3}) Ex :Cho hàm f=x*y*z^3 Subs(f,{x,y,z},{2,4,3}) subs(f,{x,y,z},{2,4,3}) ans = 216 6) Tính giá trị đa thức : Ex: P1=2*x2+ 2*x-1,tính giá trị biểu thức x=2 Giải: Khai báo ma trận p1=[2 -1] Polyval(p1,2)=11 Ex: Tìm nghiệm đa thức : P1=2*x2+ 2*x-1 Giải : p1=[2 -1] Roots(p1)= -1.3660 Và 0.3660 Ex: phân tích đa thức sau thành nhận tử f=x^6+1 >> syms x >> f=x^6+1 f= x^6 + >> factor(f) ans = (x^2 + 1)*(x^4 - x^2 + 1) • Thực hành ứng dụng vào môn tính toán động đốt trong: 1) Nhập ma trận giá trị (mảng giá trị): A=[0:2:10] theo hiểu giá trị ban đầu ,giá trị cuối 10 bước nhảy 2.Hoặc cách thứ viết không cần dấu ngoặc vuông kết ,nhưng làm ta để dấu ngoặc vuông cho dễ coi: Ex: >> A=[0:2:10] A= >> A=0:2:10 10 A= 10 Nếu A=[0:10] mặc định bước nhảy Ex: >> A=[0:10] A= 10 Trong hình Command window cuối câu lệnh giá trị ma trận đánh dấu chấm phẩy không giá trị đầu ,cuối bước nhảy Còn không đánh tính giá trị A=linspace(a,b,c) a giá trị đầu ,b giá trị cuối c số giá trị cần chia hai giá trị đầu cuối Ex: A=linspace(0,10,5) A= 2.5000 5.0000 7.5000 10.0000 Tạo mảng với ma trận đại số: A= cách viết ma trận đại số.Bây ta triển khai chúng matlab cách viết sau : Ex:A=[1 ;4 6;7 9] ngăn cách hàng dấu chấm phẩy A= Ma trận chuyển vị A’ 2) Các phép toán ma trận A*B hai ma trận nhân với A.*B phần tử ma trận A nhân với ma trận B EX: Với ma trận A bây giơ fta thực phép tính nhân hai ma trận với nhân phần tử ma trận A với ma trận A tính định thức ma trận A=[1 3; 6;7 9] Giải: A= >> A*A ans = 30 36 42 66 81 96 102 126 150 >> A.*A ans = 16 25 36 49 64 81 + Muốn biết kích thước ma trận có bao nhiều hàng ,bao nhiêu cột ta dùng lệnh Size(tên ma trận) EX: >> A=[ 2;3 5] A= >> size(A) ans = (Trong đó: ‘2’ số hàng ,’3’ số cột ) 3) Vẽ đồ thị: Nhập biến chạy ,dùng lệnh plot Cấu trúc chung: plot (trục hoành ,trục tung ,’ màu đồ thị’) Đỏ Xanh Lục lam Đỏ sậm Vàng Đen Trắng Ex : >> x=[0:0.002:pi]; bước nhảy nhỏ mịn >> y=sin(x); >> plot(x,y) plot(x,y,'r') lệnh dùng để vẽ đồ thị ứng với đường màu tuỳ thích’ màu đỏ xlabel('gia tri x') : tên trục hoành hiển thị đồ thị ylabel('gia tri y') : tên trục tung hiển thị hình title('do thi xy') : tên đồ thị cần vẽ grid on : tạo lưới cho đồ thị cần vẽ grid off : bỏ lưới cho đồ thị Hold on: vẽ đồ thị lên hệ trục tọa độ Legend (‘đối tượng cần thích’): thích đồ thị vẽ vị trí phần mềm mặc định chổ Gtext ( ‘đối tượng cần thích’) : thích đối tượng vẽ vị trí Plot(x,y,’ màu đồ thị’,’linewidth’,a) a độ dày đường đồ thị + Nếu muốn vẽ đồ thị nằm đoạn ta thực lệnh fplot Cú pháp sau : khai báo hàm số cần vẽ ,tiếp theo dùng lệnh fplot(hàm cần vẽ ,[đoạn cần vẽ]) EX: Vẽ đồ thị hàm số sin(x) x chạy từ đến pi >> f='sin(x)' cần ý khai báo nằm dấu nháy f= sin(x) >> fplot(f,[0,pi]) *Muốn biết chi tiết đối tượng gõ theo cú pháp : doc A A đối tượng cần tìm hiểu ,ex: doc plot… Ex: vẽ đồ thị y=7*x+5 đồ thị z=5*x-2 với x =[0 ;8] trục toạ độ trục toạ độ khác ,với đồ thi y có màu đỏ ,đồ thị z có màu xanh Giải: Hai đồ thị năm trục toạ độ x=[0:0.01:8]; y=7*x+5; z=-5*x-2; plot(x,y,'r'); hold on; plot(x,z,'g'); EX: Vẽ đồ thị hàm số y=sin(2*a)*cos(2*a) với a góc chạy từ đến 2*pi đồ thị toạ độ cực : Giải: a=[0:0.01:2*pi]; y=sin(2*a).*cos(2*a); polar(a,y) *Hai đồ thị nằm hai hình khác thay lệnh hold on thành figure *Một số lệnh khác: Subplot(a,b,c): chia sổ thành nhiều vùng để vẽ đồ thị.Trong a tổng số hàng cần vẽ ,b tổng số cột cần vẽ ,c vị trí hình Vd: vẽ đồ thị sin(x) cos(x) : a=[0:0.001:2*pi]; x=sin(a); y=cos(a); subplot(1,2,1) plot(a,x,'r') title('do thi sin') subplot(1,2,2) plot(a,y,'b') title('do thi cos') Figure : vẽ đồ thị cửa sổ riêng biệt Vd: vẽ đồ thị sin cos sổ riêng biệt: a=[0:0.001:2*pi]; x=sin(a); y=cos(a); plot(a,x,'r') figure plot(a,y,'b') Đồ thị chổ hiệu đính tập lớn cần dùng hàm nội suy interp1 Ví dụ: Tại kì nạp piston từ tử điểm thượng đến tử điểm hạ ,trong kì nạp có điểm đặc biệt suppap thải đóng muộn ,nên cần hiệu đính giả sử suppap thải đóng muộn 220 al1=[ 12 16 phc=[ 0.1100 0.1042 0.0992 0.0947 22 ]; % 22 la suppap thai dong muon 0.0907 0.0880]; a1=[0: 0.01: 22]; F=pi*10.22^2/4 x1=5.11.*[(1-cosd(a1)+(1-cosd(2.*a1))*(0.27/4))]; v1=x1.*F+46.6; %the tich lam viec p1=interp1 (al1,phc,a1,'spline'); plot(p1,v1) Bài tập: Cho động kì ,4 xi lanh tích làm việc 2.7 (l) Động hình vuông,động có công suất cực đại 118kW số vòng quay 5200RPM,hệ số ma sát 85% Yêu cầu vẽ đồ thị biểu diễn chuyển vị (x),vận tốc (v),gia tốc (j) theo công thức gần theo công thức xác Chọn thông số kết cấu () yêu cầu : vẽ đồ thị khác ,có ô lưới , có biểu diễn đồ thị, có phân biệt màu đồ thị độ dày đồ thị Bài giải : a=[0:0.01:360]; x=47.5*10^(-3)*(1+1/0.25-cosd(a)-1/0.25*cosd(asind(0.25*sind(a))));% chinh xac x1=47.5*10^(-3)*(1+0.25/4-cosd(a)-0.25/4*cosd(2*a));% gan dung plot(a,x) figure plot(a,x1,'r','linewidth',7) figure v=47.5*10^(-3)*pi*5200/30*sind(a+asin(0.25*sind(a)))./cosd(asin(0.25*sind(a))) % cong thuc chinh xac v1=47.5*10^(-3)*pi*5200/30*(sind(a)+0.25/2*sind(2*a)); plot(a,v,'r'); figure plot(a,v1); figure j=47.5*10^(3)*(pi*5200/30)^2*(cosd(a+asind(0.25.*sind(a)))./cosd(asind(0.25.*sind(a))) +0.25*(cosd(a)).^2./(cosd(asind(0.25.*sind(a)))).^3); plot(a,j) figure j1=47.5*10^(-3)*(pi*5200/30)^2*(cosd(a)+0.25.*cosd(2*a)); plot(a,j1) 4)Cơ sở lý thuyết phục vụ cho tập lớn : Để làm tốt tập lớn bạn cần có kiến thức môn Nguyên lý động đốt ,các bạn nên đọc giáo trình Động đốt 1, phần thi vấn đáp bao gồm nội dung bạn làm kiến thức môn nguyên lý động ,đặc biệt chương chu trình nhiệt động học 1) 2) 3) Kì nạp : Kì nạp xuppap từ ĐCT xuống ĐCD ( 0-1800) đồ thị có dạng đường cong đường thẳng song song với trục hoành (do nạp đẳng áp) ,ở kì nạp có chứa điểm đặc biệt điểm xuppap thải đóng muộn  cần hiệu đính  dùng hàm nội suy ( giới thiệu ) ,và đường thẳng song song với trục hoành Kì nén cháy giãn nở : Piston từ ĐCD lên ĐCT gần cuối ĐCT có tượng đánh lửa sớm (động xăng ) phun dầu sớm (động Diesel )nên cần hiêu đính vị trí từ điểm đến 3600,có áp dụng công thức + nén :Vớivn=[Vc:n:Va] pxn=pa*((Va./vn).^n1); + giãnnở : Với vg=[Vz:n:Va] pxg=pz*((Vz./vg).^n2); đ/cxăng : Vz=Vc đ/c diesel :Vz=ρ.Vc Kì xả : đường thẳng song song trục hoành Qua ta vẽ đồ thị P-V với thông số cho trước đường kính piston ,số vòng quay ,thể tích ,áp suất cực đại ….từ liên hệ vẽ tất đồ thị theo yêu cầu đề ( đồ thị động lực học,đồ thị động học,đồ thị P- α …) Chú ý đơn vị đo ... 7.5000 10.0000 Tạo mảng với ma trận đại số: A= cách viết ma trận đại số.Bây ta triển khai chúng matlab cách viết sau : Ex:A=[1 ;4 6;7 9] ngăn cách hàng dấu chấm phẩy A= Ma trận chuyển vị A’ 2)
- Xem thêm -

Xem thêm: Matlab, Matlab, , Ex: vẽ đồ thị y=7*x+5 và đồ thị z=5*x-2 với x =[0 ;8] trên cùng một trục toạ độ và trên 2 trục toạ độ khác nhau ,với đồ thi y thì có màu đỏ ,đồ thị z thì có màu xanh lá cây. Giải: Hai đồ thị năm trên cùng một trục toạ độ.