1

I have following code:

    \begin{IEEEeqnarray}{c} 
    y = \beta_0 + \sum\limits_{i=1}^{m}{\beta_i x_i} + \sum\limits_{i = 1}^{m} \sum\limits_{j \geq 1}^{m}{\beta_{ij} x_i x_j} + \epsilon
    \label{doe_eq}
\end{IEEEeqnarray}


\begin{tabular}{lll}
    where, & $m$ &= total number of input parameters,\\
     & $x_{i}$ &= $i$th system input,\\
     & $y$ &= system output,\\
     & $\beta_{0}$ &= model constant,\\
     & $\beta_{i}$ &= linear constant,\\
     & $\beta_{ij}$ &= \left \{ \begin{tabular}{l}
                                    interaction constant when $i$\neq$j$,\\
                                    quadratic constant when $i$=$j$,\\
                                 \end{tabular} \\                              
     & $\epsilon$ &= model bias  
\end{tabular}

With this I get following errors:

    line 553: Missing $ inserted. & $\beta_{ij}$ &= \left
line 554: Missing $ inserted. interaction constant when $i$\neq
line 555: Missing $ inserted. q
line 557: Missing \right. inserted. &
line 557: Missing $ inserted. &
: Unsupported document class (or package) detected,(caption) usage of the caption package is not recommended.
line 501: Underfull \hbox (badness 10000) in paragraph

I am not sure what is causing this exactly. Any idea?

Thank you.

4
  • 2
    \left\{ is valid only in math mode, and you can't use it without a \right. I'd write just $\{$, maybe with an explicit size declaration. \neq should also be in math mode.
    – campa
    Sep 17, 2015 at 9:19
  • I assume you wanted to have a cases environment with this brace? Also, I would not write $m$= total number of... but rather have a math formula and use \text for "total number...". I think you can achieve your goal with align* instead of the outer tabular.
    – cauchy42
    Sep 17, 2015 at 9:32
  • Which document class are you using? In particular are you in two-column mode?
    – Bernard
    Sep 17, 2015 at 9:41
  • Yes, two column, IEEETRAN.
    – algoProg
    Sep 17, 2015 at 9:44

2 Answers 2

4

As I said in my comment, \left and \neq can be used only in math mode, and \left always requires a matching \right. Furthermore I wouldn't write $i$=$j$, i.e. I wouldn't exit math mode for the equal sign. I'd type your tabular as

\documentclass{article}
\usepackage{amsmath}
\begin{document}
where
\begin{tabular}[t]{ll}
$m$ &= total number of input parameters,\\
$x_{i}$ &= $i$th system input,\\
$y$ &= system output,\\
$\beta_{0}$ &= model constant,\\
$\beta_{i}$ &= linear constant,\\
$\beta_{ij}$ &= $\begin{cases}
                 \text{interaction constant when } i\neq j,\\
                 \text{quadratic constant when } i = j,
                 \end{cases}$\\
$\epsilon$ &= model bias  
\end{tabular}
\end{document}

I have removed one column, putting the word "where" outside the tabular, and I have used the alignment option [t] to match the first line of the tabular with the word "where" (but that's a matter of taste...). Furthermore, I used the cases environment from amsmath for the conditional definition. The spacing around the = still doesn't look good to me, but I think the issue was to explain the errors...

EDIT: to improve the spacing you could use an align environment

\begin{align*}
m & =  \text{total number of input parameters,}\\
x_i & =  i\text{th system input,}\\
y & = \text{system output,}\\
\beta_0&=\text{model constant,}\\
\beta_{ij}&= 
\begin{cases}
  \text{interaction constant when }&i\neq j,\\
  \text{quadratic constant when }&i=j
\end{cases},\\
\epsilon&=\text{model bias}
\end{align*}

or if you want the symbols to be left-aligned, an alignat environment (but that's really a matter of taste)

\begin{alignat*}{2}
&m &&= \text{total number of input parameters,}\\
&x_{i} &&= i\text{-th system input,}\\
&y &&= \text{system output,}\\
&\beta_{0} &&= \text{model constant,}\\
&\beta_{i} &&= \text{linear constant,}\\
&\beta_{ij} &&= \begin{cases}
                 \text{interaction constant when } i\neq j,\\
                 \text{quadratic constant when } i = j,
                 \end{cases}\\
&\epsilon &&= \text{model bias} 
\end{alignat*}
3
  • @campa Thank you. Your overall suggestions to the whole thing with explanations of everything helped me to learn something here. Also your method removed a warning about box full. Thank you again.
    – algoProg
    Sep 17, 2015 at 9:46
  • @campa sorry for taking easy way here, but in align environment how do I put where and first line " m = ...." in the same line?
    – algoProg
    Sep 17, 2015 at 10:05
  • @algoProg Well, if you use align* you could start with \text{where } m&=.... But align* switches to a displayed equation, which is usually centered, and the word "where" would not be aligned to the left. A dirty trick would be to use flalign*, which aligns its content to the left. Then you need a & just before the first line breaking. But I guess the vertical spacing wouldn't be great in that case.
    – campa
    Sep 17, 2015 at 12:57
1

Use align*:

where
\begin{align*}
    m & = & \text{total number of input parameters},\\
    x_i & = & i\text{th system input},\\
    y & =& \text{system output},\\
    \beta_0&=&\text{model constant},\\
    \beta_{ij}&=& 
    \begin{cases}
      \text{interaction constant when }&i\neq j,\\
      \text{quadratic constant when }&i=j
    \end{cases},\\
    \epsilon&=&\text{model bias}
\end{align*}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.