2012-06-21 5 views
2

У меня есть 3 векторов, один для углов Phi, другие для углов Teta, а последний вектор из точек в Y axe, после вычисления точки Teta & Phi с функцией:Участок 3 векторов в 3d

for teta = 0 : 10^-2 : pi/2 
    for phi = 0 : 10^-2 : pi/2 
     Y(current) = v*sin(phi)*sin(teta); 
     Teta(current) = teta; 
     Phi(current) = phi; 
     current = current + 1; 
    end 
end 

Как я могу построить три из них вместе?

Я хочу построить на 3d граф с Teta & Phi как функция Y. Я пробовал с plot3, но результат был не настолько удовлетворительным.

Благодаря

ответ

2

Я неясный о точных целях, но вот моя интерпретация:

teta = 0:.01:pi/2; 
phi =0:.01:pi/2; 
[t p]=meshgrid(teta,phi); 
Y = v*sin(p)*sin(t); 
surf(t,p,Y) 
xlabel('teta') 
ylabel('phi') 
zlabel('1*sin(teta)*sin(phi)') 

Создания векторов teta и phi значений, используйте meshgrid для получения матрицы значений t и p и использовать векторизованную форму sin (а не петлю for). Затем используйте surf для построения результатов в виде поверхности в 3D. enter image description here

1

enter image description here

Это один нормально? Я сделал шаг больше и установить V как 1.

current = 1; 
for teta = 0 : 10^-1 : pi/2 
    for phi = 0 : 10^-1 : pi/2 
     Y(current) = 1*sin(phi)*sin(teta); 
     Teta(current) = teta; 
     Phi(current) = phi; 
     current = current + 1; 
    end 
end 
plot3(Teta,Phi,Y); 
xlabel('Teta') 
ylabel('Phi') 
zlabel('Y') 
grid on 
+0

Выглядит отлично, я сделал это сам, но то, что я искал, возможно, использует 'surf', однако, когда я это сделал, это получилось довольно ошибочным. Можно ли сделать то же самое с прибоем? Благодарю . – ron

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