matlab怎么直接执行M文件来作图

matlab怎么直接执行M文件来作图,第1张

运行的方式有2种,

是在命令中心输入.m文件的名字(如果有参数,就需要给出参数);

二是在.m文件编辑环境中直接运行,一般是在debug菜单项中选run或者直接按F5

运行的结果也是在命令中心显示(要是是画图的话,就是figure窗口了)

x=1

y=2

theta=pi/10

r=0.5

axis equal 

t = linspace(0+theta,2*pi+theta,6) 

xr = x+r*cos(t) 

yr = y+r*sin(t) 

xk = zeros(1,11) 

yk = zeros(1,11) 

xk(1) = xr(1) yk(1) = yr(1) [xk(2) yk(2)] = CrossPoint([xr(1) yr(1)],[xr(3) yr(3)],[xr(2) yr(2)],[xr(5) yr(5)]) 

xk(3) = xr(2) yk(3) = yr(2) [xk(4) yk(4)] = CrossPoint([xr(2) yr(2)],[xr(4) yr(4)],[xr(1) yr(1)],[xr(3) yr(3)]) 

xk(5) = xr(3) yk(5) = yr(3) [xk(6) yk(6)] = CrossPoint([xr(2) yr(2)],[xr(4) yr(4)],[xr(3) yr(3)],[xr(5) yr(5)]) 

xk(7) = xr(4) yk(7) = yr(4) [xk(8) yk(8)] = CrossPoint([xr(3) yr(3)],[xr(5) yr(5)],[xr(1) yr(1)],[xr(4) yr(4)]) 

xk(9) = xr(5) yk(9) = yr(5) [xk(10) yk(10)] = CrossPoint([xr(1) yr(1)],[xr(4) yr(4)],[xr(2) yr(2)],[xr(5) yr(5)]) 

xk(11)=xk(1)yk(11)=yk(1)

plot(xk,yk) 

%fill(xk,yk,'w')   

axis equal

axis off

需要另写一个函数,计算交叉点

function [x,y]=CrossPoint(p1,p2,p3,p4) 

x1 = p1(1) y1 = p1(2) 

x2 = p2(1) y2 = p2(2) 

x3 = p3(1) y3 = p3(2) 

x4 = p4(1) y4 = p4(2)   

if x1==x2

    x = x1 

    k2 = (y4-y3)/(x4-x3)

    y = k2*(x-x3)+y3 

elseif x3==x4 

      x = x3 

      k1 = (y2-y1)/(x2-x1)

      y = k1*(x-x1)+y1     

else 

      k1 = (y2-y1)/(x2-x1) 

      k2 = (y4-y3)/(x4-x3) 

      sol = [-k1 1-k2 1]\[y1-k1*x1y3-k2*x3]

      x = sol(1)y = sol(2)     

end

end %圆球

syms x y z

F=x^2+y^2+z^2-16

nv=jacobian(F,[x y z])

[x,y,z]=sphere

surf(4*x,4*y,4*z)

shading interp

%指定某点

x=-1y=-2z=sqrt(16-x^2-y^2)

nv=double(subs(nv))

hold on

quiver3(x,y,z,nv(1),nv(2),nv(3),.5)%法向量

t=-1:.5:1

[xx,yy]=meshgrid(t+x,t+y)

zz=-(nv(1)*(xx-x)+nv(2)*(yy-y))/nv(3)+z

mesh(xx,yy,zz)%切平面 clear all

close all

figurehold on

x1=[0 10 10 0 0]

y1=[0 0 0 0 0]

z1=[0 0 10 10 0]

x2=[10 10 10 10 10]

y2=[0 10 10 0 0]

z2=[0 0 10 10 0]

x3=[0 10 10 0 0]

y3=[10 10 10 10 10]

z3=[0 0 10 10 0]

x4=[0 0 0 0 0]

y4=[0 10 10 0 0]

z4=[0 0 10 10 0]

plot3(x1,y1,z1,'Color',[0 0 0])

plot3(x2,y2,z2,'Color',[0 0 0])

plot3(x3,y3,z3,'Color',[0 0 0])

plot3(x4,y4,z4,'Color',[0 0 0])

% plot3(x1,y1,z1,x2,y2,z2,x3,y3,z3,x4,y4,z4,x5,y5,z5,'Color',[0 0 0])

view(3)

x=0:0.1:10

z=0.4.*(x-5).^2

y=zeros(length(x))

hold on

plot3(x,y,z)

y=10.*ones(length(x))

plot3(x,y,z)

y=0:0.1:10

z=0.4.*(y-5).^2

x=zeros(length(x))

plot3(x,y,z)

x=10.*ones(length(x))

plot3(x,y,z)

set(gca,'xtick',[],'xticklabel',[])

set(gca,'ytick',[],'yticklabel',[])

set(gca,'ztick',[],'zticklabel',[])


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11701715.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存