Matlab 3D Plot Help

1 visualizzazione (ultimi 30 giorni)
Yellow Canary
Yellow Canary il 16 Gen 2015
Commentato: Yellow Canary il 16 Gen 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)

Risposte (1)

Youssef  Khmou
Youssef Khmou il 16 Gen 2015
Modificato: Youssef Khmou il 16 Gen 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 Commento
Yellow Canary
Yellow Canary il 16 Gen 2015
Here, I have a condition. Pa<Pb and Pb can take values between 0 and 0.20, and can increase by 0.01.

Accedi per commentare.

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by