Tổng hợp code các bài thực hành Matlab
Bai 1
clc
x=-2:0.01:2
y=exp(-0.3.*x.^2- 0.5.*x +1).*cos(20.*x)
subplot(2,1,1)% lenh subplot nay chia man
%hinh do thi theo 2 hang 1 cot vi tri 1
plot(x,y,'m')%lenh nay ve do thi vao phan
%hinh minh chia ra vào subplot 1
%hinhcon 2
subplot(2,1,2)
% ve dang ham nay thi khai bao truc tiep ham trong dau ''
fplot('exp(-0.3.*x.^2- 0.5.*x+1).*cos(20.*x)',[-2 2])
title('do thi ham so ')% lenh nay dien
%tieu de cho do thi
xlabel('truc x')% ghi tieu de cho truc x
xlabel('truc y')% ghi tieu de cho truc y
1)-xi(k).^2-0.2; end figure(2); plot(xi,yi1); De 18 %phan a:tinh va ve do thi clear all,close all,clc; f=inline('(cos(t)+1)./(t.^2+1)','t'); xi=linspace(0,2); for k=1:length(xi) yi(k)=cos(2.*xi(k)).*quad(f,0,xi(k).^2+1)-xi(k).^2-0.8; end plot(xi,yi); grid on; %cau b,c:tim nghiem va tinh cuc tri,ve %tim nghiem sp=spline(xi,yi); fx=inline('ppval(sp,x)','x','sp'); [x0,y0]=ginput for k=1:length(x0) [xn(k),fxn(k)]=fsolve(fx,x0(k),[],sp); end text(xn,fxn,'o') fprintf('cac nghiem cua pt:'); disp(xn) %cuc dai fx1=inline('-ppval(sp,x)','x','sp'); [x01,y01]=ginput for k=1:length(x01) [xcd(k),fcd(k)]=fminsearch(fx1,x0(k),[],sp); end text(xcd,-fcd,'*') %phan d syms a t xi=linspace(0,2); for k=1:length(xi) a=xi(k); %dat cai nay la do trong de co a f1=inline(vectorize((cos(t)+1)./(t.^2+a.^2+1))); yi1(k)=quad(f1,0,xi(k).^2+1)-xi(k).^2-0.2; end figure(2); plot(xi,yi1);grid on; De 19 %bai toan cauchy %caua: giai ptvp va ve dthi D=inline('[2*u(2)-u(1);3*u(1)+u(3)-u(1)*u(3);4*u(1)*u(2)-u(3)]','t','u'); [t,u]=ode45(D,[0 5],[-5 10 0]) %[0 5] ung voi dk doi so vao t;[-5 10 0] ung voi dk ban dau: %x(0),y(0),z(0) plot(t,u(:,1),'r',t,u(:,2),'b',t,u(:,3),'y');shg; legend('x(t)','y(t)','z(t)'); y1=u(:,1); %liet ke cac hang ung voi cot1 cua MT u, tuc la liet ke gt cua x(t),ta %dat ham x(t) do la y1 %Cau b: tinh ko diem va cuc tri spl=spline(t,y1); f11=inline('ppval(spl,x)','x','spl'); [x01,y01]=ginput; for k=1:length(x01) [xn11(k),fxn11(k)]=fsolve(f11,x01(k),[],spl); end text(xn11,fxn11,'*'); % tinh cuc tri bang phuong phap noi suy spline % cuc tieu [x11,y11]=ginput; for k=1:length(x11) [xn12(k),fxn12(k)]=fminsearch(f11,x11(k),[],spl); end text(xn12,fxn12,'o'); %cuc dai f12=inline('-ppval(spl,x)','x','spl'); [x21,y21]=ginput; for k=1:length(x21) [xn21(k),fxn21(k)]=fminsearch(f12,x21(k),[],spl); end text(xn21,-fxn21,'<'); %Cau c: chu y chua lam dc De 20 %cach 1 %bai toan ve phuong phap ban %phan a giai ptvp tinh y(x),y'(x) f=inline('[y(2);y(1)+sin(x)*cos(x)+x^2*sin(x+pi/4)/(x^10+1)]','x','y') [x y]=ode45(f,[0 5],[0 0])%[0 0] la dk ban dau;[0 5] la gioi han cua x %cau b: ve do thi y(x) va y'(x) hay y(:,1) va y(:,2) subplot(2,1,1);plot(x,y(:,1),'r'); subplot(2,1,2);plot(x,y(:,2),'b'); %cau c: figure(2); plot(x,y(:,1),'y',x,y(:,2),'g');grid on %noi suy tung duong y,y' sp1=spline(x,y(:,1));gtsp1=ppval(sp1,x); sp2=spline(x,y(:,2));gtsp2=ppval(sp2,x); [x0 y0]=ginput [xn yn]=fsolve(@(x)(ppval(sp1,x)-ppval(sp2,x)),x0) %for k=1:length(x0) %[xn(:,k) yn(:,k)]=fsolve(inline('ppval(sp1,x)-ppval(sp2,x)','x'),x0(k))%tai sao khai %bao the nay thi ko chay dc??????????????? %end %xn,yn %cau c tinh dt bao boi duong bien tren sp=spline(x,y(:,2)-y(:,1)); tp=fnint(sp); dt=ppval(tp,xn)-ppval(tp,0) %chu y: hoi cac ban cach giai giong bai 27,de gioi han lai dc hinh ta phai %lam tnao va neu khai bao inline de chinh xac ngh thi lam tnao????????? %de20 cach 2, hay hon nhieu cach1 cua Thay Chi %bai toan ve phuong phap ban %phan a giai ptvp tinh y(x),y'(x) f=inline('[y(2);y(1)+sin(x)*cos(x)+x^2*sin(x+pi/4)/(x^10+1)]','x','y') [x y]=ode45(f,[0 5],[0 0])%[0 0] la dk ban dau;[0 5] la gioi han cua x %cau b: ve do thi y(x) va y'(x) hay y(:,1) va y(:,2) subplot(2,1,1);plot(x,y(:,1),'r'); subplot(2,1,2);plot(x,y(:,2),'b'); %cau c: figure(2); plot(x,y(:,1),'y',x,y(:,2),'g');grid on %noi suy tung duong y'-y sp=spline(x,y(:,2)-y(:,1)); % Tim khong diem 2ham giao nhau tu ham noi suy spline sp %x2=0:.01:5 f1=inline('ppval(sp,x)','x','sp'); [x0,y0]=ginput for k=1:length(x0) %chu y vong lap for o day dung cho ham noi suy %khac voi vong for dung voi ham so!!!!bai27 [xn(k),yn(k)]=fsolve(f1,x0(k),[],sp); end xn(1) xn(2) % Tinh tich phan ham noi suy spline bang "fnint" va ham goc bang "quad" tpsp=fnint(sp) dt=abs(ppval(tpsp,xn(1))-ppval(tpsp,xn(2))) De 21 Cach 1 %cau a: %giai ptvp tim y,y',y''va ve chung f=inline('[y(2);y(3);8*x-y(1)^2*y(2)-y(1)*y(3)]','x','y') [x y]=ode45(f,[0 pi/2],[0 2 5]); plot(x,y(:,1),'r',x,y(:,2),'y',x,y(:,3),'b');grid on; xlabel('x');ylabel('y(x),dy/dx,d2y/dx') legend('y(x)','dy/dx','d2y/dx');%chu thich cho cac duong da ve %cau b:tim nghiem pt:y(x)=1.5 sp=spline(x,y(:,1)-1.5); %x2=linspace(0,pi/2); y=ppval(sp,x); figure(2);plot(x,y);grid on % Tim khong diem 2ham giao nhau tu ham noi suy spline sp f1=inline('ppval(sp,x)','x','sp'); [x0,y0]=ginput for k=1:length(x0) %chu y vong lap for o day dung cho ham noi suy %khac voi vong for dung voi ham so!!!!bai27 [xn(k),yn(k)]=fsolve(f1,x0(k),[],sp); end xn,yn Cach 2 %de21 cach 2 %cau a: %giai ptvp tim y,y',y''va ve chung f=inline('[y(2);y(3);8*x-y(1)^2*y(2)-y(1)*y(3)]','x','y') [x y]=ode45(f,[0 pi/2],[0 2 5]); plot(x,y(:,1),'r',x,y(:,2),'y',x,y(:,3),'b');grid on; xlabel('x');ylabel('y(x),dy/dx,d2y/dx') legend('y(x)','dy/dx','d2y/dx');%chu thich cho cac duong da ve %cau b:tim nghiem pt:y(x)=1.5 sp=spline(x,y(:,1)-1.5); y=ppval(sp,x); figure(2);plot(x,y);grid on [x0 y0]=ginput [xn yn]=fsolve(@(x)ppval(sp,x),x0) De 22 Cach 1 %cach 1 nay khong chay duoc??????????? clear all;close all;clc; hpt='Dy1=y2,Dy2=-9.8*sin(y1)-y2'; dkb='y1(0)=0.5,y2(0)=0'; dsb=dsolve(hpt,dkb,'x') y11=simple(dsb.y1) y22=simple(dsb.y2) figure(1); subplot(2,1,1); ezplot(y11,[0 3]);grid on subplot(2,1,2) ezplot(y22,[0 3]);grid on Cach 2 %cach 2 clear all;close all;clc; f=inline('[y(2);-y(2)-9.8*sin(y(1))]','t','y') [t y]=ode45(f,[0 3],[0.5 0]) plot(t,y(:,1),'r',t,y(:,2),'b');grid on; xlabel('t');ylabel('teta'); legend('teta(t)','dteta/dt') %cau b: tim 0 diem va cuc tri ham:y=teta(t) sp=spline(t,y(:,1)); ysp=ppval(sp,t) figure(2);plot(t,ysp) f=inline('ppval(sp,t)') [t0 y0]=ginput for i=1:length(t0) [tn yn]=fsolve(f,t0(i),[],sp) end tn,yn %tim cuc tieu ham noi suy cua dx/dt hay ham noi suy cua y(:,1) [t1 y1]=ginput for i=1:length(t1) [tct yct]=fminsearch(f,t1(i),[],sp) end text(tct,yct,'<cuc tieu day ne !!!') tct,yct %tim cuc dai ham noi suy cua dx/dt hay ham noi suy cua y(:,1) f1=inline('-1*ppval(sp,t)') [t2 y2]=ginput for i=1:length(t2) [tcd ycd]=fminsearch(f1,t2(i),[],sp) end text(tcd,-ycd,'<cuc dai day ne!!! ') %chu y co dau tru nhe,bai nay minh thi quyen ko cho dau - vao,huhu ! tcd,-ycd De 23 clear all;close all; syms x; %bien syms vi o day ta co buoc tinh dao ham %Cau a:ve do thi y=x-7/2+sqrt(4.*x.^2+2.*x+7); ezplot(y,[-6 6]); %Cau b:tim cuc tri f=inline('xi-7/2+sqrt(4.*xi.^2+2.*xi+7)','xi') [x0 y0]=ginput; for k=1:length(x0) [xn(k),fxn(k)]=fminsearch(f,x0(k)); end text(xn,fxn,'< cuc tieu'); %Cau c:Tinh va ve tiem can a1=limit(y/x,x,inf);a2=limit(y/x,x,-inf); b1=limit(y-a1*x,x,inf);b2=limit(y-a2*x,x,-inf); h1=ezplot(a1*x+b1);set(h1,'color','r') h2=ezplot(a2*x+b2);set(h2,'color','r') axis([-6 6 -3 14]) %Cau d:tinh do dai cung: bang tich phan sqrt(1+dy^2) %chu y: tinh dao ham thi bien x phai o dang syms dy=diff(y,x); dyy=sqrt(1+dy^2); fdx=inline(vectorize(dyy),'x'); %vectorize(hoac char):de chuyen tu sym sang vecto I=quad(fdx,-6,6) %Cau e: %quay quanh truc x figure(2); [xi phi]=meshgrid(-6:0.7:6,0:pi/10:2*pi); ri=xi-7/2+sqrt(4*xi.^2+2*xi+7); yi=ri.*cos(phi); zi=ri.*sin(phi); surf(xi,yi,zi); %tinh dien tich cua vat the xoay quanh ox %ban kinh vat the chinh la truc oy disp('dien tich xung quanh'); S=int(2*pi*y,x,-6,6); Sxq=double(S) disp('dien tich toan phan'); R1=subs(y,x,-6); R2=subs(y,x,6); Stp=Sxq+pi*double(R1^2+R2^2) disp('the tich khoi tron xoay'); V=double(pi*int(y^2,x,-6,6)) De 24 Chu y: Cau b khong bit lam clear all;close all;clc %Cau a: ve do thi [x,y]=meshgrid(linspace(-10,10)); f1=x.^2+2.*y.^2-3; f2=2.*x.^2-x.*y-5.*x+1; contour(x,y,f1,[0 0],'r');hold on; contour(x,y,f2,[0 0],'b') %Cau b:lap function chuyen duong cong bac 2 ve dang chinh tac %cau b nay ko chay dc,ko hiu gi hit A=[2,-1/2;-1/2,0]; B=[-5,0]; C=1; F=de24b(A,B,C) h=ezplot(F);set(h,'color','r') %cau c %tinh chu vi va dien tich disp('dien tich '); f=inline('sqrt((3-x.^2)./2)','x') S1=quad(f,-sqrt(3),sqrt(3)); %can nay lay o dau ra nhi ??? dt=2*double(S1) %do dai cung disp('chu vi'); syms x; y1=sqrt((3-x.^2)./2); dy=diff(y1,x); dyy=sqrt(1+dy^2); fdx=inline(vectorize(dyy),'x'); %bien dyy ve dang vecto I=quad(fdx,-sqrt(3),sqrt(3)) cvi=I*2 De 25 Cau b khong chay dc dau????? clear all;close all;clc %ve do thi [x,y]=meshgrid(linspace(-10,10)); f1=2.*x.^2-4.*x.*y-y.^2+8; f2=x.^2+2.*x.*y+y.^2+8.*x+y; contour(x,y,f1,[0 0],'r');hold on; contour(x,y,f2,[0 0],'b') %Cau b:lap function chuyen duong cong bac 2 ve dang chinh tac %cau b nay ko chay dc,ko hiu gi hit A1=[2,-2;-2,-1];B1=[0,0];C1=8 F1=standardform(A1,B1,C1); figure(2);h1=ezplot(F1);grid on;hold on A2=[1,1;1,1];B2=[8,1];C2=0 F2=standardform(A2,B2,C2); h2=ezplot(F2);set(h2,'color','r') De 26 Cau a: Cach 1 %bai toan ve phuong phap ban clear all;close all;clc; hpt='Dy1=y2,Dy2=sin(x)-y1-y2'; dkb='y1(pi/2)=1,y1(0)=0'; dsb=dsolve(hpt,dkb,'x') y11=simple(dsb.y1) %nghiem y y22=simple(dsb.y2) %nghiem y' figure(1); subplot(2,1,1);ezplot(y11,[0 5]);grid on %ve ham y subplot(2,1,2);ezplot(y22,[0 5]);grid on %ve ham y' Cau a: cach 2 clear all;close all;clc; %cau a: giai ptvp voi dk ban dau va ve dthi:y,y' dy=inline('[y(2);sin(t)-y(1)-y(2)]','t','y') [t y]=ode45(dy,[0 5],[0 0]); plot(t,y(:,1),'r',t,y(:,2),'b');grid on %cau b: giai ptvp voi dk bien De 27 R1=1;R2=1;R3=1;R4=1;R5=1; syms V %cau a dung DL Kirchoff lap hpttt va giai no A=[R1 0 R3 0 0;0 R2 -R3 R4 0;0 0 0 R4 -R5;1 -1 -1 0 0;0 1 0 -1 -1]; b=[V;0;0;0;0] I=A\b %cau b ve dthi dong ra I ezplot(I(5),[-5,5]);grid on Hay xem lai cach giai PTVP nhe, chua hiu dau day !!!!!!!!!!!!! Thi tot nhe ! OK !
File đính kèm:
- Tổng hợp code các bài thực hành Matlab.docx