Я хочу использовать Matlab для достижения следующей цели: У меня есть функция, которая принимает два входа и дает реальное число.Matlab: Как окрасить регион
function T = SS(x,y)
%%% some calculation %%%
T = returnval
Хочу точку (х, у) в плоскости ху, чтобы быть окрашены в синий цвет, если возвращаемое значение равно 1, зеленый, если возвращаемое значение равно 0,5 и т.д.
Я не Не знаю, как подойти к этому. (расчет сложный, поэтому неясно, какова связь между x и y по z.Таким образом, невозможно написать уравнение для деления области затем цвет соответственно.)
Спасибо за помощь. :
спасибо. Сейчас я могу получить матрицу 100 * 100 с элементами значения 1/2/3/4/5/6. и я хочу, чтобы все 1 были одного цвета, а все 2 - одного цвета. Является ли ваш подход все еще применимым или существует более простой способ решения проблемы? (так как теперь он менее сложный.) Спасибо. – Hong
В этом случае make 'MAP' с одной строкой для каждого значения. Поэтому, если ваши значения равны 1, 2, 3, 4, 5, 6, тогда сделайте 'MAP' с 6 строками и 3 столбцами. Каждая строка имеет 3 записи, по одному для красного, зеленого и синего цветов соответственно. Поэтому '[1 1 1]' белый, '[0 0 0]' черный, '[1 0 0]' красный и т. Д. – David
Спасибо. Вернемся к вашему первому решению. Что делать, если значения T не могут быть определены заранее. В основном, что делает функция, это то, что она принимает (x, y) и вычисляет 6 значений (в определенном порядке) и возвращает минимум. Я хотел бы, чтобы, если возвращаемый минимум является вторым рассчитанным значением, тогда (x, y) должен быть красным. Если возвращаемый минимум - это четвертое значение, то (x, y) должно быть другого цвета. (Извините, если описание сложное, спасибо за вашу помощь) – Hong