合肥生活安徽新闻合肥交通合肥房产生活服务合肥教育合肥招聘合肥旅游文化艺术合肥美食合肥地图合肥社保合肥医院企业服务合肥法律

PX390编程代做、C/C++程序语言代写

时间:2023-11-30  来源:合肥网hfw.cc  作者:hfw.cc 我要纠错



PX390 2023-24, Assignment 3
1 Intro
The purpose of this exercise is to further expand your knowledge of C and your
ability to understand and test numerical code. You are given a code which
should solve two coupled partial differential equations. The code is, however,
broken and needs to be fixed. Your task is to read the specification, understand
the program, and ‘debug’ it. At the end of this task the program should do
what these specifications say it is meant to do. Some of these problems with
the code are basic C programming errors, other are more subtle mismatches
between the required and actual code behaviour.
You should submit a single C source file with a list of corrected bugs, at the
top of the C source file (in comments), where I have added a placeholder (this
description will not be marked but helps both of us keep track of what you have
changed). You may submit your code via the link in the assignment section of
the moodle page.
The code must compile and generate no warnings when compiled with
gcc -Wall -Werror -std=c99 -o assign3 assign3.c -lm
There are a finite number of bugs, but we will not tell you how many: make
sure that your code actually works by testing it rather than just looking for
obvious errors. Some errors may be repeated in multiple statements, or may
effect multiple lines of code.
1.1 How is it marked
Marks are given for the absence of each bug (in an otherwise correctly working
code) and for the code compiling correctly. You may lose marks in more than one
category for sufficiently severe problems. A correctly working code will contain
a stable and consistent finite difference method for solving the equations below.
1.2 Tips
1. The compiler is your friend. Start with the first warning/error messages
and work through them until there are none left.
2. Some bugs are hard to catch just by inspecting the code. Adding printf
statements is usually the easiest way to check that the code is doing what
you think it is: check the maths at the first timestep, for example.
3. You can often catch bugs in numerical code by looking at the output
graphically: does it do something strange at the boundaries? A variety of
tools (Matlab/matplotlib/Origin) exist which can take numerical output
and plot it for you. This is one of the things you should learn while doing
this assignment as it will be essential later on.
1
4. Learn how to use debuggers (gdb). Memory checking tools like valgrind
can help catch issues to do with reading/writing into an incorrect memory
location.
5. It is expected that you will allocate arrays on the heap and that the
allocated memory is released (freed) after use.
2 Specification
The code must use a simple, convergent, finite difference scheme to solve the
coupled differential equation for real-valued functions u and v with
∂u
∂t − K

2u
∂x2
− v(u + 1) = 0 (1)
∂v
∂t − K

2v
∂x2
+ u(v + 1) = 0 (2)
The equation is to be solved on a 1D x domain with x ∈ [0, length], as an
initial value problem. The domain length, number of grid points, length of time
over which to solve and the coefficients are defined at the start of the main.
The initial condition is u(x, 0) = 1.0 + sin(2πx/[length]), v(x, 0) = 0.0. The
first grid point is at x = 0, and the final point at x =[length]= (nx−1)×δx. The
function and its derivatives are periodic, so periodic boundary conditions should
be enforced, that is, u(x = 0) = u(x =[length]) and v(x = 0) = v(x =[length]).
The provided code may take a slightly different approach to periodic boundaries
than your used to so examine closely. Please note that at no point should the
values of u or v blow up to infinity.
2.1 Output
The code outputs simulation data at a fixed interval in time equal to the chosen
time step dt: it should output the initial values (at t=0), and at dt, 2dt, 3dt . . .
(but not necessarily the final value).
The time t, x coordinate, and u and v are written in that order in a single
output line for each gridpoint. Do not add extra comments/blank lines to
the output, which should contain only numbers! Remember that I will need
to read the numbers, so if it is output in an unreadable format then you’ll lose
marks.
请加QQ:99515681 或邮箱:99515681@qq.com   WX:codehelp

扫一扫在手机打开当前页
  • 上一篇:代做EF5070、代写c/c++编程设计
  • 下一篇:代做指标 通达信回踩确认主图指标代写
  • 无相关信息
    合肥生活资讯

    合肥图文信息
    新能源捕鱼一体电鱼竿好用吗
    新能源捕鱼一体电鱼竿好用吗
    海信罗马假日洗衣机亮相AWE  复古美学与现代科技完美结合
    海信罗马假日洗衣机亮相AWE 复古美学与现代
    合肥机场巴士4号线
    合肥机场巴士4号线
    合肥机场巴士3号线
    合肥机场巴士3号线
    合肥机场巴士2号线
    合肥机场巴士2号线
    合肥机场巴士1号线
    合肥机场巴士1号线
    合肥轨道交通线路图
    合肥轨道交通线路图
    合肥地铁5号线 运营时刻表
    合肥地铁5号线 运营时刻表
  • 币安app官网下载

    关于我们 | 打赏支持 | 广告服务 | 联系我们 | 网站地图 | 免责声明 | 帮助中心 | 友情链接 |

    Copyright © 2024 hfw.cc Inc. All Rights Reserved. 合肥网 版权所有
    ICP备06013414号-3 公安备 42010502001045