2016-10-16 4 views
-1

Я пробовал с вашим terndemo, но я не могу получить графические данные, как вы, сэр. Моя цель - представить, как каждая формулировка отвечает за разные zetasizes в трехмерном трехмерном сюжете. Я пробовал редактировать файл, но результат другой.как построить трехмерный трехмерный график для трех смесей

%% Three D plot for ZetaSize of oil, surfactant and cosurfactant isotropic mixture blends 
experimental = [... 
    20 60 20 
    20 50 30 
    20 40 40 
    20 30 50 
    20 20 60 
    25 60 15 
    25 50 25 
    25 40 35 
    25 30 45 
    25 20 55 
    30 60 10 
    30 50 20 
    30 40 30 
    30 30 40 
    30 20 50 
    35 55 10 
    35 45 20 
    35 35 30 
    35 25 40]; 
data = [... 
    252.2 
    120.4 
    165.7 
    178.3 
    158.9 
    322 
    294.8 
    265.5 
    160.7 
    431.9 
    225.2 
    416.3 
    484.9 
    458.2 
    765 
    362.2 
    526 
    331 
    743.7]; 

A = experimental(:, 1)'; 
B = experimental(:, 2)'; 
C = 1 - (A + B); 

ternsurf(A, B, data); 
ternlabel('oil', 'surf', 'cosurf***strong text***'); 
+0

Не мог бы Вы объяснить, что именно вы пытаетесь сделать и показать, что сделали до сих пор? Потому что это действительно неясно. – Kamiccolo

+0

На самом деле мне нужно построить трехмерную диаграмму фазы для эмульсии, которая состоит из трех фаз, сформулированных в разных соотношениях, дает разные zetasizes. Мой сюжет должен представлять влияние трех смесей на отклонения zetasize в 3d. Мне действительно нужен сюжет, как эта ссылка, предоставленная мне https://www.mathworks.com/matlabcentral/fileexchange/2299-alchemyst-ternplot –

+0

Вам нужно более четко узнать, какие данные у вас есть и что вы пробовали до сих пор. В пакете, на который вы ссылаетесь, есть команда 'ternsurf', которая делает вид сюжета, который вы, похоже, ищете. Посмотрите файл 'terndemo', который выводит результат в описании пакета. Обновите свой вопрос, чтобы указать, что вы пробовали, и что пошло не так, и мы можем вам помочь. – chthonicdaemon

ответ

0

Я обновил это, чтобы оно соответствовало вашим данным. Обратите внимание, что последняя строка ваших координат не добавляется к 100. Я разделил ее на 100 и построил график pcolor, а не 3D-поверхность, так как я думаю, что это четче с вашими данными. Если вам нужна 3D-поверхность, вам просто нужно разделить столбец данных примерно на 1000, чтобы получить правильную шкалу и использовать ternsurf.

%% Three D plot for ZetaSize of oil, surfactant and cosurfactant isotropic mixture blends 
experimental = [... 
    20 60 20 
    20 50 30 
    20 40 40 
    20 30 50 
    20 20 60 
    25 60 15 
    25 50 25 
    25 40 35 
    25 30 45 
    25 20 55 
    30 60 10 
    30 50 20 
    30 40 30 
    30 30 40 
    30 20 50 
    35 55 10 
    35 45 20 
    35 35 30 
    35 45 40 % this row doesn't add to 100 
]/100; 
data = [... 
    252.2 
    120.4 
    165.7 
    178.3 
    158.9 
    322 
    294.8 
    265.5 
    160.7 
    431.9 
    225.2 
    416.3 
    484.9 
    458.2 
    765 
    362.2 
    526 
    331 
    743.7]; 

A = experimental(:, 1)'; 
B = experimental(:, 2)'; 
C = 1 - (A + B); 

ternpcolor(A, B, data); 
shading interp 
ternlabel('oil', 'surf', 'cosurf'); 
colorbar 

Это приводит к следующему сюжету:

Program output

Смежные вопросы