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

Root finding part代做、代写c++,Python编程语言

时间:2024-02-03  来源:合肥网hfw.cc  作者:hfw.cc 我要纠错



Lab Report #1 - Root finding part 1
Math 9
Due 2/5 (see Canvas for details)
Instructions: Submit your report as a Matlab live script (i.e. a .mlx
file). Plots should be produced and displayed within the .mlx file. Note:
there are no regrades for this assignment. The assignment is out of 10
points.
Introduction: One of the key uses of root-finding is to solve equations
that we can’t solve analytically (i.e. by doing algebra, etc.). Note that any
equation with one unknown can be transformed into a root-finding problem
by subtracting the right-hand side from the left-hand side to get something
like
LHS − RHS = 0
Here we will look at a well-known example of an equation that can’t be
solved analytically which arises in quantum mechanics: the finite square well
(if you’re curious, click here (Wikipedia). Don’t worry - no knowledge of
quantum mechanics is required or expected! If you’re interested, here is a
simple summary of the physical meaning behind the problem we’ll study.
A particle inside a well is like a ball bouncing around inside a box
with an open top. The ball’s bounces could be small or large, but
if it bounces too high it will escape from the box. We will let v
represent the energy of the particle (like the height of the bounces)
and u0 the energy required to escape the well (like the depth of the
box). As long as v < u0, the particle will be trapped in the well.
The key point of quantum physics is that unlike the bouncing
ball, there will be only a finite number of possible ”energy levels”
- amounts of energy the particle can have. Here, we’ll use our
Matlab knowledge to study this and make a nice diagram of the
energy levels.
1
Tasks
1. (3 points) Energy levels can be divided into even and odd (referring to
whether they’re associated with a state having even or odd symmetry).
For a given u0 describing the depth of the well, even energy levels are
given by the values of v ∈ (0, u0) that are roots of the equation
f(v) = cos v
q
u
2
0 − v
2 − v sin v = 0 (1)
Using u0 = 20, produce the plot of f(v) shown below (on the next page)
via the following steps:
(a) Create an array 100 evenly-spaced values of v from 0 to u0.
(b) Compute an array of the values of f(v) for each value in your v
array by implementing Equation 1 (above) in Matlab. Remember
to use element-wise operators (with the dot)!
(c) To make the line easier to see, we will increase the width. Fill
in the blanks: plot( , , ’LineWidth’, 2) to plot v on the
horizontal axis and f(v) on the vertical axis.
(d) Immediately after your plot command, set the axis labels and title
as shown, using the commands xlabel, ylabel, and title. Note:
u0 can by typed like "u 0".
(e) Use the command fontsize( , "points") to set the font size
large enough to be read. (Try something around 14).
2. (1 points) Repeat the above process to produce a similar plot for u0 =
100. You should expect to see that it looks very jagged.
3. (1 point) Think about what part of our code we could change in order
to make the line smoother. By making an appropriate change, create
a new plot for u0 = 100 that looks smooth like the example from Task
1.
4. (1 point) Using your bisect function, compute and display the only root
of f(v) for u0 = 1, with an error under 10−6
. Hint: You need to figure
out what to use as your initial xl and xr. Try making a plot and looking
at it to choose a starting interval that contains the root!
2
Figure 1: For Task 1.
5. (4 points) Following the following steps, produce an array (you can call
it root array) containing all roots for u0 = 20.
(a) Create an array 100 evenly-spaced values of v from 0 to u0.
(b) Compute an array of the values of f(v) for each value in your v
array (just like above).
(c) Next, we want to find pairs of successive v values in our v array such that the sign of f(v) changes between them, to serve
as our xl and xr in the bisection method. Create xl array and
xr array such that the i-th root lies between xl array(i) and
xr array(i). At the bottom of this file there’s a snippet that
shows you how to do this - you can copy it for no loss of points.
However, If you want to practice thinking like a Matlab programmer, try coming up with a way to do this via logical indexing
yourself. You should find 7 of them!
(d) Pre-allocate a 7-element vector called root array filled with zeros.
(e) Using a for loop, loop over a variable i from 1 to 7, and at each
step call the bisect function using your left and right endpoints
from xl array and xr array. To input the function (first input
3
to bisect), use an anonymous function. Recall the syntax: If we
wanted to express just f(v) = p
u
2
0 − v
2
, it would be
@(v) sqrt(u_0.^2 - v.^2)
so you just have to change the part after the @(v) to the correct
f(v) from above.
(f) Display the resulting value of root array. You should get values
of approximately:
1.4959 4.4862 7.4711 10.4460 13.4028
16.3240 19.1433
4
Help for 5c: Assuming your v and f arrays are called v array and f array,
try using the following code:
inds = find(sign(f_array(1:(end-1))) ~= sign(f_array(2:end)));
xl_array = v_array(inds);
xr_array = v_array(inds+1);
如有需要,请加QQ:99515681 或WX:codehelp

扫一扫在手机打开当前页
  • 上一篇:代写指标 代写期货策略 指标代写
  • 下一篇:代发EI会议 2024 IEEE第三届电气工程、大数据和算法国际会议(EEBDA 2024)
  • 无相关信息
    合肥生活资讯

    合肥图文信息
    海信罗马假日洗衣机亮相AWE  复古美学与现代科技完美结合
    海信罗马假日洗衣机亮相AWE 复古美学与现代
    合肥机场巴士4号线
    合肥机场巴士4号线
    合肥机场巴士3号线
    合肥机场巴士3号线
    合肥机场巴士2号线
    合肥机场巴士2号线
    合肥机场巴士1号线
    合肥机场巴士1号线
    合肥轨道交通线路图
    合肥轨道交通线路图
    合肥地铁5号线 运营时刻表
    合肥地铁5号线 运营时刻表
    合肥地铁4号线 运营时刻表
    合肥地铁4号线 运营时刻表
  • 关于我们 | 打赏支持 | 广告服务 | 联系我们 | 网站地图 | 免责声明 | 帮助中心 | 友情链接 |

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