Я новый пользователь MATLAB, и я пытаюсь построить функцию:
function [ uncertainty ] = uncertain(s1, s2, p)
%UNCERTAIN calculates the measurement uncertainty of a triangulation
% provide two coordinates of known stations and a target coordinate
% of another point, then you get the uncertainty
[theta1, dist1] = cart2pol(p(1)-s1(1), p(2)-s1(2));
[theta2, dist2] = cart2pol(p(1)-s1(1), p(2)-s2(2));
theta=abs(pi-theta2-theta1);
uncertainty = dist1*dist2/abs(sin(theta));
end
вызывается с помощью:
uncertain([0 0],[8 0],[4 4])
Я получаю один результат. Но я хочу всю поверхность и называется:
x=-2:.1:10;
y=-2:.1:10;
z = uncertain([0 0],[8 0],[x y]);
mesh(x,y,z)
Я получаю сообщение об ошибке: «Z должно быть матрицей, а не скаляром или вектором».
Как я могу изменить свой код, чтобы моя функция рисовала поверхность?
Заранее спасибо. Ральф.