![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/172920/image.jpeg)
Matlab 3D Plot Help
조회 수: 1 (최근 30일)
이전 댓글 표시
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
답변 (1개)
Youssef Khmou
2015년 1월 16일
편집: Youssef Khmou
2015년 1월 16일
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)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/172920/image.jpeg)
참고 항목
카테고리
Help Center 및 File Exchange에서 Line Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!