Построить тройную сетку, оценить функцию на сетке и контурный график в Matlab
Мне нужно оценить функцию (скажем) Fxy = 2 * x. ^ 2 +3 * y. ^ 2; на тройной сетке x-диапазон (0 - 1), y-диапазон (0-1) и 1-x-y (0 - 1). Я не могу построить тройную сетку, по которой мне нужно оценить вышеуказанную функцию. Кроме того, после оценки мне нужно построить функцию в тройном контурном графике. В идеале мне нужно, чтобы оси шли против часовой стрелки в смысле (x -> y -> (1-x-y)).
Я попробовал функцию
function tg = triangle_grid ( n, t )
ng = ( ( n + 1 ) * ( n + 2 ) ) / 2;
tg = zeros ( 2, ng );
p = 0;
for i = 0 : n
for j = 0 : n - i
k = n - i - j;
p = p + 1;
tg(1:2,p) = ( i * t(1:2,1) + j * t(1:2,2) + k * t(1:2,3) ) / n;
end
end
return
end
для количества подинтервалов между координатами ребра треугольника
n = 10 (say)
и для координат ребра равностороннего треугольника
t = tcoord = [0.0, 0.5, 1.0;
0.0, 1.0*sqrt(3)/2, 0.0];
Это создало треугольную сетку с осью X от 0-1, но два других не от 0-1.
Мне нужно что-то вроде этого:
... с диапазоном осей 0-1 (0-100 тоже подойдет).
Кроме того, мне нужно знать координаты всех пересечений в треугольной сетке. Получив это, я могу приступить к оценке функции в этой сетке.
Моя конечная цель - получить что-то подобное. Это лучшее представление о том, что мне нужно достичь (по сравнению с предыдущим сюжетом, который я сейчас удалил)
Обратите внимание, что два тройных графика имеют контуры изо значения, которые различаются по величине. В моем случае разница составляет порядка двух разных Fxy.
Если я смогу нанести два тройных графика друг на друга, то оценил бы композиции на пересечении двух контуров изо-значений на тройной плоскости. Композиции должны быть такими же, как прочитанные на троичном графике, а не прямоугольной сеткой, на которой определен треугольник. В настоящее время существуют проблемы (как отмечено в разделе комментариев, мы обновим их, как только проблема приблизится к решению).