2015-07-07 2 views
1

Я как бы новичок в использовании Matlab, и у меня есть проблема создания 3D-сюжета с использованием этих трех переменных.Может ли кто-нибудь помочь мне сделать 3D-график из этих переменных?

Переменные:

P=[1 0.8 0.6 0.4 0.2]; 
N=[0.1429 0.2857 0.4286 0.5714 0.7143 0.8571 1.0000]; 
K = 
    0.0359 0.0340 0.0315 0.0298 0.0309 
    0.0700 0.0669 0.0618 0.0602 0.0601 
    0.1018 0.0961 0.0896 0.0866 0.0897 
    0.1270 0.1192 0.1152 0.1091 0.1127 
    0.1444 0.1390 0.1322 0.1235 0.1284 
    0.1556 0.1509 0.1424 0.1375 0.1419 
    0.1656 0.1598 0.1536 0.1466 0.1500 

В Matlab, K в виде K(:,1),(K:2),k(:,3),K(:,4) and K(:,5)

кто может мне помочь, пожалуйста, о том, как это сделать ?.

Я скопировал некоторые разделы кода ниже:

P=[1 0.8 0.6 0.4 0.2]; 

LAMBDA = linspace(0,1,8) * c; 

for iL = 1:length(LAMBDA) 

    lambda = LAMBDA(iL); 
    for iP=1:length(P) 
     [Pbi,Pbo,Pb,Rhoi,Rhoo,Rho]=Sim_traffic(lambdai(iL),lambdao(iL),mu,ci,co,1-epsi); 
     P_out_p(iL,iP) = (lambdai(iL).*(1-P_B_i_conv_s(iL)).*inner_outage(iL,iPR) + lambdao(iL).*(1-P_B_o_conv_s(iL)).*out_outage(iL,iPR)); 
    end 
end 

N=LAMBDA./c; 

K=P_out_p(:,:); 

ответ

2

Вы, вероятно, глядя использовать surf и будут нуждаться в meshgrid, а также:

[p,n] = meshgrid(P,N)dimensions are wrong... 
surf(p,n,K) 

Хотя глядя на the docs, я думаю, вы могли бы пропустить линию meshgrid здесь:

surf(P,N,K) 
+0

['surf'] (http://www.mathworks.com/help/matlab/ref/surf.html) может выполнять' meshgrid' для вас внутренне, вы можете вызвать его, используя исходные векторы 'surf (N, P, K); ' – Shai

+1

@Shai спасибо, просто добавил, что на самом деле :) – Dan

+0

Спасибо за быстрый ответ, я попытался сделать то, что вы предложили здесь, но я получаю сообщение об ошибке« Размеры данных должны соглашаться ».Пожалуйста, помогите –

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