我一直在試圖在Matlab中繪製一些不等式。爲什麼Matlab在保存時添加這一行來繪圖?
當它顯示在Matlab圖,它看起來右:
但是當我保存這個數字,我得到這個惱人的黃線(既當手動保存,當保存在代碼):
產生的情節中的代碼是:
function [ ] = plotInequalities(~)
pRange = linspace(1/2,1,1000);
cRange = linspace(0,1,1000);
[P, C] = meshgrid(pRange,cRange);
ineq1 = P >= 2/3;
ineq2 = C.*P.*(3-4.*P)./(2.*P+C.*(2-4.*P)) >= 1-P;
ineq3 = C <= 3.*P.*(1-P)./(2.*(-6.*P.^2+6.*P-1));
rest = ~ineq1 & ~ineq2 & ~ineq3;
pl = figure
hold on
c = 2:5;
contourf(pRange, cRange, c(2) * ineq2, [c(2), c(2)], 'c')
contourf(pRange, cRange, c(3) * ineq3, [c(3), c(3)], 'y')
contourf(pRange, cRange, c(4) * rest, [c(4), c(4)], 'r')
contourf(pRange, cRange, c(1) * ineq1, [c(1), c(1)], 'b')
legend('\{A,AB\}', '\{A,B\}', '\{A,AB, B\}', '\{A\}')
xlabel('P')
ylabel('C')
saveas(pl, 'out.png','png');
end
我在Windows 8
任何想法,用Matlab R2014a,爲什麼出現這種情況?
請給出更多細節。顯示用於生成圖的代碼,並保存圖(哪種格式?)。哪個版本的matlab(和平臺)也可能對你有用。 – Hoki
@Hoki - 感謝您的評論。詳細信息添加 –