Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Перевел в течение 4 часов, заказчик остался доволен. Оригинальный текст (перевод в скачиваемом файле, внизу):

Modeling and Simulation

1.1 Numerical Approximations

1.2 C++ for Numerical Modeling

1.3 Mathematical Modeling

1.4 Simulation and Its Visualization

1.5 Numerical Methods

1.6 Numerical Applications

References

1.1 NUMERICAL APPROXIMATIONS

Numerical methods is an area of study in mathematics that discusses the solutions

to various mathematical problems involving differential equations, curve fittings,

integrals, eigenvalues, and root findings through approximations rather than exact

solutions. This discussion is necessary because the exact solutions to these problems

are difficult to obtain through the analytical approach. For example, it may be wise

to evaluate



5

−1

x sin x dx,

as the exact solution can be obtained through a well-known technique in calculus

called integration by parts. However, it is not possible to apply the same method or

any other analytical method to solve



2

0

e−x

3 sin x + x2 dx.

The given equation in the above integral is difficult to solve as it is not subject

to the exact methods discussed in ordinary calculus. Therefore, a numerical method

is needed to produce a reasonably good approximated solution. A good approximated

solution, whose value may differ from the exact solution by some fractions, is

definitely better than nothing.

Numerical methods are also needed in cases where the mathematical function for

a given problem is not given. In many practical situations, the governing equations

for a given problem cannot be determined. Instead, an engineer may have a set of n

data (xi , yi ) collected from the site to analyze in order to produce a working model.

In this case, a numerical method is applied to fit a curve that corresponds to this set

of data for modeling the scenario.

Solutions to numerical problems can be obtained on the computer in two ways:

using a ready-made software program or programming using a primitive language.

A ready-made software program is a commercial package that has been designed

to solve specific problems without the hassle of going through programming. The

software provides quick solutions to the problems with just a few commands. The

solution to a problem, such as finding the inverse of a matrix, is obtained by typing

just one or two lines of command. Matlab, Maple, and Mathematica are some of the

most common examples of ready-made software programs that are tailored to solve

numerical problems.

The easy approach using ready-made software programs has its drawback. The

software behaves like a black box where the user does not need to know the details of

the method for solving the problem. The underlying concepts in solving the problem

are hidden in the software, and this approach does not really test the mathematical

skill of the user. Very often, the user does not understand how the method works as

all he or she gets is the generated solution. In addition, the user may face difficulty

in trying to figure out why a particular solution fails because of problems such as

singularity in the domain.

Aready-made software program also does not provide the flexibility of customizing

the solution according to the user’s requirement. The user may need special features

to visualize the solution, but these features may not be supported in the software. In

addition, a ready-made software program generates files that are relatively large in

size. The large size is the result of the large number of program modules from its

library that are stored in order to run the program.

The real challenge in solving a numerical problem is through the native language

programming. It is through programming that a person will understand the whole

method comprehensively. The developer will need to start from scratch and will

need to understand all the fundamental concepts for solving a given problem before

the solution to the problem can be developed. The whole process in providing the

solution may take a long time, but a successful solution indicates the programmer

fully understands the whole process.

It is also important for us to accept both approaches. Ready-made software programs

are needed in cases where the program needs to be delivered fast.Aready-made

software program can produce the desired solution within a short period of time if

all required routines are available in the software, which is done by following the

right commands and procedures in handling the software. In cases where some required

actions are not supported in the software, it may be necessary to integrate the

solution with a programming language such as C++. Conversely, if one starts from a

programming language, it may be necessary call a ready-made software program to

handle some difficult tasks. For example, C++ may be used to draw up the numerical

solution to the heat distribution problem. To see the solution in the form of surface

graph, it may be wise to call a few routines from Matlab as the same feature in C++

will require a long time to develop.

1.2 C++ FOR NUMERICAL MODELING

C++ is a language that has its origin from C, developed in early 1980s. C++ retains

all the procedural structure of C but adds the object-oriented features in order to

meet the new requirements in computing. Both C and C++ are heavily structured

high-level languages that produce small executable files. The two languages are also

suitable for producing low-level routines that run the device drivers of many electronic

components.

C++ is popular because of its general-purpose features to support a wide variety

of applications, such as data processing, numerical, scientific, and engineering. C++

is available in all computing platforms, including Windows, UNIX, Macintosh, and

operating systems for mainframe and minicomputers. C++ is a revolutionary language

that has a very strong following from students, practitioners, researchers, and software

developers all over the world. The language is taught in most universities and colleges

in the world as a one- or two-semester subject to support numerical and generalpurpose

applications.

C++ is a language that strongly supports object-oriented programming. Objectoriented

programming is a programming approach based on objects. An object is an

instance of a class. A class is a set of entities that share the same parent. As it stood,

C++ is one of the most popular object-oriented programming languages in the world.

The main reason for its popularity is because it is a high-level language, but at the

same time, it runs as powerful as the assembly language. But the real strength of C++

lies in its takeover from C to move to the era of object-oriented programming in the

late 1980s. This conquest provides C++ with the powerful features of the procedural C

and an added flavor for object-oriented programming.

The original product from Microsoft consists of the C compiler that runs under the

Microsoft DOS (disk operating system), and it has been designed to compete against

Turbo C, which was produced by the Borland Corp. In 1988, C++ was added to C

and the compiler was renamed Microsoft C++. In early 1989, Microsoft launched

the Microsoft Windows operating system, which includes the Windows API (application

programming interface). This interface is based on 16 bits and it supports the

procedural mode of programming using C.

Improvements were made over the following years that include the Windows

Software Development Kit (SDK). This development takes advantage of the API

for the graphical user interface (GUI) applications with the release of the Microsoft C

compiler. As this language is procedural, the demands in the applications require

an upgrade to the object-oriented language design approach, and this contributes

to the release of the Microsoft C++ compiler. With the appearance of the 32-bit

Windows API (or Win32 API) in the early 1990s, C++ was reshaped to tackle the

extensive demands on Windows programming and this brings about the release of

the Microsoft Foundation Classes (MFC) library. The library is based on C++, and it

has been tailored with the object-oriented methodology for supporting the application

architecture and implementation.

The main reason why Visual C++.Net is needed in numerical methods is its powerful

simulation and visualization tools. The Net platform refers to a huge collection

of library functions and objects for creating full-featured applications on both the

desktop and the enterprise Web. The classes and objects provide support for friendly

user interface functions like multiple windows, menus, dialog boxes, message boxes,

buttons, scroll bars, and labels. Besides, the platform also includes several tedious

task-handling jobs like file management, error handling, and multiple threading. This

platform also supports advanced frameworks and environments such as the Passport,

Windows XP, and the Tablet PC. The strength of the Net platform is obvious in providing

the Internet and Web enterprise solutions. Web services include information

sharing, e-commerce, HTTP, XML, and SOAP. XML, or Extensible Markup Language,

is a platform-independent approach for creating markup languages needed in

a Web application.

A new approach in Visual C++.Net is the Managed Extension, which performs

automatic garbage collection for optimizing the code. Garbage collection involves

the removal of memory and resources unused any more in the application, which

is often neglected by the programmer. The managed extension is a more structured

way in programming, and it is now the default in Visual C++.Net. Central to the .Net

platform is the Visual Studio integrated development environment (IDE). It is in this

platform that applications are built from a choice of several powerful programming

languages that include Visual Basic, Visual C++, Visual C#, and Visual J++.

In addition, IDE also provides the integration of these languages in tackling a particular

problem under the .Net banner. Visual C++.Net is one of the high-performance

compilers that makes up the .NET platform. This highly popular language has its root

in C and was improved to include the object-oriented elements; now with the .Net

extension, it is capable of creating solutions for the Web enterprise requirements. A

relatively new language called Visual C# in the .Net family was developed by taking

the best features fromVisual Basic visual tools with the programming power ofVisual

C++.

In addition to its single-machine prowess, Visual C++.Net presents a powerful

approach for building applications that interact with databases through ADO.NET.

This product evolves from the earlier ActiveX Data Objects (ADO) technology, and

it encompasses XML and other tools for accessing and manipulating databases for

several large-scale applications. This feature makes possible Visual C++.Net as an

ideal tool for several Web-based database applications.

1.3 MATHEMATICAL MODELING

Many problems arise in science and engineering that have their roots in mathematics.

Problems of this nature are best described through mathematical models that provide

the fundamental concepts needed in solving the problem. A successful mathematical

modeling always leads to a successful implementation of the given project.

A mathematical model is an abstract model that uses mathematical language to

describe the behavior of a system. It is an attempt to find the analytical solutions for

enabling the prediction of the behavior of the system from a set of parameters, and

their initial and boundary conditions in a given problem. A mathematical model is

composed of variables and operators to represent a given problem. Variables are the

abstractions of the quantities of interest in the described systems, whereas operators

are the mechanisms that act on these variables. An operator can be expressed in the

form of an algebraic operator, a function, a differential operator, and so on.

One good example of mathematical modeling is in the heat distribution problem

in a two-dimensional plane, which is modeled as a Laplace function given by

∇2u = ∂2u

∂x2

+ ∂2u

∂y2 .

In the above equation, ∇2 = ∂2

∂x2 + ∂2

∂y2 is an operator that acts on the heat quantity

u, whose independent variables are x and y. The model describes the analytical

solution of heat distribution in a given domain subject to certain initial and

boundary conditions. We will discuss the numerical solution to this problem later in

Chapter 11.

A mathematical model is often represented as variables in terms of objective

functions and constraints. If the objective functions and constraints in the problem

are represented entirely by linear equations, then the model is regarded as a linear

model. If one or more of the objective functions or constraints are represented with a

nonlinear equation, then the model is known as a nonlinear model. Most problems in

science and engineering today are modeled as nonlinear.

A deterministic model is one where every set of variable states is uniquely determined

by parameters in the model and by sets of previous states of these variables.

For example, the path defined by a delivery truck for distributing petrol in a city is

defined as a deterministic model in the form of a graph. In this case, the petrol stations

can be modeled as the nodes of the graph, whereas the path is defined as the edges

between the nodes. Conversely, in a probabilistic or stochastic model, randomness

is present, and the variable states are not described by unique values. Very often, the

model is represented in the form of probability distribution functions.

A mathematical model can be classified as static or dynamic. A static model does

not account for the element of time, whereas a dynamic model does. Dynamic models

typically are represented with difference equations or differential equations. A

model is said to be homogeneous if it is in a consistent state throughout the entire system.

If the state varies according to certain controlling mechanism, then the model is

heterogeneous. If the model is homogeneous, then the parameters are lumped, or confined

to a central depository. A heterogeneous, model has its parameters distributed.

Distributed parameters are typically represented with ordinary or partial differential

equations.

Mathematical modeling problems are also classified into black-box or white-box

models, according to how much a priori information is available in the system. A

black-box model is a system of which no a priori information is available.Awhite-box

и так далее ;))

.doc
102 КБ