预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

转自《工程计算可视化与MATLAB实现》尚涛等编著武汉大学出版社(1)两直线相交function[X,Y]=pll(X1,Y1,X2,Y2)%直线相交求交点A1=Y1(1)-Y1(2);B1=X1(2)-X1(1);C1=Y1(2)*X1(1)-Y1(1)*X1(2);A2=Y2(1)-Y2(2);B2=X2(2)-X2(1);C2=Y2(2)*X2(1)-Y2(1)*X2(2);D=det([A1,B1;A2,B2]);X=det([-C1B1;-C2B2])/D;Y=det([A1-C1;A2,-C2])/D;调用格式:x1=[15];y1=[15];x2=[15];y2=[5,1];[x,y]=pll(x1,y1,x2,y2);plot(x1,y1,\'r\');holdonplot(x2,y2,\'b\');plot(x,y,\'ko\');(2)直线与多条直线相交xi=[12345];yi=[26361];plot(xi,yi);holdonx1=[15];y1=[45];line(x1,y1);x=zeros(size(xi));y=x;fori=1:5-1x2=xi([ii+1]);y2=yi([ii+1]);[x,y]=pll(x1,y1,x2,y2);plot(x,y,\'ro\')end(3)直线与曲线相交x=-8:0.1:8;y=x;[X,Y]=meshgrid(x,y);R=sqrt(X.^2+Y.^2)+eps;Z=sin(R)./R;contour(Z,3);holdonc=contour(Z,3);x=[0360];y=[0400];y=(y(2)-y(1))/(x(2)-x(1))*(x-x(1))+y(1);z=[00];line(x,y,z);c=c\';X=c(:,1);Y=c(:,2);r0=abs(Y-(y(2)-y(1))/(x(2)-x(1))*(X-x(1))+y(1))<=.93;zz=0;yy=r0.*Y;xx=r0.*X;plot(xx(r0~=0),yy(r0~=0),\'r\')(4)曲线与曲线相交x=0:pi/400:2*pi;x=x\';y1=sin(pi*x);y2=cos(pi*x);plot(x,y1,x,y2);holdonr0=abs(y2-sin(pi*x))<=0.02;yy=r0.*y1;xx=r0.*x;plot(xx(r0~=0),yy(r0~=0),\'r.\')(5)直线与曲面相交x=-8:0.3:8;y=x;[X,Y]=meshgrid(x,y);Z=X.^2+Y.^2;mesh(X,Y,Z);holdonx=[-1010];y=[-103];z=[3035];line(x,y,z);r0=(abs(Y-y(1)-(y(2)-y(1))/(x(2)-x(1))*(X-x(1)))<=0.45)&...(abs(Z-z(1)-(z(2)-z(1))/(x(2)-x(1))*(X-x(1)))<0.45)&...(abs(Y-y(1)-(y(2)-y(1))/(z(2)-z(1))*(Z-z(1)))<=0.45);zz=r0.*Z;yy=r0.*Y;xx=r0.*X;plot3(xx(r0~=0),yy(r0~=0),zz(r0~=0),\'r*\');(6)平面与曲面相交x=-8:0.1:8;y=x;[X,Y]=meshgrid(x,y);Z1=2*ones(size(X));Z2=X.^2-Y.^2;mesh(X,Y,Z1);holdonmesh(X,Y,Z2);r0=(abs(Z1-Z2)<=.65);zz=r0.*Z1;yy=r0.*Y;xx=r0.*X;plot3(xx(r0~=0),yy(r0~=0),zz(r0~=0),\'k*\')clcdisp(\'观察曲面后,按任意键画交线\');pauseclfplot3(xx(r0~=0),yy(r0~=0),zz(r0~=0),\'k*\');%曲面与多个截平面相交y=-10:0.5:10;z=y;[Z,Y]=meshgrid(z,y);X=Z;X1=0*ones(size(Z));X2=3*ones(size(Z));X3=-3*ones(size(Z));Z4=(X.^2-Y.^2)/10;mesh(X1,Y,Z);holdonmesh(X2,Y,Z)mesh(X3,Y,Z);mesh(X,Y,Z4);r1=(abs(X1-X)<0.05);r2=(abs(X2-X)<0.05);r3=(abs(X3-X)<0.05);zz1=r1.*Z4;yy1=r1.*Y;xx1=r1.*X;zz2=r2.*Z4;yy2=r1.*Y;xx2=r1.*X;zz3=r3.*Z4;yy3=r1.*