100 lines
3.8 KiB
TeX
100 lines
3.8 KiB
TeX
\documentclass[12pt,a4paper,pdftex]{exam}
|
|
|
|
\usepackage[german]{babel}
|
|
\usepackage{natbib}
|
|
\usepackage{graphicx}
|
|
\usepackage[small]{caption}
|
|
\usepackage{sidecap}
|
|
\usepackage{pslatex}
|
|
\usepackage{amsmath}
|
|
\usepackage{amssymb}
|
|
\setlength{\marginparwidth}{2cm}
|
|
\usepackage[breaklinks=true,bookmarks=true,bookmarksopen=true,pdfpagemode=UseNone,pdfstartview=FitH,colorlinks=true,citecolor=blue]{hyperref}
|
|
|
|
%%%%% text size %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
\usepackage[left=20mm,right=20mm,top=25mm,bottom=25mm]{geometry}
|
|
\pagestyle{headandfoot} \header{{\bfseries\large \"Ubung
|
|
3}}{{\bfseries\large Boolean Expressions and logical indexing}}{{\bfseries\large 24. Oktober, 2017}}
|
|
\firstpagefooter{Dr. Jan Grewe}{Phone: 29 74588}{Email:
|
|
jan.grewe@uni-tuebingen.de} \runningfooter{}{\thepage}{}
|
|
|
|
\setlength{\baselineskip}{15pt}
|
|
\setlength{\parindent}{0.0cm}
|
|
\setlength{\parskip}{0.3cm}
|
|
\renewcommand{\baselinestretch}{1.15}
|
|
|
|
\newcommand{\code}[1]{\texttt{#1}}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
\begin{document}
|
|
|
|
\vspace*{-6.5ex}
|
|
\begin{center}
|
|
\textbf{\Large Introduction to scientific computing}\\[1ex]
|
|
{\large Jan Grewe, Jan Benda}\\[-3ex]
|
|
Abteilung Neuroethologie \hfill --- \hfill Institut f\"ur Neurobiologie \hfill --- \hfill \includegraphics[width=0.28\textwidth]{UT_WBMW_Black_RGB} \\
|
|
\end{center}
|
|
|
|
The exercises are meant for self-monitoring, revision of the lecture
|
|
topic. You should try to solve them on your own. Your solution should
|
|
be submitted as a single script (m-file) in the Ilias system. Each
|
|
task should be solved in its own ``cell''. Each cell must be
|
|
executable on its own. The file should be named according to the following pattern:
|
|
``variables\_datatypes\_\{lastname\}.m'' benannt werden
|
|
(e.g. variables\_datentypes\_mueller.m).
|
|
|
|
\section{Boolean expressions}
|
|
|
|
\begin{questions}
|
|
\question Consider the following vectors \verb+x = [1 5 2 8 9 0 1]+ and
|
|
\verb+y = [5 2 2 6 0 0 2]+. Execute the following commands and explain.
|
|
\begin{parts}
|
|
\part \verb+x > y+
|
|
\part \verb+y < x+
|
|
\part \verb+x == y+
|
|
\part \verb+x ~= y+
|
|
\part \verb+x & ~y+
|
|
\part \verb+x | y+
|
|
\end{parts}
|
|
|
|
\question Find out what the functions \verb+bitand+ and \verb+bitor+ do.
|
|
\begin{parts}
|
|
\part Execute and explain: \verb+bitand(10, 8)+
|
|
\part Execute and explain: \verb+bitor(10, 8)+
|
|
\end{parts}
|
|
\item Implemen the following Boolean expressions. Test using randomly selected integer values for \verb+x+ and \verb+y+.
|
|
\begin{parts}
|
|
\part The result should be \verb+true+ if \verb+x+ greater than \verb+y+ and the sum of \verb+x+ and \verb+y+ is not less than 100.
|
|
\part The result shoudl be \verb+true+ if \verb+x+ and \verb+y+ are not equal zero or \verb+x+ and \verb+y+ are equal.
|
|
\end{parts}
|
|
\end{questions}
|
|
|
|
\newpage
|
|
\section{Logical Indexing}
|
|
|
|
Boolean expressions can be used to select elements of vectors or
|
|
matrices that match in certain criteria. This process is called
|
|
logical indexing.
|
|
|
|
\begin{questions}
|
|
\question Given are the vectors \verb+x = (1:10)+ and
|
|
\verb+y = [3 1 5 6 8 2 9 4 7 0]+. Try to understand the results of
|
|
the following commands. Explain.
|
|
\begin{parts}
|
|
\part \verb+x < 5+
|
|
\part \verb+x( x < 5) )+
|
|
\part \verb+x( (y <= 2) )+
|
|
\part \verb+x( (x > 2) | (y < 8) )+
|
|
\part \verb+x( (x == 0) & (y == 0) )+
|
|
\end{parts}
|
|
|
|
\question Test the random number generator:
|
|
\begin{parts}
|
|
\part Create a 100x100 2-D matrix that is filled with random numbers in the range 0 to 100 (\verb+randi+). Replace the elements according to these rules: \verb+x < 33+ to 0,
|
|
\verb+x >= 33 and x < 66+ to 1 and all \verb+x >= 66+ to 2.
|
|
\part Count the number of elements in each class using Boolean expressions (\verb+sum+ can be used to count the matches).
|
|
\end{parts}
|
|
\end{questions}
|
|
|
|
\end{document}
|