I am trying to plot the function $U(x,y)=6*\ln(x) + \ln(y)$ for $x=1,...,4$ and $y=1,...,14-3*x$, however, I can't specify that the domain for $y$ is a function of $x$.
MWE:
\documentclass[tikz,border=5pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}[view/h=40,colormap/violet]
\addplot3[
surf,
%shader=interp,
shader=flat,
samples=50,
domain=1:4,y domain=1:14-3*x] % it goes wrong here
{6*ln(x) + ln(y)};
\end{axis}
\end{tikzpicture}
\end{document}
How can I do this?
UPDATE:
I have tried to use \pgfmathparse and \pgfmathresult, but I still can't get it to display the right surface.
MWE:
\documentclass[tikz,border=5pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
%view/h=80,
colormap/cool,
xlabel = $x$,
ylabel = $y$,
zlabel = {$U(x,y)$}
]
\foreach \i in {1,...,4}{
\pgfmathparse{14 - 3*\i};
\addplot3[
surf,
shader=interp,
%shader=flat,
samples=50,
domain=1:4,y domain=1:\pgfmathresult]
{6*ln(x) + ln(y)};
}
\end{axis}
\end{tikzpicture}
\end{document}
