提问于:
浏览数:
1843
## 编译环境
操作系统
* [x] Windows 7/8/10
* [ ] macOS
* [ ] Linux
`若需勾选,请把[ ]改成[x]`
Tex发行版
* [x] TexLive `年份`
* [ ] MikTeX `版本号`
* [ ] CTeX
`若需勾选,请把[ ]改成[x]`
## 我的问题
插入matlab代码时,遇到下划线后弹出missing $ inserted,并且不在第一个下划线出现
```
\documentclass[UTF8,]{ctexart}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{cite}
\usepackage{listings}%引入代码
\usepackage{xcolor}
\usepackage{textcomp}
\usepackage{fancyhdr}
\usepackage{subfigure}
\usepackage{xcolor}
\usepackage{geometry}%页边距包
\geometry{left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm}%页边距参数
\pagestyle{fancy}
\lfoot{}
\lstset{
language=Matlab, %代码语言使用的是matlab
frame=shadowbox, %把代码用带有阴影的框圈起来
rulesepcolor=\color{red!20!green!20!blue!20},%代码块边框为淡青色
keywordstyle=\color{blue!90}\bfseries, %代码关键字的颜色为蓝色,粗体
commentstyle=\color{red!10!green!70}\textit, % 设置代码注释的颜色
showstringspaces=false,%不显示代码字符串中间的空格标记
numbers=left, % 显示行号
numberstyle=\tiny, % 行号字体
stringstyle=\ttfamily, % 代码字符串的特殊格式
breaklines=true, %对过长的代码自动换行
extendedchars=false, %解决代码跨页时,章节标题,页眉等汉字不显示的问题
escapebegin=\begin{CJK*}{GBK}{hei},escapeend=\end{CJK*}, % 代码中出现中文必须加上,否则报错
texcl=true}
\begin{document}
\begin{lstlisting}
%% 一题二问新解法
%% t_in 求解
clear;
%% stable numbers
V = 39270;
t_find = 0.291;
tic
t_period = t_find+10;
t_delay = 0;
deta_t = 0.001; %deta_t<0.001
t_rest = 0:deta_t:15000;
P_aim = 100;
SIZE = size(t_rest);
ro_rest = zeros(SIZE);
P_rest = zeros(SIZE);
M_IN = zeros(SIZE);
M_OUT = zeros(SIZE);
P_rest(1) = 100;
ro_rest(1) = ro_clc(P_rest(1));
for i=2:SIZE(2)
t = t_rest(i);
M_IN(i-1) = dm_in_clc(ro_rest(i-1),t_period,t)*deta_t;
M_OUT(i-1) = dm_out_clc(ro_rest(i-1),t_delay,t)*deta_t;
ro_rest(i) = ro_rest(i-1) +( M_IN(i-1) - M_OUT(i-1))/V;
P_rest(i) = P_clc(ro_clc(i));
end
P_rest = P_clc(ro_rest);
%% remark
end_i = SIZE(2);
L = 0;
for i=1:10000000
L = L+P_rest(end_i-i)/10000000;
end
fprintf('当t_find = %.4f时,最终稳定平均压力为%.4f\n',t_find,L);
\end{lstlisting}
\end{document}
```