I try to solve the intersection of a line and a surface by solving a system of nonlinear equations, while it seems to run into some problem of the global variables and function handle…
global x y z tline_p=[3,2,1]; % point on the line
line_d=[1,2,3]; % line direction vector
surface=@(x,y,z)x+y^2+z^3-10;p=intersection(line_p,line_d,surface);function [p]=intersection(line_p,line_d,surface) eq1=x-(line_p(1)+line_d(1)*t); eq2=y-(line_p(2)+line_d(2)*t); eq3=z-(line_p(3)+line_d(3)*t); eq4=@(x,y,z)surface; sol = solve(eq1,eq2,eq3,eq4,x,y,z,t); p=sol(3,1);end
Best Answer