TIKZ 上的复杂函数,错误:“无法计算负数的对数”

TIKZ 上的复杂函数,错误:“无法计算负数的对数”

我尝试绘制以下函数图,但它给出了错误“无法计算负数的对数。

\begin{document}
\usepackage{pgfplots}
\usetikzlibrary{fixedpointarithmetic}
\begin{minipage}{0.48\textwidth}
\begin{tikzpicture}[scale=1.3]
 \clip (-0.7,-0.5) rectangle (4,4);
{
\draw[\Col, \dashing] plot[domain=0:4, range=0:4, variable=\x,samples=90] ({\x},{max(3*log10(\x+0.23)+4*(\x-0.35)^0.1-2.6+0.67*(\x-0.35)^1.63/12,0)});
}
\draw (0,0) rectangle (4,4);
\draw [dotted] (1,0) node[below]{$1$} -- (1,4);
\draw [dotted] (0,1.1) node[left]{$0.5$} -- (4,1.1);
\node at (3.6,-.2) {$v_i$};
\node at (-.4,3.85) {q};
\end{tikzpicture}
\end{minipage}
\end{figure}
\end{document}

我该如何解决?

答案1

只是阐明了 John Kormylo 所提到的内容。您不能将负数取为分数次方。

\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{pgfplots,fp}
\usetikzlibrary{fixedpointarithmetic}
\begin{document}
\begin{tikzpicture}[scale=1.3]
 \clip (-0.7,-0.5) rectangle (4,4);
{
\draw%[\Col, \dashing]
 plot[domain=0:4, range=0:4, variable=\x,samples=90] 
 ({\x},{max(3*log10(\x+0.23)+4*(abs(\x-0.35))^0.1-2.6+0.67*(abs(\x-0.35))^1.63/12,0)});
}
\draw (0,0) rectangle (4,4);
\draw [dotted] (1,0) node[below]{$1$} -- (1,4);
\draw [dotted] (0,1.1) node[left]{$0.5$} -- (4,1.1);
\node at (3.6,-.2) {$v_i$};
\node at (-.4,3.85) {q};
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容