使用 Tikz 或 pgfplots 绘制切线凸函数和凹函数

使用 Tikz 或 pgfplots 绘制切线凸函数和凹函数

我正在尝试使用 Tikz/pgfplots 在 latex 中(使用 xetex 作为编译器)绘制以下图形。IC_1、IC_2 和 IC_3 严格凸。OC_a 和 OC_b 严格凹。IC_1 分别在 X^a 和 X^b 处与 OC_a 和 OC_b 相切。IC_2 和 IC_3 均在 X^a 处与 OC_a 相切。

任何帮助都将不胜感激!谢谢! 在此处输入图片描述

答案1

使用tzplot包裹:

在此处输入图片描述

\documentclass[tikz,border=5mm]{standalone}
    
\usepackage{tzplot}[scale=.6]

\begin{document}

\begin{tikzpicture}[font=\scriptsize]
% \tzhelplines(10,10)
\tzaxes*(10,10){$x_1$}{$x_2$}[l]
\tzto[blue,bend right,thick]"IC1"(1,8)(9,2){$IC^1$}[r]
\tzvXpointat*[red]{IC1}{3}(Xa){$x^a$}[[red]45]
\tzvXpointat*[teal]{IC1}{6}(Xb){$x^b$}[[teal]20]
\tzproj[red](Xa){$x_1^a$}{$x_2^a$}
\tzproj[teal](Xb){$x_1^b$}{$x_2^b$}
\tzcoors($(Xa)+(-2.5,1.5)$)(OCa1)($(Xa)+(2,-3.5)$)(OCa2);
\tzplotcurve[red,thick](OCa1){$OC_a$}[-90](Xa)(OCa2);
\tzcoors($(Xb)+(-5,1.2)$)(OCb1)($(Xb)+(3,-2)$)(OCb2);
\tzplotcurve[teal,thick](OCb1){$OC_b$}[90](Xb)(OCb2);
\tzcoors($(Xa)+(-1.5,3)$)(IC2L)($(Xa)+(3,-1.5)$)(IC2R);
\tzplotcurve[blue,thick,dashed](IC2L)(Xa)(IC2R){$IC^2$}[r];
\tzcoors($(Xa)+(-1.2,3)$)(IC3L)($(Xa)+(3,-1.2)$)(IC3R);
\tzplotcurve[blue,thick,dotted](IC3L)(Xa)(IC3R){$IC^3$}[45];
\end{tikzpicture}

\end{document}

相关内容