用MATLAB数学软件编写程序

2025-04-14 09:05:35
推荐回答(2个)
回答1:

>> a=[-2,1,5];s=[-1,0,2];b=[3,0,-1];ba=a-b;l=sqrt(dot(ba,ba));
>> alpha=acos(dot(ba,s)/(l*sqrt(dot(s,s))));d=l*sin(alpha)

d =

3361/1640

>> format short
>> d

d =

2.0494

回答2:

% min_val is the distance between point and line
k=(-4:0.001:4)';
x=-k+3;
y=0*k;
z=2*k-1;
d=sqrt((x-1).^2+(y-1).^2+(z-4).^2);
[min_val,num]=min(d),
foot=[x(num),y(num),z(num)]