副标题:无

作   者:

分类号:

ISBN:9789812834140

微信扫一扫,移动浏览光盘

简介

"This book presents all the computational techniques and tools needed to start doing scientific research using computer simulations. After working through this book, the reader will possess the necessary basic background knowledge, from program design, programming in C, fundamental algorithms and data structures, random numbers, and debugging, all the way to data analysis, presentation and publishing. In each of these fields, no preliminary knowledge is assumed. The reader will be equipped to successfully perform complete projects from the first idea until the final publication. All techniques are explained using many examples in C; these C codes, as well as the solutions to exercises, are readily available on the CD enclosed with this book. The techniques in this book are independent of the fields of research, and hence they are suitable for conducting research projects in physics, chemistry, computer science, biology and engineering. This also means that no problem-dependent algorithms are introduced; therefore, this book does not explain molecular dynamics, Monte Carlo, finite elements and other special-purpose techniques, which would be beyond the scope of a general-purpose book. There has been no similar comprehensive book written so far. Currently, one needs many different books to learn all the necessary elements. With this book, however, one basically needs only a second book on field-specific algorithms in order to be fully equipped to perform computer simulations research."--Publisher’s description.

目录

Table Of Contents:
Preface vii
1. Programming in C 1

1.1 Basic C programs 3

1.1.1 Basic data types 7

1.1.2 Artithmetic expressions 12

1.1.3 Control statements 18

1.1.4 Complex data types 25

1.2 Functions 34

1.3 Input/output 44

1.4 Pointers and dynamic memory management 58

1.5 Important C compiler options 63

1.6 Preprocessor directives and macros 64

1.7 Make files 70

1.8 Scripts 74
2. Software Engineering 79

2.1 How to manage a (simulation) project 79

2.1.1 Definition of the problem and solution strategies 80

2.1.2 Designing data structures 81

2.1.3 Defining small tasks 82

2.1.4 Distributing work 83

2.1.5 Implementing the code 84

2.1.6 Testing 84

2.1.7 Writing documentation 86

2.1.8 Using the code 87

2.2 Programming style 88

2.3 Version management with subversion 93
3. Object-oriented Software Development 103

3.1 Object-orientation principles 104

3.2 A sample using C 107

3.3 Introduction to C++ and an example 111
4. Algorithms and Data Structures 125

4.1 O notation 126

4.2 Iteration and recursion 128

4.3 Divide-and-conquer approach 131

4.4 Dynamic programming 134

4.5 Backtracking 136

4.6 Lists 140

4.7 Trees 148

4.7.1 Heaps 160

4.8 Graphs 167
5. Debugging and Testing 183

5.1 gdb 183

5.2 ddd 187

5.3 Memory checker 188

5.4 Profiling with gprof 193
6. Libraries 201

6.1 Standard C library 202

6.2 Standard Template Library 204

6.3 GNU scientific library 212

6.4 Creating your own libraries 219
7. Randomness and Statistics 223

7.1 Introduction to probability 224

7.1.1 Discrete random variables 229

7.1.2 Continuous random variables 233

7.2 Generating (pseudo) random numbers 239

7.2.1 Uniform (pseudo) random numbers 240

7.2.2 Discrete random variables 245

7.2.3 Inversion method 246

7.2.4 Rejection method 247

7.2.5 The Gaussian distribution 250

7.3 Basic data analysis 252

7.3.1 Estimators 252

7.3.2 Confidence intervals 255

7.3.3 Histograms 258

7.3.4 Resampling using bootstrap 263

7.4 Data plotting 269

7.4.1 gnuplot 270

7.4.2 xmgrace 275

7.5 Hypothesis testing and (in-)dependence of data 286

7.5.1 Chi-squared test 290

7.5.2 Kolmogorov-Smirnov test 293

7.5.3 Statistical (in-)dependence 297

7.6 General estimators 304

7.6.1 Maximum likelihood 305

7.6.2 Data fitting 311
8. Information Retrieval, Publishing and Presentations 323

8.1 Searching for literature 324

8.2 Visualization 326

8.2.1 Drawing figures using xfig 327

8.2.2 Drawing graphs 327

8.2.3 Three-dimensional figures with Povray 334

8.3 Preparing publications 336

8.3.1 LATEX 336

8.3.2 Beamer class 345
Appendix A The Book CD 351
Bibliography 353
Index 359

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    亲爱的云图用户,
    光盘内的文件都可以直接点击浏览哦

    无需下载,在线查阅资料!

    loading icon