MATLAB Answers

Matlab 3D Plot Help

Yellow Canary 님이 질문을 제출함. 16 Jan 2015
I am trying to plot my data and create 3D plot. Matlab gives me this error: Warning: Matrix is singular to working precision. My code is below. Can anyone tell me what am I missing? Thank you,
c=0;
p=1;
wu=1;
w=0.5;
Ha=20;
Hb=30;
x=[0:0.01:0.20];
y=[0:0.01:(x-0.01)];
[Pb,Pa]=meshgrid(x,y);
z=(((Pb/(1-Pb))*(p-w))-c)*Hb + w*(Pb*(1-Pa)*Hb + Pa*Pb*Hb)+ wu*Pa*(1-Pb)*Ha;
figure
surf(x,y,z)

  댓글 수: 0

로그인 to comment.

태그

답변 수: 1

Youssef Khmou 님의 답변 16 Jan 2015
Youssef Khmou 님이 편집함. 16 Jan 2015

The program contains an error because y is an empty vector, the version below is altered to have Pb and Pa with same dimensions, to avoid singularity in z, element wise division is used :
c=0;
p=1;
wu=1;
w=0.5;
Ha=20;
Hb=30;
[Pb,Pa]=meshgrid(linspace(0,0.1,40)); % 40 points of linear grid.
z=(((Pb./(1-Pb))*(p-w))-c)*Hb + w*(Pb*(1-Pa)*Hb + Pa*Pb*Hb)+ wu*Pa*(1-Pb)*Ha;
figure
surf(Pa,Pb,z)

  댓글 수: 1

Here, I have a condition. Pa<Pb and Pb can take values between 0 and 0.20, and can increase by 0.01.

로그인 to comment.



Translated by