Compare commits
270 Commits
32199c7b2c
...
main
Author | SHA1 | Date | |
---|---|---|---|
474050ff6d
|
|||
1b95f46544 | |||
a4b13fb71e
|
|||
d512ff1c73
|
|||
b7c38ddc89
|
|||
9d602fede7
|
|||
a21898048c
|
|||
5e3bdbe2f6
|
|||
1e90d6c8a9
|
|||
b6c9129fa5
|
|||
00b08276a2
|
|||
47bfb4ac20
|
|||
1055f83d3a
|
|||
a9cb29989d
|
|||
ce04f5dd57
|
|||
ef43740721
|
|||
b94dba3163
|
|||
816896537d
|
|||
ad7096bca2
|
|||
37618fe7eb
|
|||
8c16a0d537
|
|||
e203b294c5
|
|||
91e7c9701a
|
|||
9e12734c5f
|
|||
524465453a
|
|||
dec593c503
|
|||
56d55a6617
|
|||
15cec82789
|
|||
8185cd14e4
|
|||
e4a0ef25e1
|
|||
5f5e43e54e
|
|||
a24eb028a9
|
|||
996700bec9
|
|||
4369e246bd
|
|||
a42bfcc814
|
|||
3de79c2111
|
|||
da516f5160
|
|||
0489963eda
|
|||
8981e9b9c4
|
|||
dd35b48def
|
|||
0ceb20bcf1
|
|||
f266085c4e
|
|||
5b64235c97
|
|||
b3d42c30d9
|
|||
a84913e3f5
|
|||
557bad8387
|
|||
0f29002415
|
|||
11cd8df774
|
|||
a92f99dae8
|
|||
7f7955fc4f
|
|||
a4d8d95d74
|
|||
bec5809694
|
|||
4e51f23dca
|
|||
212cfd6e4c
|
|||
c58e7b2f94
|
|||
307c4f366d
|
|||
3b0d086ea0
|
|||
4b59dcaa8b
|
|||
55b75039bf
|
|||
cde7a3c7f9
|
|||
b0f8043db0
|
|||
6e748d46b2
|
|||
f2e94c592f
|
|||
f8785c4fd2
|
|||
56282d75af
|
|||
ed7af09a55
|
|||
917a47caf9
|
|||
57507d4c34
|
|||
d61c94880c
|
|||
9b694732bd
|
|||
160418816f
|
|||
d505de5ac1
|
|||
868fac25cf
|
|||
c90147635a
|
|||
c0c565a104
|
|||
fb21e1012f
|
|||
015149b341
|
|||
bc73ac4e09
|
|||
6357ba4fdb
|
|||
b262977263
|
|||
486774e0d6
|
|||
3eed68e1b3
|
|||
826ea4690f
|
|||
07466ce8a9
|
|||
9b1346f8f0
|
|||
6ec65bd5ec
|
|||
519d3e37f0
|
|||
5d580557ec
|
|||
bb4ba0ff66
|
|||
249a2f30d2
|
|||
a07f63de81
|
|||
f3580ea182
|
|||
572d86e60f
|
|||
7d9ad8cbf0
|
|||
7166aecc6f
|
|||
274c643b09
|
|||
5d4ec5ab36
|
|||
acb42fb8c6
|
|||
ebb8ad0350
|
|||
b2ff21cd12
|
|||
73d39c8744
|
|||
d0496e79d8
|
|||
485ca3ca66
|
|||
11bc9c6c0d
|
|||
044a898557
|
|||
ec195bbe66
|
|||
5a807f15ac
|
|||
96891f53ba
|
|||
5f109d2843
|
|||
0a4b93d33b
|
|||
e14699c5ef
|
|||
3880dc3c5c
|
|||
2fb7818e20
|
|||
f04625d539
|
|||
5a788e0eed
|
|||
414d4b1183
|
|||
1bf9a50a93
|
|||
a2e60d3eea
|
|||
b35404bc42
|
|||
b994350970
|
|||
4959ea926b
|
|||
9ef91509e7
|
|||
4494ba74b9
|
|||
aa7650c78f
|
|||
468b4a22cd
|
|||
998a08633e
|
|||
d584420e0f
|
|||
5c27d1a91c
|
|||
81fe971662
|
|||
027f5dfb89
|
|||
6c0d1020a7
|
|||
5202768589
|
|||
7b2ed927b4
|
|||
3eb6fe9d56
|
|||
829beab997
|
|||
8f18918c05
|
|||
6150bb4707
|
|||
23d7364485
|
|||
1f8a5382d8
|
|||
2033c7524e
|
|||
b7ef6c914b
|
|||
83cd3ad585
|
|||
00d1758c35
|
|||
5ac0e81f5a
|
|||
fb07f79fb0
|
|||
9904aaa68d
|
|||
58476ad943
|
|||
9baa4abeb7
|
|||
ba3430236c
|
|||
d7e2c77140
|
|||
d938b19869
|
|||
cda5056661
|
|||
9396acbe81
|
|||
4f2fff1d71
|
|||
98f161b927
|
|||
19bb008d18
|
|||
199c488cb3
|
|||
aa163ccbf1
|
|||
e4fc38feaa
|
|||
50721f0bcd
|
|||
14f4fc0fa9
|
|||
1d226d9503
|
|||
1ffbca756c
|
|||
e263656e60
|
|||
78946e25e4
|
|||
2c14c31e93
|
|||
187337d789
|
|||
1e42fd59b4
|
|||
d0fd9f5ed4
|
|||
44ccde2294
|
|||
1b4b7faf38
|
|||
476976a4de
|
|||
93809b624f
|
|||
388a08aaf0
|
|||
7172f29183
|
|||
4cc230ceee
|
|||
21482ff439
|
|||
24634aae51
|
|||
8b27c853f4
|
|||
7388bbe104
|
|||
b4b6f8b54d
|
|||
355fddb665
|
|||
bcba31b8a0
|
|||
a455671a65
|
|||
554caccd4b
|
|||
c453e4fcd4
|
|||
e3fcbdf7cc
|
|||
1acef81bb7
|
|||
70308e2285
|
|||
053a3530b5
|
|||
a1cf6996cf
|
|||
c3a47c46b3
|
|||
21e4474341
|
|||
f875f32177
|
|||
506984b69c
|
|||
fe8a7209b3
|
|||
35a4e42433
|
|||
86896fdc2c
|
|||
422cedff86
|
|||
a085632759
|
|||
6029a95698
|
|||
a8de6477af
|
|||
f6ce1dedd6
|
|||
99aaf75110
|
|||
c327b62aa4
|
|||
48d6ea286c
|
|||
a5e865c29d
|
|||
9c8de3928e
|
|||
d845161287
|
|||
a8305e1b38
|
|||
fb6a1797a7
|
|||
620370f52b
|
|||
68996291d8
|
|||
6ace5534bf
|
|||
42d8101a92
|
|||
0ffbf781ed
|
|||
6f1e5e6fe6
|
|||
f60e983788
|
|||
7fe78254b3
|
|||
cef225ae95
|
|||
b05441973e
|
|||
c075bea216
|
|||
02a98be18e
|
|||
2a32037e1c
|
|||
e983d37e81
|
|||
e680e2d3c1
|
|||
98ee2b861a
|
|||
a31107dced
|
|||
6bc5bf97b1
|
|||
e8c154d43b
|
|||
51a5b12813
|
|||
f8d7ee4668
|
|||
3dbf3d6fae
|
|||
ab786a21b8
|
|||
e9bdfce660
|
|||
d1b06d44de
|
|||
60f81709c2
|
|||
c7122f797d
|
|||
e7bac52743
|
|||
fb5c664b33
|
|||
091cad8470
|
|||
8af6494886
|
|||
ef91ba0126
|
|||
dc1cd6f8ff
|
|||
42bc5f626d
|
|||
a60a373628
|
|||
ed47d55e8b
|
|||
234a1f3e23
|
|||
5538c471ba
|
|||
373cb80111
|
|||
055eea2cd9
|
|||
91f5566d49
|
|||
e6b0253316
|
|||
ce582bbee3
|
|||
bb28d8e582
|
|||
6bad6269ee
|
|||
467a4a8584
|
|||
8fba174386
|
|||
4ca6b42f30
|
|||
1e625bbefe
|
|||
7fe2281f5b
|
|||
8a92779a67
|
|||
8a059f5a8e
|
|||
ee73b7cf2f
|
|||
0040607bb1
|
|||
417a2626ce
|
|||
46a18380f9
|
|||
655ddc6cfc
|
|||
f7329c8108
|
|||
1321fdadc8
|
1
.gitignore
vendored
@@ -1 +1,2 @@
|
||||
*.md.pdf
|
||||
pdfimages
|
||||
|
11
blog/first_post.md
Executable file
@@ -0,0 +1,11 @@
|
||||
---
|
||||
author: Akbar Rahman
|
||||
pub_date: Fri, 31 Jul 2020 19:52:52 +0100
|
||||
title: first post
|
||||
tags: []
|
||||
uuid: fd338dc9-ae5f-48f4-9fc6-e02e88ab4ce5
|
||||
---
|
||||
|
||||
# first post
|
||||
|
||||
this is my first post
|
182
blog/g27_pedals.md
Executable file
@@ -0,0 +1,182 @@
|
||||
---
|
||||
author: Akbar Rahman
|
||||
pub_date: Tue, 04 Aug 2020 15:20:13 +0100
|
||||
title: Repurposing Racing Wheel Pedals
|
||||
tags: [ g27, sim_racing ]
|
||||
uuid: 0f09200e-fd50-451b-aae1-1117a8a704db
|
||||
---
|
||||
|
||||
<h1>Repurposing Racing Wheel Pedals</h1>
|
||||
<p>I have a Logitech G27 I don't use much. I wondered if I could use it for anything else. I could. </p>
|
||||
|
||||
<h2> The Pinout of the Connector </h2>
|
||||
|
||||
<p>The first thing I had to do was figure out what each pin did on the DE-9 connector, and which
|
||||
ones I should care about.
|
||||
This was done easily after I took off the top plastic casing thing by poking the three 100k Ohm
|
||||
potentiometers and the connector in the right places at the right times:
|
||||
</p>
|
||||
|
||||
<style> #pinout_table tr td:first-child { text-align: right } </style>
|
||||
<img src="./images/repurposing-racing-wheel-pedals-g27-pinout.svg" class="centered" style="width: 10em;">
|
||||
<table id="pinout_table">
|
||||
<tr> <th>pin</th> <th>function</th></tr>
|
||||
<tr> <td>1,4</td> <td>ground</td></tr>
|
||||
<tr> <td>6</td> <td>clutch pedal</td></tr>
|
||||
<tr> <td>7</td> <td>brake pedal</td></tr>
|
||||
<tr> <td>8</td> <td>accelerator pedal</td></tr>
|
||||
<tr> <td>9</td> <td>voltage in</td></tr>
|
||||
</table>
|
||||
|
||||
<h2> Reading the Values of the Pots </h2>
|
||||
|
||||
I'm using an Arduino to read the pots and then do something with the values.
|
||||
I very dirtily wired pin 4 on the pedals to GND on a Arduino Uno, pin 9 to 5V, and
|
||||
pins 6,7,8 to A0, A1, and A2.
|
||||
I used a basic sketch to check that everything is good:
|
||||
|
||||
<details>
|
||||
<summary> Show/hide test_sketch.ino </summary>
|
||||
<pre><code> void setup() {
|
||||
Serial.begin(9600);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
Serial.println(analogRead(A2));
|
||||
delay(20);
|
||||
}
|
||||
</code></pre>
|
||||
</details>
|
||||
|
||||
I noticed that the minimum and maximum values read by the Uno were quite far off 0 and 1024, like
|
||||
they should be, and voltage was being lost on the way to and from the potentiometers.
|
||||
Since the pedals have to be calibrated every time you plug them in, I assume this is normal and
|
||||
spat out this code:
|
||||
|
||||
<details>
|
||||
<summary> Show/hide sketch_aug02a.ino </summary>
|
||||
<pre><code>// sensor pins
|
||||
int sa = A0;
|
||||
int sb = A1;
|
||||
int sc = A2;
|
||||
|
||||
// minimum values detected by the sensors
|
||||
int mina = 1025;
|
||||
int minb = 1025;
|
||||
int minc = 1025;
|
||||
|
||||
// maximum values detected by the sensors
|
||||
int maxa = 512;
|
||||
int maxb = 512;
|
||||
int maxc = 512;
|
||||
|
||||
// raw values of the sensors
|
||||
int rva, rvb, rvc;
|
||||
|
||||
// calculated values of the sensors (between 0 and 1, this is the value sent to computer)
|
||||
float cva, cvb, cvc;
|
||||
|
||||
void setup() {
|
||||
Serial.begin(9600);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
rva = analogRead(sa);
|
||||
rvb = analogRead(sb);
|
||||
rvc = analogRead(sc);
|
||||
|
||||
if (rva < mina) mina = rva;
|
||||
if (rvb < minb) minb = rvb;
|
||||
if (rvc < minc) minc = rvc;
|
||||
|
||||
if (rva > maxa) maxa = rva;
|
||||
if (rvb > maxb) maxb = rvb;
|
||||
if (rvc > maxc) maxc = rvc;
|
||||
|
||||
cva = (float)(rva-mina)/(float)(maxa-mina);
|
||||
cvb = (float)(rvb-minb)/(float)(maxb-minb);
|
||||
cvc = (float)(rvc-minc)/(float)(maxc-minc);
|
||||
|
||||
Serial.print('[');
|
||||
Serial.print(cva); Serial.print(',');
|
||||
Serial.print(cvb); Serial.print(',');
|
||||
Serial.print(cvc);
|
||||
Serial.print(']');
|
||||
Serial.println();
|
||||
delay(20);
|
||||
}
|
||||
</code></pre>
|
||||
</details>
|
||||
|
||||
<h2> Actually Making the Numbers Do Something </h2>
|
||||
|
||||
This is where you can make the pedals do fun things.
|
||||
I reworked another piece of code I wrote to do a similar thing to quickly create a script that
|
||||
reads the values sent by the Arduino, and then simulate pressing a key combination.
|
||||
The only thing I've done with this is set push-to-talk to ctrl-shift-alt-1.
|
||||
I don't know what else I could use this for, maybe temporarily muting particular things, like music.
|
||||
|
||||
<details>
|
||||
<summary> Show/hide pedalboard.py </summary>
|
||||
<pre><code> #!/usr/bin/env python3
|
||||
|
||||
import sys
|
||||
import json
|
||||
import time
|
||||
from enum import Enum
|
||||
|
||||
import keyboard
|
||||
import serial
|
||||
|
||||
class KeyState(Enum):
|
||||
UP = 0
|
||||
DOWN = 1
|
||||
|
||||
STATES = [KeyState.UP] * 3
|
||||
THRESHOLD = 0.8
|
||||
MACROS = ['ctrl+shift+alt+1', 'ctrl+shift+alt+2', 'ctrl+shift+alt+3']
|
||||
|
||||
def get_args():
|
||||
""" Get command line arguments """
|
||||
|
||||
import argparse
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('device')
|
||||
return parser.parse_args()
|
||||
|
||||
|
||||
def main(args):
|
||||
""" Entry point for script """
|
||||
while True:
|
||||
try:
|
||||
kb = serial.Serial(port=args.device, baudrate=9600)
|
||||
while True:
|
||||
handle(json.loads(kb.readline()))
|
||||
except serial.serialutil.SerialException as e:
|
||||
print(e)
|
||||
print("Failed to connect to device... trying again")
|
||||
time.sleep(1)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
return 0
|
||||
|
||||
def handle(data):
|
||||
global STATES
|
||||
|
||||
states = [KeyState.DOWN if value > THRESHOLD else KeyState.UP for value in data]
|
||||
r = [handle_state_change(i, states[i]) if states[i] != STATES[i] else None for i in range(len(STATES))]
|
||||
STATES = states
|
||||
return r
|
||||
|
||||
def handle_state_change(key, newstate):
|
||||
print(f"{key} {newstate}")
|
||||
return keyboard.press(MACROS[key]) if newstate == KeyState.DOWN else keyboard.release(MACROS[key])
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
try:
|
||||
sys.exit(main(get_args()))
|
||||
except KeyboardInterrupt:
|
||||
sys.exit(0)
|
||||
</code></pre>
|
||||
</details>
|
226
blog/images/repurposing-racing-wheel-pedals-g27-pinout.svg
Normal file
@@ -0,0 +1,226 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.0"
|
||||
width="68.148842"
|
||||
height="34.400002"
|
||||
viewBox="-138.624 -137.291 68.14884 34.400003"
|
||||
id="Layer_1"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="repurposing-racing-wheel-pedals-g27-pinout.svg"
|
||||
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"><title
|
||||
id="title1416">DE-9 Connector with numbers</title><metadata
|
||||
id="metadata1308"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title>DE-9 Connector with numbers</dc:title><dc:date>2020-08-02</dc:date><dc:creator><cc:Agent><dc:title>alvierahman90</dc:title></cc:Agent></dc:creator><cc:license
|
||||
rdf:resource="" /><dc:contributor><cc:Agent><dc:title>Original drawing from Mobius (maybe): https://commons.wikimedia.org/wiki/File:DSubminiatures.svg</dc:title></cc:Agent></dc:contributor></cc:Work></rdf:RDF></metadata><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1722"
|
||||
inkscape:window-height="1060"
|
||||
id="namedview1306"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:zoom="10.44492"
|
||||
inkscape:cx="27.994898"
|
||||
inkscape:cy="11.731109"
|
||||
inkscape:window-x="1056"
|
||||
inkscape:window-y="1094"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="Layer_1" /><defs
|
||||
id="defs2584">
|
||||
|
||||
|
||||
|
||||
|
||||
</defs>
|
||||
|
||||
<g
|
||||
id="g1336"
|
||||
transform="rotate(180,-104.54958,-120.091)"
|
||||
style="stroke:#454545;stroke-opacity:1"><g
|
||||
transform="translate(-193.19312,-267.013)"
|
||||
id="g2241"
|
||||
style="stroke:#454545;stroke-opacity:1">
|
||||
<circle
|
||||
cx="66.588997"
|
||||
cy="141.351"
|
||||
r="2.2409999"
|
||||
style="fill:none;stroke:#454545;stroke-opacity:1"
|
||||
id="circle2243" />
|
||||
<circle
|
||||
cx="77.617996"
|
||||
cy="141.351"
|
||||
r="2.2409999"
|
||||
style="fill:none;stroke:#454545;stroke-opacity:1"
|
||||
id="circle2245" />
|
||||
<circle
|
||||
cx="88.643997"
|
||||
cy="141.351"
|
||||
r="2.2379999"
|
||||
style="fill:none;stroke:#454545;stroke-opacity:1"
|
||||
id="circle2247" />
|
||||
<path
|
||||
d="m 99.668,139.11 c 1.238,0 2.242,1.004 2.242,2.241 0,1.237 -1.004,2.24 -2.242,2.24 -1.233,0 -2.237,-1.003 -2.237,-2.24 0,-1.237 1.004,-2.241 2.237,-2.241 z"
|
||||
style="fill:none;stroke:#454545;stroke-opacity:1"
|
||||
id="path2249"
|
||||
inkscape:connector-curvature="0" />
|
||||
<circle
|
||||
cx="110.697"
|
||||
cy="141.351"
|
||||
r="2.2409999"
|
||||
style="fill:none;stroke:#454545;stroke-opacity:1"
|
||||
id="circle2251" />
|
||||
<circle
|
||||
cx="72.102997"
|
||||
cy="152.491"
|
||||
r="2.2390001"
|
||||
style="fill:none;stroke:#454545;stroke-opacity:1"
|
||||
id="circle2253" />
|
||||
<circle
|
||||
cx="83.130997"
|
||||
cy="152.491"
|
||||
r="2.2390001"
|
||||
style="fill:none;stroke:#454545;stroke-opacity:1"
|
||||
id="circle2255" />
|
||||
<path
|
||||
d="m 94.156,150.252 c 1.237,0 2.238,1.003 2.238,2.237 0,1.237 -1.001,2.241 -2.238,2.241 -1.238,0 -2.242,-1.004 -2.242,-2.241 0,-1.234 1.004,-2.237 2.242,-2.237 z"
|
||||
style="fill:none;stroke:#454545;stroke-opacity:1"
|
||||
id="path2257"
|
||||
inkscape:connector-curvature="0" />
|
||||
<circle
|
||||
cx="105.185"
|
||||
cy="152.491"
|
||||
r="2.2390001"
|
||||
style="fill:none;stroke:#454545;stroke-opacity:1"
|
||||
id="circle2259" />
|
||||
</g><path
|
||||
d="m -129.54912,-136.791 c -5.609,0 -9.4,4.518 -8.425,10.042 l 2.354,13.309 c 0.976,5.525 6.366,10.049 11.975,10.049 h 38.191005 c 5.608,0 10.996,-4.523 11.975,-10.049 l 2.354,-13.309 c 0.975,-5.524 -2.813,-10.042 -8.425,-10.042 z"
|
||||
style="fill:none;stroke:#454545;stroke-opacity:1"
|
||||
id="path2261"
|
||||
inkscape:connector-curvature="0" /></g>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:6.98580647px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#454545;fill-opacity:1;stroke:none;stroke-width:0.17464516;stroke-opacity:1;"
|
||||
x="-123.37334"
|
||||
y="-129.7538"
|
||||
id="text1340"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1338"
|
||||
x="-123.37334"
|
||||
y="-129.7538"
|
||||
style="stroke-width:0.17464516;stroke:none;stroke-opacity:1;fill:#454545;fill-opacity:1;">1</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:6.98580647px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#454545;fill-opacity:1;stroke:none;stroke-width:0.17464516;stroke-opacity:1;"
|
||||
x="-112.29854"
|
||||
y="-129.7538"
|
||||
id="text1340-3"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1338-7"
|
||||
x="-112.29854"
|
||||
y="-129.7538"
|
||||
style="stroke-width:0.17464516;stroke:none;stroke-opacity:1;fill:#454545;fill-opacity:1;">2</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:6.98580647px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#454545;fill-opacity:1;stroke:none;stroke-width:0.17464516;stroke-opacity:1;"
|
||||
x="-101.2884"
|
||||
y="-129.7538"
|
||||
id="text1340-9"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1338-8"
|
||||
x="-101.2884"
|
||||
y="-129.7538"
|
||||
style="stroke-width:0.17464516;stroke:none;stroke-opacity:1;fill:#454545;fill-opacity:1;">3</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:6.98580647px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#454545;fill-opacity:1;stroke:none;stroke-width:0.17464516;stroke-opacity:1;"
|
||||
x="-90.565475"
|
||||
y="-129.7538"
|
||||
id="text1340-6"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1338-70"
|
||||
x="-90.565475"
|
||||
y="-129.7538"
|
||||
style="stroke-width:0.17464516;stroke:none;stroke-opacity:1;fill:#454545;fill-opacity:1;">4</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:6.98580647px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#454545;fill-opacity:1;stroke:none;stroke-width:0.17464516;stroke-opacity:1;"
|
||||
x="-129.24457"
|
||||
y="-105.27687"
|
||||
id="text1340-4"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1338-84"
|
||||
x="-129.24457"
|
||||
y="-105.27687"
|
||||
style="stroke-width:0.17464516;stroke:none;stroke-opacity:1;fill:#454545;fill-opacity:1;">5</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:6.98580647px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#454545;fill-opacity:1;stroke:none;stroke-width:0.17464516;stroke-opacity:1;"
|
||||
x="-117.9472"
|
||||
y="-105.27687"
|
||||
id="text1340-8"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1338-1"
|
||||
x="-117.9472"
|
||||
y="-105.27687"
|
||||
style="stroke-width:0.17464516;stroke:none;stroke-opacity:1;fill:#454545;fill-opacity:1;">6</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:6.98580647px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#454545;fill-opacity:1;stroke:none;stroke-width:0.17464516;stroke-opacity:1;"
|
||||
x="-106.88921"
|
||||
y="-105.27687"
|
||||
id="text1340-68"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1338-5"
|
||||
x="-106.88921"
|
||||
y="-105.27687"
|
||||
style="stroke-width:0.17464516;stroke:none;stroke-opacity:1;fill:#454545;fill-opacity:1;">7</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:6.98580647px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#454545;fill-opacity:1;stroke:none;stroke-width:0.17464516;stroke-opacity:1;"
|
||||
x="-94.538704"
|
||||
y="-105.27687"
|
||||
id="text1340-2"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1338-19"
|
||||
x="-94.538704"
|
||||
y="-105.27687"
|
||||
style="stroke-width:0.17464516;stroke:none;stroke-opacity:1;fill:#454545;fill-opacity:1;">8</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:6.98580647px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#454545;fill-opacity:1;stroke:none;stroke-width:0.17464516;stroke-opacity:1;"
|
||||
x="-83.91153"
|
||||
y="-105.27687"
|
||||
id="text1340-96"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1338-0"
|
||||
x="-83.91153"
|
||||
y="-105.27687"
|
||||
style="stroke-width:0.17464516;stroke:none;stroke-opacity:1;fill:#454545;fill-opacity:1;">9</tspan></text>
|
||||
</svg>
|
After Width: | Height: | Size: 8.6 KiB |
63
blog/lastfm_bookmarklets.md
Executable file
@@ -0,0 +1,63 @@
|
||||
---
|
||||
author: Akbar Rahman
|
||||
pub_date: Mon, 18 Sep 2023 16:25:48 +0100
|
||||
title: last.fm bookmarklets
|
||||
tags: [ last.fm, scripts ]
|
||||
uuid: e54ebf58-4033-4dae-81db-91db344f1311
|
||||
---
|
||||
|
||||
# last.fm bookmarklets
|
||||
|
||||
last.fm doesn't let you see how many scrobbled you've made in one day particularly easily.
|
||||
Here is a bookmarklet to solve that.
|
||||
|
||||
<label for="days"> Number of days to view: </label>
|
||||
<input type="number" value="1" id="days" placeholder="Days"/><br><br>
|
||||
<label for="offset"> Offset (e.g. 0 to include today, 7 to look at last week): </label>
|
||||
<input type="number" value="0" id="offset" placeholder="Offset (Days)" /><br><br>
|
||||
<label for="username"> last.fm username </label>
|
||||
<input type="text" value="" id="username" placeholder="Username" /><br><br>
|
||||
<input type="button" id="button" value="Generate bookmarklet"><br>
|
||||
|
||||
<p><a style="display: none" href="" id="scriptLink">Bookmark this link</a></p>
|
||||
|
||||
When you press generate bookmarklet, the values `OFFSET`, `DAYS`, `USERNAME` will be
|
||||
subsituted and put into the link above.
|
||||
It's always best to inspect bookmarklets though.
|
||||
Inspect the page to view the script used to generate the bookmarklet.
|
||||
|
||||
<textarea cols="109" rows="15" readonly id="scriptText">
|
||||
javascript: (() => {
|
||||
const MILLESECONDS_PER_DAY = 1000 * 24 * 60 * 60;
|
||||
const OFFSET;
|
||||
const DAYS;
|
||||
const USERNAME;
|
||||
|
||||
const currentDate = new Date();
|
||||
const to = new Date(currentDate - (OFFSET * MILLESECONDS_PER_DAY));
|
||||
const from = new Date(to - ((DAYS-1) * MILLESECONDS_PER_DAY));
|
||||
const toDate = to.getFullYear() + "-" + (to.getMonth()+1) + "-" + to.getDate();
|
||||
const fromDate = from.getFullYear() + "-" + (from.getMonth()+1) + "-" + from.getDate();
|
||||
|
||||
document.location = "https://www.last.fm/user/" + USERNAME + "/library?from=" + fromDate + "&to=" + toDate;
|
||||
})();
|
||||
</textarea>
|
||||
|
||||
<script>
|
||||
document.getElementById("button").addEventListener("click", () => {
|
||||
scriptText = document.getElementById("scriptText").value;
|
||||
offset = document.getElementById("offset").value;
|
||||
days = document.getElementById("days").value;
|
||||
username = document.getElementById("username").value;
|
||||
|
||||
newscript = scriptText.replace(
|
||||
"OFFSET", "OFFSET = " + offset
|
||||
).replace(
|
||||
"DAYS", "DAYS = " + days
|
||||
).replace(
|
||||
"USERNAME", "USERNAME = '" + username + "'"
|
||||
);
|
||||
document.getElementById("scriptLink").href = newscript;
|
||||
document.getElementById("scriptLink").style = "";
|
||||
});
|
||||
</script>
|
13
blog/readme.md
Normal file
@@ -0,0 +1,13 @@
|
||||
---
|
||||
title: alv's blog
|
||||
author: Akbar Rahman
|
||||
pub_date: Fri, 31 Jul 2020 19:50:51 +0100
|
||||
blog: true
|
||||
tags: [ alvs_blog, blog ]
|
||||
uuid: 2d03893a-eb9b-4923-8024-a223ecbe72f7
|
||||
---
|
||||
|
||||
# alv's blog
|
||||
|
||||
this is my blog.
|
||||
i promise i will try to keep things posted here interesting.
|
@@ -2,7 +2,11 @@
|
||||
author: Alvie Rahman
|
||||
date: \today
|
||||
title: Bash
|
||||
tags: [ linux, shell, programming ]
|
||||
tags:
|
||||
- linux
|
||||
- shell
|
||||
- programming
|
||||
uuid: a436d67a-1f07-45fb-9241-5dbaa69b4667
|
||||
---
|
||||
|
||||
# `set` builtin[^gnuset]
|
57
computery_stuff/cadence_license_manager_null_parameter.md
Executable file
@@ -0,0 +1,57 @@
|
||||
---
|
||||
author: Akbar Rahman
|
||||
date: \today
|
||||
title: "Cadence License Manager Install - `java.lang.IllegalArgumentException: :locationICompSelected: Null parameter - InstallComponent ID`"
|
||||
tags: [ cadence, license_manager, flexlm, java, errors ]
|
||||
uuid: a5f46736-1ab8-4da1-8737-95de51c95d50
|
||||
---
|
||||
|
||||
# Error
|
||||
|
||||
```
|
||||
[root@host Downloads]# iscape/bin/iscape.sh -batch majorAction=InstallFromArchive archiveDirectory=$(realpath LCU04.30.000_lnx86.Base) installDirectory=$(realpath target)
|
||||
Initializing InstallScape using JVM at /home/alvi/Downloads/iscape.04.23-s012/runtime/LNX86/bin/java. This might take some time...
|
||||
|
||||
WARNING: The DISPLAY environment variable has not been set.
|
||||
InstallScape might not initialize.
|
||||
|
||||
|
||||
InstallScape Installer (Batch Mode) - 04.23.s12
|
||||
|
||||
:locationICompSelected: Null parameter - InstallComponent ID
|
||||
java.lang.IllegalArgumentException: :locationICompSelected: Null parameter - InstallComponent ID
|
||||
at com.khanpur.installerng.ArchiveLocationManager.locationICompSelected(ArchiveLocationManager.java:143)
|
||||
at com.khanpur.installerng.Installer.archiveLocationICompSelected(Installer.java:1156)
|
||||
at com.khanpur.installer.gui.batch.BatchInstallfromarchive.execute(BatchInstallfromarchive.java:86)
|
||||
at com.khanpur.installer.gui.batch.BatchView.initialize(BatchView.java:329)
|
||||
at com.khanpur.installer.gui.batch.BatchView.<init>(BatchView.java:90)
|
||||
at com.khanpur.installer.gui.InstallerUINoSplash.showBatch(InstallerUINoSplash.java:325)
|
||||
at com.khanpur.installer.gui.BatchCommand.execute(BatchCommand.java:78)
|
||||
at com.khanpur.util.TransactionCommand.execute(TransactionCommand.java:74)
|
||||
at com.khanpur.util.Commandline.runCommands(Commandline.java:223)
|
||||
at com.khanpur.installer.gui.InstallerUINoSplash.processCommandLine(InstallerUINoSplash.java:340)
|
||||
at com.khanpur.installer.gui.InstallerUINoSplash.main(InstallerUINoSplash.java:372)
|
||||
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
|
||||
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
|
||||
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
|
||||
at java.lang.reflect.Method.invoke(Unknown Source)
|
||||
at com.khanpur.installer.gui.InstallerUI.main(InstallerUI.java:123)
|
||||
Failed with InstallScape JVM.
|
||||
Now loading System JVM...
|
||||
iscape/bin/iscape.sh: line 222: java: command not found
|
||||
Error:
|
||||
/usr/bin/which: no java in (/usr/local/bin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin)
|
||||
Could not use JVM packaged with Installcape. The Java in your path did not work or could not find Java in your path. Ensure that Java 1.6 or later is in your PATH environment variable and restart InstallScape.
|
||||
```
|
||||
|
||||
# Cause
|
||||
|
||||
Using the wrong filepath.
|
||||
The Cadence archives have subfolders to split the software between multiple CDs (a relic of the
|
||||
past perhaps).
|
||||
The actual folder to use is the CDs.
|
||||
|
||||
# Solution
|
||||
|
||||
Use the folder that contains the `.sdx` files (in my case, add `/CDROM1` onto end of
|
||||
`archiveDirectory`).
|
81
computery_stuff/cloudwatch_event_rule_lambda_ansible.md
Executable file
@@ -0,0 +1,81 @@
|
||||
---
|
||||
author: Akbar Rahman
|
||||
date: \today
|
||||
title: Eventbridge Rule (Cloudwatch Rule) Does Not Invoke Lambda When Configured Through Ansible
|
||||
tags:
|
||||
- ansible
|
||||
- aws
|
||||
- aws_eventbridge
|
||||
- aws_lambda
|
||||
- cloudwatch
|
||||
- eventbridge
|
||||
- lambda
|
||||
- permissions
|
||||
uuid: df3ca083-b6ae-4e35-bb1c-8b3978117c57
|
||||
---
|
||||
|
||||
# Eventbridge Rule (formerly Cloudwatch Rule) Does Not Invoke Lambda When Configured Through Ansible
|
||||
|
||||
## Problem
|
||||
|
||||
After creating an Eventbridge rule to run a Lambda function with the Ansible module
|
||||
[`amazon.aws.cloudwatchevent_rule`](https://docs.ansible.com/ansible/latest/collections/amazon/aws/cloudwatchevent_rule_module.html),
|
||||
the rule does not run Lambda function when it should:
|
||||
|
||||
```yaml
|
||||
- name: "Create lambda function"
|
||||
register: create_lambda
|
||||
amazon.aws.lambda:
|
||||
region: "{{ aws_ec2_region }}"
|
||||
description: "My Lambda function"
|
||||
name: "{{ lambda_name }}"
|
||||
role: "{{ iam_role.iam_role.arn }}"
|
||||
state: "present"
|
||||
timeout: 120
|
||||
vpc_security_group_ids: "{{ sec_group.group_id }}"
|
||||
vpc_subnet_ids: "{{ subnet_ids }}"
|
||||
image_uri: "{{ ecr.repository.repositoryUri }}:latest"
|
||||
- name: "Schedule my Lambda function"
|
||||
register: lambda_schedule_rule
|
||||
amazon.aws.cloudwatchevent_rule:
|
||||
name: "a_unique_rule_name"
|
||||
region: "{{ aws_ec2_region }}"
|
||||
schedule_expression: "rate(1 minute)"
|
||||
state: "present"
|
||||
targets:
|
||||
- arn: "{{ create_lambda.configuration.function_arn }}"
|
||||
id: "a_unique_id"
|
||||
input: "{{ eventbridge_rule_lambda_event_input }}"
|
||||
```
|
||||
|
||||
Even though creating a seemingly identical setup through the AWS console works fine.
|
||||
|
||||
## Cause
|
||||
|
||||
The Eventbridge rule is not allowed to invoke this Lambda, as it is not in the Lambda's policy.
|
||||
|
||||
## Solution
|
||||
|
||||
Use the
|
||||
[`amazon.aws.lambda_policy`](https://docs.ansible.com/ansible/latest/collections/amazon/aws/lambda_policy_module.html)
|
||||
module to allow the Eventbridge rule to invoke the Lambda.
|
||||
Note that, if specifying the Lambda function name to `function_name` (as opposed to the ARN of the
|
||||
Lambda function), you must specify `version` or otherwise the Lambda function still won't be run!
|
||||
|
||||
|
||||
```yaml
|
||||
- name: "Allow Eventbridge (Cloudwatch) Rules to invoke lambda"
|
||||
amazon.aws.lambda_policy:
|
||||
action: "lambda:InvokeFunction"
|
||||
function_name: "{{ lambda_name }}"
|
||||
state: "present"
|
||||
statement_id: "a_unique_statement_id"
|
||||
region: "{{ aws_ec2_region }}"
|
||||
principal: "events.amazonaws.com"
|
||||
source_arn: "{{ lambda_schedule_rule.rule.arn }}"
|
||||
version: "{{ create_lambda.configuration.version }}"
|
||||
```
|
||||
|
||||
|
||||
Solution found thanks to @david-kretch's answer to the same question at
|
||||
<https://stackoverflow.com/questions/45282939/cloudwatch-event-rule-creation-via-ansible-succeeds-but-not-invoked>.
|
@@ -2,7 +2,11 @@
|
||||
author: Alvie Rahman
|
||||
date: \today
|
||||
title: Setting Up Nginx and Let's Encrypt in Docker
|
||||
tags: [ linux, docker, programming ]
|
||||
tags:
|
||||
- linux
|
||||
- docker
|
||||
- programming
|
||||
uuid: 2abad576-9921-463b-928d-2381f91488e0
|
||||
---
|
||||
|
||||
# Setting Up Nginx and Let's Encrypt in Docker
|
12
computery_stuff/flask.md
Executable file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
author: Akbar Rahman
|
||||
date: \today
|
||||
title: Flask
|
||||
tags: [ python, flask, programming, docker ]
|
||||
uuid: e513ed96-cb19-4d4c-9894-e337c54659e5
|
||||
---
|
||||
|
||||
# Examples
|
||||
|
||||
- [alv.cx-glass](https://git.alv.cx/alvierahman90/alv.cx-glass) --- a pretty minimal example, probably not very production ready but has example of how to use in Docker
|
||||
- <https://flask.palletsprojects.com/> --- official documentation for Flask
|
@@ -2,7 +2,11 @@
|
||||
author: Alvie Rahman
|
||||
date: \today
|
||||
title: Git
|
||||
tags: [ linux, programming, git ]
|
||||
tags:
|
||||
- linux
|
||||
- programming
|
||||
- git
|
||||
uuid: 8eb93ba5-72e8-4c25-b1f5-02e25408a14d
|
||||
---
|
||||
|
||||
|
@@ -2,7 +2,11 @@
|
||||
author: Alvie Rahman
|
||||
date: \today
|
||||
title: GNOME is a Whole Mess
|
||||
tags: [ gnome, linux, troubleshooting ]
|
||||
tags:
|
||||
- gnome
|
||||
- linux
|
||||
- troubleshooting
|
||||
uuid: 635199f2-f2c6-4f94-840f-8f729bde0c13
|
||||
---
|
||||
|
||||
Gnome is, like, a whole mess. These are the weird issues I had to solve.
|
@@ -2,7 +2,10 @@
|
||||
author: Alvie Rahman
|
||||
date: \today
|
||||
title: Go (golang)
|
||||
tags: [ golang, programming ]
|
||||
tags:
|
||||
- golang
|
||||
- programming
|
||||
uuid: 70d24c2e-25f6-4a46-9756-659d13b5149f
|
||||
---
|
||||
|
||||
# Getting Up to Speed With Go
|
17
computery_stuff/jetson_nano.md
Executable file
@@ -0,0 +1,17 @@
|
||||
---
|
||||
author: Akbar Rahman
|
||||
date: \today
|
||||
title: Jetson Nano
|
||||
tags: [ nvidia, jetson, jetson_nano, droidcam ]
|
||||
uuid: f312451a-2cd4-468a-9eef-ca9859c7cd1e
|
||||
---
|
||||
|
||||
|
||||
# installing Droidcam
|
||||
|
||||
figured out with help from <https://hizzely.hashnode.dev/instalasi-droidcam-cli-di-jetson-nano> :pray:
|
||||
|
||||
0. build and install libjpeg-turbo version 2.1.2 from github (cmake, make, make install)
|
||||
0. build droidcam (2.1.3 confirmed working) from source (make) and install (./install-client) (may need to set `PKG_CONFIG_PATH` environment varible to whatever libjpeg turbo installed at (for me, `/opt/libjpeg-turbo/lib64/pkgconfig`))
|
||||
0. install v4l2loopback-dkms with apt
|
||||
0. run droidcam (you may need to set `LD_LIBRARY_PATH` environment variable to wherever libjpeg-turbo installed to (for me, `/opt/libjpeg-turbo/lib64`))
|
@@ -2,7 +2,10 @@
|
||||
author: Alvie Rahman
|
||||
date: \today
|
||||
title: libvirt
|
||||
tags: [ linux, virtualisation ]
|
||||
tags:
|
||||
- linux
|
||||
- virtualisation
|
||||
uuid: 62c2f458-f701-4075-8e12-d9b9a59efd1f
|
||||
---
|
||||
|
||||
# issues
|
66
computery_stuff/linux.md
Executable file
@@ -0,0 +1,66 @@
|
||||
---
|
||||
author: Alvie Rahman
|
||||
date: \today
|
||||
title: Linux
|
||||
tags:
|
||||
- linux
|
||||
uuid: 8ef11516-4afd-4f80-abb8-bdce045e8b65
|
||||
---
|
||||
|
||||
# user stuff
|
||||
|
||||
## add user to group
|
||||
|
||||
```bash
|
||||
usermod -a -G group user
|
||||
```
|
||||
|
||||
## change primary user group
|
||||
|
||||
```bash
|
||||
usermod -g group user
|
||||
```
|
||||
|
||||
# help i think my device shut down after deleting the current kernel and before installing the second (no entries in systemd-boot/grub/<bootloader>)
|
||||
|
||||
0. boot into a live usb of current disto
|
||||
1. mount the root partition to `/mnt` and the boot partition to the appropriate folder (check
|
||||
fstab which should be in `/mnt/etc/fstab`, if it says `/efi`, mount it to `/mnt/efi`)
|
||||
2. chroot into the mounted filesystem:
|
||||
|
||||
on arch based systems you can simply run:
|
||||
|
||||
```
|
||||
arch-chroot /mnt
|
||||
```
|
||||
|
||||
on non arch based systems[^1]:
|
||||
|
||||
```
|
||||
mount -t proc /proc /mnt/proc/
|
||||
mount -t sysfs /sys /mnt/ys/
|
||||
mount --rbind /dev /mnt/dev/
|
||||
# only if using uefi
|
||||
mount --rbind /sys/firmware/efi/efivars /mnt/sys/firmware/efi/efivars/
|
||||
# for internet access
|
||||
cp /etc/resolv.conf /mnt/etc/resolv.conf
|
||||
chroot /mnt /bin/bash
|
||||
```
|
||||
3. the system can now be force updated/kernel images can be generated
|
||||
|
||||
on arch based systems[^2]:
|
||||
|
||||
```
|
||||
# reinstall all current packages
|
||||
pacman -Qqen > /root/pkgs.txt # list all installed packages
|
||||
pacman -S $(< /root/pkgs.txt) # reinstall all installed packages
|
||||
rm /root/pkgs.txt # clean up
|
||||
|
||||
# reinstall dependencies (if there are issues)
|
||||
pacman -Qqdn > /root/deps.txt # list all installed dependencies
|
||||
pacman -S $(< /root/deps.txt) # reinstall all installed dependencies
|
||||
rm /root/deps.txt # clean up
|
||||
```
|
||||
|
||||
[^1]: https://wiki.archlinux.org/title/Chroot [wayback machine](https://web.archive.org/web/20240121115548/https://wiki.archlinux.org/title/Chroot)
|
||||
[^2]: https://bbs.archlinux.org/viewtopic.php?id=193174 [wayback machine](https://web.archive.org/web/20240129153400/https://bbs.archlinux.org/viewtopic.php?id=193174)
|
30
computery_stuff/namecheap.md
Executable file
@@ -0,0 +1,30 @@
|
||||
---
|
||||
author: Akbar Rahman
|
||||
date: \today
|
||||
title: Namecheap DNS
|
||||
tags: []
|
||||
uuid: d4d9fa2b-3d4c-44f7-a44d-12b0410be633
|
||||
---
|
||||
|
||||
# SRV Records not Showing up on DNS Servers
|
||||
|
||||
> There is a bug on Namecheap's DNS configuration interface.
|
||||
> When defining a SRV Record you must write the subdomain in the protocol box aswell.
|
||||
> After you save that entry, a visual bug kicks in and the protocol box now only shows the protocol
|
||||
> itself, but in the backend it's saved as protocol+subdomain, as it should be.
|
||||
>
|
||||
> ~ [exore13](https://www.spigotmc.org/threads/solved-multiple-servers-namecheap-srv-record-config.517697/)
|
||||
|
||||
|
||||
So say your SRV record looks something like this:
|
||||
|
||||
```
|
||||
_minecraft _tcp 0 5 25566 peen.mc.alv.cx.
|
||||
```
|
||||
|
||||
You'll have to enter this instead:
|
||||
|
||||
```
|
||||
_minecraft _tcp.peen.mc 0 5 25566 peen.mc.alv.cx.
|
||||
```
|
||||
|
19
computery_stuff/pdfs.md
Executable file
@@ -0,0 +1,19 @@
|
||||
---
|
||||
author: Akbar Rahman
|
||||
date: \today
|
||||
title: PDFs
|
||||
tags: [ pdf, concatenate ]
|
||||
uuid: a43eac87-cb19-4c58-a285-cff04c494847
|
||||
---
|
||||
|
||||
# Concatenate PDFs from the Command Line
|
||||
|
||||
```
|
||||
qpdf t1.pdf --pages t1.pdf 1-z t2.pdf 1-z t3.pdf 1-z -- t.pdf
|
||||
```
|
||||
|
||||
```
|
||||
pdftk t1.pdf t2.pdf t3.pdf cat output t.pdf
|
||||
```
|
||||
|
||||
Original answer by pts [here](https://superuser.com/a/458188)
|
@@ -2,7 +2,9 @@
|
||||
author: Alvie Rahman
|
||||
date: \today
|
||||
title: Postgres
|
||||
tags: [ programming ]
|
||||
tags:
|
||||
- programming
|
||||
uuid: 7e44b054-4b6e-4f8c-b9af-9d4c4bf77878
|
||||
---
|
||||
|
||||
\tableofcontents
|
@@ -2,7 +2,14 @@
|
||||
author: Alvie Rahman
|
||||
date: \today
|
||||
title: Pulseaudio
|
||||
tags: [ pulseaudio, linux, audio, mixing, microphone, sink ]
|
||||
tags:
|
||||
- pulseaudio
|
||||
- linux
|
||||
- audio
|
||||
- mixing
|
||||
- microphone
|
||||
- sink
|
||||
uuid: 4e251354-9afb-49fd-abd9-fedc9b280a25
|
||||
---
|
||||
|
||||
# Collect and Mix Sound Input From Different Sources {#paMixer}
|
||||
@@ -41,7 +48,7 @@ From <https://www.pclinuxos.com/forum/index.php/topic,119695.msg1159936.html#msg
|
||||
|
||||
This will unload _all_ loopback and null-sink modules.
|
||||
|
||||
### Destroy Specific Modules {#destsroyMixerSpecific}
|
||||
### Destroy Specific Modules {#destroyMixerSpecific}
|
||||
|
||||
>
|
||||
> pactl unload-module <module number>
|
@@ -2,7 +2,12 @@
|
||||
author: Alvie Rahman
|
||||
date: \today
|
||||
title: Python
|
||||
tags: [ docker, python, programming, io ]
|
||||
tags:
|
||||
- docker
|
||||
- python
|
||||
- programming
|
||||
- io
|
||||
uuid: cd5c50f9-66f4-4a3b-b89a-04a20ecd642b
|
||||
---
|
||||
|
||||
# Issues
|
14
computery_stuff/uo_nottingham.md
Executable file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
author: Akbar Rahman
|
||||
date: \today
|
||||
title: University of Nottingham
|
||||
tags: [ uni ]
|
||||
uuid: d1b03938-c5b4-48ad-a258-78f96880aa4b
|
||||
---
|
||||
|
||||
### Trying to log into Microsoft 365 sends me to a different organisation's login page
|
||||
|
||||
Try one of these links:
|
||||
|
||||
- <https://pls.cx/uon_email> (a redirect to the link below)
|
||||
- <https://outlook.office.com/owa/nottingham.ac.uk>
|
25
computery_stuff/xps_15_9570.md
Executable file
@@ -0,0 +1,25 @@
|
||||
---
|
||||
author: Alvie Rahman
|
||||
date: \today
|
||||
title: Dell XPS 15 (9570)
|
||||
tags:
|
||||
- dell
|
||||
- xps
|
||||
- xps_15
|
||||
- windows
|
||||
- drivers
|
||||
uuid: 489c3145-b3b8-43e0-b51c-c788977e2907
|
||||
---
|
||||
|
||||
# Installing Windows: A media driver your computer needs is missing.
|
||||
|
||||
> A media driver your computer needs is missing.
|
||||
> This could be a DVD, USB, or Hard disk driver.
|
||||
> If you have a CD, DVD, or USD flash drive with the driver on it, please insert it now.
|
||||
>
|
||||
> Note: If the installation media for Windows is in the DVD drive or on a USB you can safely remove
|
||||
> it for this step.
|
||||
|
||||
|
||||
A very misleading error indeed... turns out the issue may be that you need to use a dedicated
|
||||
[windows image flasher](https://github.com/WoeUSB/WoeUSB)...
|
@@ -6,4 +6,6 @@ cd `dirname $0`
|
||||
git pull
|
||||
cd ..
|
||||
rm -rf notes.alv.cx/*
|
||||
notes2web.py -o notes.alv.cx notes
|
||||
cd /root/gronk
|
||||
git pull
|
||||
docker compose up --build
|
||||
|
16
internal_link_checker.sh
Executable file
@@ -0,0 +1,16 @@
|
||||
#!/usr/bin/env bash
|
||||
# used to alert me if i've written a bad internal link or broken one by changing a header
|
||||
|
||||
files="$(find $1 -name '*.html' -type f)"
|
||||
|
||||
for filename in $files
|
||||
do
|
||||
links="$(grep -oP '<a.*?>' -h $filename | grep -oP '(?<=href="\#).*?(?=")')"
|
||||
ids="$(grep -oP '(?<=id=").*?(?=")' -h $filename)"
|
||||
|
||||
for link in $links
|
||||
do
|
||||
[[ "$ids" == *"$link"* ]] \
|
||||
|| echo Found broken internal link in $filename: $link
|
||||
done
|
||||
done
|
20
linux.md
@@ -1,20 +0,0 @@
|
||||
---
|
||||
author: Alvie Rahman
|
||||
date: \today
|
||||
title: Linux
|
||||
tags: [ linux ]
|
||||
---
|
||||
|
||||
# user stuff
|
||||
|
||||
## add user to group
|
||||
|
||||
```bash
|
||||
usermod -a -G group user
|
||||
```
|
||||
|
||||
## change primary user group
|
||||
|
||||
```bash
|
||||
usermod -g group user
|
||||
```
|
@@ -1,140 +0,0 @@
|
||||
---
|
||||
author: Alvie Rahman
|
||||
date: \today
|
||||
tags:
|
||||
- uni
|
||||
- nottingham
|
||||
- mmme1028
|
||||
- maths
|
||||
- statics
|
||||
- dynamics
|
||||
title: MMME1028 // Statics and Dynamics
|
||||
---
|
||||
|
||||
# Lecture L1.1, L1.2
|
||||
|
||||
### Lecture L1.1 Exercises
|
||||
|
||||
Can be found [here](./lecture_exercises/mmme1028_l1.1_exercises_2021-09-30.pdf).
|
||||
|
||||
### Lecture L1.2 Exercises
|
||||
|
||||
Can be found here [here](./lecture_exercises/mmme1028_l1.2_exercises_2021-10-04.pdf)
|
||||
|
||||
## Newton's Laws
|
||||
|
||||
1. Remains at constant velocity unless acted on by external force
|
||||
|
||||
2. Sum of forces on body is equal to mass of body multiplied by
|
||||
acceleration
|
||||
|
||||
> 1st Law is a special case of 2nd
|
||||
|
||||
3. When one body exerts a force on another, 2nd body exerts force
|
||||
simultaneously of equal magnitude and opposite direction
|
||||
|
||||
## Equilibrium
|
||||
|
||||
- Body is in equilibrium if sum of all forces and moments acting on
|
||||
body are 0
|
||||
|
||||
### Example
|
||||
|
||||
Determine force $F$ and $x$ so that the body is in equilibrium.
|
||||
|
||||

|
||||
|
||||
1. Check horizontal equilibrium
|
||||
|
||||
$\sum{F_x} = 0$
|
||||
|
||||
2. Check vertical equilibrium
|
||||
|
||||
$\sum{F_y} = 8 - 8 + F = 0$
|
||||
|
||||
$F = 2$
|
||||
|
||||
3. Take moments about any point
|
||||
|
||||
$\sum{M(A)} = 8\times{}2 - F(2+x) = 0$
|
||||
|
||||
$F(2+x) = 16)$
|
||||
|
||||
$x = 6$
|
||||
|
||||
## Free Body Diagrams
|
||||
|
||||
A free body diagram is a diagram of a single (free) body which shows all
|
||||
the external forces acting on the body.
|
||||
|
||||
Where there are several bodies or subcomponents interacting as a complex
|
||||
system, each body is drawn separately:
|
||||
|
||||

|
||||
|
||||
## Friction
|
||||
|
||||
- Arises between rough surfaces and always acts at right angles to the
|
||||
normal reaction force ($R$) in the direction to resist motion.
|
||||
- The maximum value of friction $F$ is $F_{max} = \mu{}R$, where
|
||||
$\mu{}$ is the friction coefficient
|
||||
- $F_{max}$ is also known as the point of slip
|
||||
|
||||
## Reactions at Supports
|
||||
|
||||
There are three kinds of supports frequently encountered in engineering
|
||||
problems:
|
||||
|
||||

|
||||
|
||||
## Principle of Force Transmissibility
|
||||
|
||||
A force can be move dalong line of action without affecting equilibrium
|
||||
of the body which it acts on:
|
||||
|
||||

|
||||
|
||||
This principle can be useful in determining moments.
|
||||
|
||||
## Two-Force Bodies
|
||||
|
||||
- If a body has only 2 forces, then the forces must be collinear,
|
||||
equal, and opposite:
|
||||
|
||||

|
||||
|
||||
> The forces must be collinear so a moment is not created
|
||||
|
||||
## Three-Force Bodies
|
||||
|
||||
- If a body in equilibrium has only three forces acting on it, then
|
||||
the lines of actions must go through one point:
|
||||
|
||||

|
||||
|
||||
> This is also to not create a moment
|
||||
|
||||
- The forces must form a closed triangle ($\sum{F} = 0$)
|
||||
|
||||
## Naming Conventions
|
||||
|
||||
| Term | Meaning |
|
||||
|----------------------|----------------------------------------------------------|
|
||||
| light | no mass |
|
||||
| heavy | body has mass |
|
||||
| smooth | there is no friction |
|
||||
| rough | contact has friction |
|
||||
| at the point of slip | one tangential reaction is $F_{max}$ |
|
||||
| roller | a support only creating normal reaction |
|
||||
| rigid pin | a support only providing normal and tangential reactions |
|
||||
| built-in | a support proviting two reaction components and a moment |
|
||||
|
||||
## Tips to Solve (Difficult) Problems
|
||||
|
||||
1. Make good quality clear and big sketches
|
||||
2. Label all forces, dimensions, relevant points
|
||||
3. Explain and show your thought process---write complete equations
|
||||
4. Follow standard conventions in equations and sketches
|
||||
5. Solve everything symbolically (algebraicly) until the end
|
||||
6. Check your answers make sense
|
||||
7. Don't forget the units
|
@@ -1,263 +0,0 @@
|
||||
---
|
||||
author: Alvie Rahman
|
||||
date: \today
|
||||
title: MMME1029 // Materials
|
||||
tags: [ uni, nottingham, mmme1029, materials ]
|
||||
---
|
||||
|
||||
# Lecture 1 (2021-10-04)
|
||||
|
||||
## 1A Reading Notes
|
||||
|
||||
### Classification of Energy-Related Materials
|
||||
|
||||
- Passive materials---do not take part in energy conversion e.g. structures in pipelines, turbine
|
||||
blades, oil drills
|
||||
- Active materials---directly take part in energy conversion e.g. solar cells, batteries, catalysts,
|
||||
superconducting magnests
|
||||
|
||||
- The material and chemical problems for conventional energy systems are mostly well understood and
|
||||
usually associated wit structural and mechanical properties or long standing chemical effects like
|
||||
corrosion:
|
||||
|
||||
- fossil fuels
|
||||
- hydroelectric
|
||||
- oil from shale and tar
|
||||
- sands
|
||||
- coal gasification
|
||||
- liquefaction
|
||||
- geothermal energy
|
||||
- wind power
|
||||
- bomass conversion
|
||||
- solar cells
|
||||
- nuclear reactors
|
||||
|
||||
### Applications of Energy-Related Materials
|
||||
|
||||
#### High Temperature Materials (and Theoretical Thermodynamic Efficiency)
|
||||
|
||||
- Thermodynamics indicated that the higher the temperature, the greater the efficiency of heat to
|
||||
work:
|
||||
|
||||
$$ \frac{ T_{high} - T_{low} }{ T_{high} } $$ where $T$ is in kelvin
|
||||
|
||||
- The first steam engines were only 1% efficient, while modern steam engines are 35% efficient
|
||||
primarily due to improved high-temperature materials.
|
||||
- Early engines made from cast iron while modern engines made from alloys containing nickel,
|
||||
molybdenum, chromium, and silicon, which don't fail at temperature above 540 \textdegree{}C
|
||||
- Modern combustion engines are nearing the limits of metals so new materials that can function
|
||||
at even higher temperatures must be found--- particularly intermetallic compounds and ceramics are
|
||||
being developed
|
||||
|
||||
## Types of Stainless Steel
|
||||
|
||||
- Type 304---common; iron, carbon, nickel, and chromium
|
||||
- Type 316---expensive; iron, carbon, chromium, nickel, molybdenum
|
||||
|
||||
## Self Quiz 1
|
||||
|
||||
1. What is made of billion year old carbon + water + sprinkling of stardust?
|
||||
|
||||
> Me
|
||||
|
||||
2. What are the main classifications of materials?
|
||||
|
||||
> Metals, glass and ceramics, ~~plastics, elastomers,~~ polymers, composites, and semiconductors
|
||||
|
||||
3. [There are] Few Iron Age artefacts left. Why?
|
||||
|
||||
> They rusted away
|
||||
|
||||
4. What is maens by 'the micro-structure of a material'?
|
||||
|
||||
> The very small scale structure of a material which can have strong influence on its physical
|
||||
> properties like toughness and ductility and corrosion resistance
|
||||
|
||||
5. What is a 'micrograph' of a material?
|
||||
|
||||
> A picture taken through a microscope
|
||||
|
||||
6. What microscope is used to investage the microstructure of a material down to a 1 micron scale
|
||||
resolution?
|
||||
|
||||
> Optical Microscope
|
||||
|
||||
7. What microscope is used [to investigate] the microstructure of a material down to a 100 nm scale
|
||||
resolution?
|
||||
|
||||
> Scanning Electron Microscope
|
||||
|
||||
8. What length scales did you see in the first slide set?
|
||||
|
||||
> 1 mm, 0.5 mm, 1.5 \textmu{}m
|
||||
|
||||
9. What material properties were mentioned in the first slide set?
|
||||
|
||||
> Hardness, brittleness, melting point, corrosion, density, thermal insulation
|
||||
|
||||
## Self Quiz 2
|
||||
|
||||
1. What is the effect of lowering the temperature of rubber?
|
||||
|
||||
> Makes it more brittle, much less elastic and flexible
|
||||
|
||||
2. What material properties were mentioned in the second slide set?
|
||||
|
||||
> Young's modulus, specific heat, coefficient of thermal expansion
|
||||
|
||||
# Lecture 2
|
||||
|
||||
## Properties of the Classes
|
||||
|
||||
### Metals
|
||||
|
||||
- Ductile (yields before fracture)
|
||||
- High UFS (Ultimate Fracture Stress) in tension and compression
|
||||
- Hard
|
||||
- Tough
|
||||
- High melting point
|
||||
- High electric and thermal conductivity
|
||||
|
||||
### Ceramics and Glasses
|
||||
|
||||
- Brittle --- elastic to failure, no yield
|
||||
- Hard (harder than metals)
|
||||
- Low UFS under tension
|
||||
- High UFS under compression
|
||||
- Not tough
|
||||
- High melting points
|
||||
- Do not burn as oxide ceramics are already oxides
|
||||
- Chemically resistant
|
||||
- Poor thermal and electric conductivity
|
||||
- Wide range of magnetic and dielectric behaviours
|
||||
|
||||
### Polymers
|
||||
|
||||
- Organic---as in organic chemistry (i.e. carbon based)
|
||||
- Ductile
|
||||
- Low UFS in tension and compression
|
||||
- Not hard
|
||||
- Reasonably tough
|
||||
- Low threshold temperature to charring and combustion in air or pure oxygen
|
||||
- Low electrical and thermal conductivity
|
||||
|
||||
- There are some electrically conductive polymers
|
||||
|
||||
### Composites
|
||||
|
||||
- Composed of 2 or more materials on any scale from atomic to mm scale to produce properties that
|
||||
cannot be obtained in a single material
|
||||
|
||||
- Larger scale mixes of materials may be called 'multimaterial'
|
||||
|
||||
- Material propertes depends on what its made of
|
||||
|
||||
## Terms
|
||||
|
||||
### Organic vs Inorganic Materials
|
||||
|
||||
- Organic materials are carbon based
|
||||
- From chemistry, organic compounds are ones with a C-H bond
|
||||
- Inorganic compounds do not contain the C-H bond
|
||||
|
||||
### Crystalline vs Non-Crystalline Materials
|
||||
|
||||
- Most things are crystalline
|
||||
|
||||
- Ice
|
||||
- Sugar
|
||||
- Salt
|
||||
- Metals
|
||||
- Ceramics
|
||||
|
||||
- Glasses are non-crystalline
|
||||
|
||||
## Material Properties
|
||||
|
||||
### Density
|
||||
|
||||
$$\rho = \frac m v$$
|
||||
|
||||
- Density if quoted at STP (standard temperature and pressure---$298$ K and $1.013\times 10^5$ Pa)
|
||||
- Metals, ceramics, and glasses are high density materials
|
||||
- Polymers are low density
|
||||
- Composites span a wide range of density as it depends on the materials it is composed of
|
||||
|
||||
e.g. composites with a metal matrix will have a much higher density than those with a polymer
|
||||
matrix
|
||||
|
||||
### Melting Points
|
||||
|
||||
- Measured at standard pressure and in an intert atmosphere (e.g. with Nitrogen, Argon, etc)
|
||||
|
||||
- Diamond and graphite will survive up to 4000 \textdegree{}C in an inert atmosphere but would
|
||||
burn at around 1000 \textdegree{}C in oxygen
|
||||
|
||||
- High melting points -> high chemical bond strength
|
||||
|
||||
### Corrosion
|
||||
|
||||
- It's not just metals that corrode
|
||||
|
||||
- Polymers
|
||||
|
||||
- UV degradation
|
||||
- Water absorption can occur in degraded polymers
|
||||
|
||||
- Glass
|
||||
|
||||
- Leaching
|
||||
- Sodium ions can leave the glass when covered in water. If the water stays, the high pH water
|
||||
can damage the class
|
||||
|
||||
## Self Quiz
|
||||
|
||||
### Consolidation Questions 1
|
||||
|
||||
1.
|
||||
|
||||
i. Metal
|
||||
ii. Titanium
|
||||
|
||||
2.
|
||||
i. Polymer
|
||||
ii. Polyester
|
||||
|
||||
3.
|
||||
|
||||
i. Ceramic
|
||||
ii. Alumino-silicate
|
||||
|
||||
4.
|
||||
|
||||
i. Composite
|
||||
ii. GFRP or CFRP
|
||||
|
||||
5.
|
||||
|
||||
i. Metal
|
||||
ii. Aluiminium alloy
|
||||
|
||||
6.
|
||||
|
||||
i. Metal
|
||||
ii. Aluiminium alloy
|
||||
|
||||
7.
|
||||
|
||||
i. Polymer
|
||||
ii. Acrylic
|
||||
|
||||
8.
|
||||
|
||||
i. Ceramimc
|
||||
ii. Glass
|
||||
|
||||
9.
|
||||
|
||||
i. Composite
|
||||
ii. Concrete
|
||||
|
||||
### Consolidation Questions 2
|
||||
|
||||
> ~~C~~ B
|
@@ -1,245 +0,0 @@
|
||||
---
|
||||
author: Alvie Rahman
|
||||
date: \today
|
||||
title: MMME1048 // Fluid Mechanics
|
||||
tags: [ uni, nottingham, mechanical, engineering, fluid_mechanics, mmme1048 ]
|
||||
---
|
||||
|
||||
# Lecture 1 // Properties of Fluids (2021-10-06)
|
||||
|
||||
## What is a Fluid?
|
||||
|
||||
- A fluid may be liquid, vapor, or gas
|
||||
- No permanent shape
|
||||
- Consists of atoms in random motion and continual collision
|
||||
- Easy to deform
|
||||
- Liquids have fixed volume, gasses fill up container
|
||||
- **A fluid is a substance for wich a shear stress tends to produce unlimited, continuous
|
||||
deformation**
|
||||
|
||||
## Shear Forces
|
||||
|
||||
- For a solid, application of shear stress causes a deformation which, if not too great (elastic),
|
||||
is not permanent and solid regains original positon
|
||||
- For a fluid, continuious deformation takes place as the molecules slide over each other until the
|
||||
force is removed
|
||||
- **A fluid is a substance for wich a shear stress tends to produce unlimited, continuous
|
||||
deformation**
|
||||
|
||||
## Density
|
||||
|
||||
- Density: $$ \rho = \frac m V $$
|
||||
- Specific Density: $$ v = \frac 1 \rho $$
|
||||
|
||||
### Obtaining Density
|
||||
|
||||
- Find mass of a given volume or volume of a given mass
|
||||
- This gives average density and assumes density is the same throughout
|
||||
|
||||
- This is not always the case (like in chocolate chip ice cream)
|
||||
- Bulk density is often used to refer to average density
|
||||
|
||||
### Engineering Density
|
||||
|
||||
- Matter is not continuous on molecular scale
|
||||
- For fluids in constant motion, we take a time average
|
||||
- For most practical purposes, matter is considered to be homogenous and time averaged
|
||||
|
||||
## Pressure
|
||||
|
||||
- Pressure is a scalar quantity
|
||||
- Gases cannot sustain tensile stress, liquids a negligible amount
|
||||
|
||||
- There is a certain amount of energy associated with the random continuous motion of the molecules
|
||||
- Higher pressure fluids tend to have more energy in their molecules
|
||||
|
||||
### How Does Molecular Motion Create Force?
|
||||
|
||||
- When molecules interact with each other, there is no net force
|
||||
- When they interact with walls, there is a resultant force perpendicular to the surface
|
||||
- Pressure caused my molecule: $$ p = \frac {\delta{}F}{\delta{}A} $$
|
||||
- If we want total force, we have to add them all up
|
||||
- $$ F = \int \mathrm{d}F = \int p\, \mathrm{d}A $$
|
||||
|
||||
- If pressure is constant, then this integrates to $$ F = pA $$
|
||||
- These equations can be used if pressure is constant of average value is appropriate
|
||||
- For many cases in fluids pressure is not constant
|
||||
|
||||
### Pressure Variation in a Static Fluid
|
||||
|
||||
- A fluid at rest has constant pressure horizontally
|
||||
- That's why liquid surfaces are flat
|
||||
- But fluids at rest do have a vertical gradient, where lower parts have higher presure
|
||||
|
||||
### How Does Pressure Vary with Depth?
|
||||
|
||||

|
||||
|
||||
Let fluid pressure be p at height $z$, and $p + \delta p$ at $z + \delta z$.
|
||||
|
||||
Force $F_z$ acts upwards to support the fluid, countering pressure $p$.
|
||||
|
||||
Force $F_z + \delta F_z$acts downwards to counter pressure $p + \delta p$ and comes from the weight
|
||||
of the liquid above.
|
||||
|
||||
Now:
|
||||
|
||||
\begin{align*}
|
||||
F_z &= p\delta x\delta y \\
|
||||
F_z + \delta F_z &= (p + \delta p) \delta x \delta y \\
|
||||
\therefore \delta F_z &= \delta p(\delta x\delta y)
|
||||
\end{align*}
|
||||
|
||||
Resolving forces in z direction:
|
||||
|
||||
\begin{align*}
|
||||
F_z - (F_z + \delta F_z) - g\delta m &= 0 \\
|
||||
\text{but } \delta m &= \rho\delta x\delta y\delta z \\
|
||||
\therefore -\delta p(\delta x\delta y) &= g\rho(\delta x\delta y\delta z) \\
|
||||
\text{or } \frac{\delta p}{\delta z} &= -\rho g \\
|
||||
\text{as } \delta z \rightarrow 0,\, \frac{\delta p}{\delta z} &\rightarrow \frac{dp}{dz}\\
|
||||
\therefore \frac{dp}{dz} &= -\rho g\\
|
||||
\Delta p &= \rho g\Delta z
|
||||
\end{align*}
|
||||
|
||||
The equation applies for any fluid.
|
||||
The -ve sign indicates that as $z$, height, increases, $p$, pressure, decreases.
|
||||
|
||||
### Absolute and Gauge Pressure
|
||||
|
||||
- Absolute Pressure is measured relative to zero (a vacuum)
|
||||
- Guage pressure = absolute pressure - atmospheric pressure
|
||||
|
||||
- Often used in industry
|
||||
|
||||
- If abs. pressure = 3 bar and atmospheric pressure is 1 bar, then gauge pressure = 2 bar
|
||||
- Atmospheric pressure changes with altitude
|
||||
|
||||
## Compressibility
|
||||
|
||||
- All fluids are compressible, especially gasses
|
||||
- Most liquids can be considered **incompressible** most of the time (and will be in MMME1048, but
|
||||
may not be in future modules)
|
||||
|
||||
## Surface Tension
|
||||
|
||||
- In a liquid, molecules are held together by molecular attraction
|
||||
- At a boundry between two fluids this creates "surface tension"
|
||||
- Surface tension usually has the symbol $$\gamma$$
|
||||
|
||||
## Ideal Gas
|
||||
|
||||
- No real gas is perfect, although many are similar
|
||||
- We define a specific gas constant to allow us to analyse the behaviour of a specific gas:
|
||||
|
||||
$$ R = \frac {\tilde R}{\tilde m} $$
|
||||
|
||||
(Universal Gas Constant / molar mass of gas)
|
||||
|
||||
- Perfect gas law
|
||||
|
||||
$$pV=mRT$$
|
||||
|
||||
or
|
||||
|
||||
$$ p = \rho RT$$
|
||||
|
||||
- Pressure always in Pa
|
||||
- Temperature always in K
|
||||
|
||||
## Units and Dimentional Analysis
|
||||
|
||||
- It is usually better to use SI units
|
||||
- If in doubt, DA can be useful to check that your answer makes sense
|
||||
|
||||
# Lecture 2 // Manometers (2021-10-13)
|
||||
|
||||

|
||||
|
||||
$$p_{1,gauge} = \rho g(z_2-z_1)$$
|
||||
|
||||
- Manometers work on the principle that pressure along any horizontal plane through a continuous
|
||||
fluid is constant
|
||||
- Manometers can be used to measure the pressure of a gas, vapour, or liquid
|
||||
- Manometers can measure higher pressures than a piezometer
|
||||
- Manometer fluid and working should be immiscible (don't mix)
|
||||
|
||||

|
||||
|
||||
\begin{align*}
|
||||
p_A &= p_{A'} \\
|
||||
p_{bottom} &= p_{top} + \rho gh \\
|
||||
\rho_1 &= density\,of\,fluid\,1 \\
|
||||
\rho_2 &= density\,of\,fluid\,2
|
||||
\end{align*}
|
||||
|
||||
Left hand side:
|
||||
|
||||
$$p_A = p_1 + \rho_1g\Delta z_1$$
|
||||
|
||||
Right hand side:
|
||||
|
||||
$$p_{A'} = p_{at} + \rho_2g\Delta z_2$$
|
||||
|
||||
Equate and rearrange:
|
||||
|
||||
\begin{align*}
|
||||
p_1 + \rho_1g\Delta z_1 &= p_{at} + \rho_2g\Delta z_2 \\
|
||||
p_1-p_{at} &= g(\rho_2\Delta z_2 - \rho_1\Delta z_1) \\
|
||||
p_{1,gauge} &= g(\rho_2\Delta z_2 - \rho_1\Delta z_1)
|
||||
\end{align*}
|
||||
|
||||
If $\rho_a << \rho_2$:
|
||||
|
||||
$$\rho_{1,gauge} \approx \rho_2g\Delta z_2$$
|
||||
|
||||
## Differential U-Tube Manometer
|
||||
|
||||

|
||||
|
||||
- Used to find the difference between two unknown pressures
|
||||
- Can be used for any fluid that doesn't react with manometer fluid
|
||||
- Same principle used in analysis
|
||||
|
||||
\begin{align*}
|
||||
p_A &= p_{A'} \\
|
||||
p_{bottom} &= p_{top} + \rho gh \\
|
||||
\rho_1 &= density\,of\,fluid\,1 \\
|
||||
\rho_2 &= density\,of\,fluid\,2
|
||||
\end{align*}
|
||||
|
||||
Left hand side:
|
||||
|
||||
$$p_A = p_1 + \rho_wg(z_C-z_A)$$
|
||||
|
||||
Right hand side:
|
||||
|
||||
$$p_B = p_2 + \rho_wg(z_C-z_B)$$
|
||||
|
||||
Right hand manometer fluid:
|
||||
|
||||
$$p_{A'} = p_B + \rho_mg(z_B - z_a)$$
|
||||
|
||||
\begin{align*}
|
||||
p_{A'} &= p_2 + \rho_mg(z_C - z_B) + \rho_mg(z_B - zA)\\
|
||||
&= p_2 + \rho_mg(z_C - z_B) + \rho_mg\Delta z \\
|
||||
\\
|
||||
p_A &= p_{A'} \\
|
||||
p_1 + \rho_wg(z_C-z_A) &= p_2 + \rho_mg(z_C - z_B) + \rho_mg\Delta z \\
|
||||
p_1 - p_2 &= \rho_wg(z_C-z_B-z_C+z_A) + \rho_mg\Delta z \\
|
||||
&= \rho_wg(z_A-z_B) + \rho_mg\Delta z \\
|
||||
&= -\rho_wg\Delta z + \rho_mg\Delta z
|
||||
\end{align*}
|
||||
|
||||
## Angled Differential Manometer
|
||||
|
||||

|
||||
|
||||
- If the pipe is sloped then
|
||||
|
||||
$$p_1-p_2 = (\rho_m-\rho_w)g\Delta z + \rho_wg(z_{C2} - z_{C1})$$
|
||||
|
||||
- $p_1 > p_2$ as $p_1$ is lower
|
||||
- If there is no flow along the tube, then
|
||||
|
||||
$$p_1 = p_2 + \rho_wg(z_{C2} - z_{C1})$$
|
10
readme.md
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
title: alv's notes
|
||||
base_url: https://notes.alv.cx
|
||||
---
|
||||
|
||||
# alv's notes
|
||||
|
||||
These are my personal notes. Correctness is not guaranteed.
|
||||
|
||||
Best viewed at [notes.alv.cx](https://notes.alv.cx).
|
12
styles.css
Normal file
@@ -0,0 +1,12 @@
|
||||
@import url("https://styles.alv.cx/fonts/comic-mono-font.css");
|
||||
@import url("https://styles.alv.cx/modules/dotgrid.css");
|
||||
@import url("https://styles.alv.cx/modules/alwaysdark.css");
|
||||
|
||||
:root {
|
||||
--dotgrid-size: 15em;
|
||||
--dotgrid-dot-size: 1px;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Comic Mono', monospace;
|
||||
}
|
1
uni/.n2w.yml
Normal file
@@ -0,0 +1 @@
|
||||
itags: [ uni ]
|
1
uni/mmme/.n2w.yml
Normal file
@@ -0,0 +1 @@
|
||||
itags: [ mmme ]
|
783
uni/mmme/1026_maths_for_engineering/calculus.md
Executable file
@@ -0,0 +1,783 @@
|
||||
---
|
||||
author: Alvie Rahman
|
||||
date: \today
|
||||
title: MMME1026 // Calculus
|
||||
tags:
|
||||
- uni
|
||||
- nottingham
|
||||
- mechanical
|
||||
- engineering
|
||||
- mmme1026
|
||||
- maths
|
||||
- calculus
|
||||
uuid: 126b21f8-e188-48f6-9151-5407f2b2b644
|
||||
---
|
||||
|
||||
# Calculus of One Variable Functions
|
||||
|
||||
## Key Terms
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
### Function
|
||||
|
||||
A function is a rule that assigns a **unique** value $f(x)$ to each value $x$ in a given *domain*.
|
||||
|
||||
</summary>
|
||||
|
||||
The set of value taken by $f(x)$ when $x$ takes all possible value in the domain is the *range* of
|
||||
$f(x)$.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
### Rational Functions
|
||||
|
||||
A function of the type
|
||||
|
||||
$$ \frac{f(x)}{g(x)} $$
|
||||
|
||||
</summary>
|
||||
|
||||
where $f$ and $g$ are polynomials, is called a rational function.
|
||||
|
||||
Its range has to exclude all those values of $x$ where $g(x) = 0$.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
### Inverse Functions
|
||||
|
||||
Consider the function $f(x) = y$.
|
||||
If $f$ is such that for each $y$ in the range there is exactly one $x$ in the domain,
|
||||
we can define the inverse $f^{-1}$ as:
|
||||
|
||||
$$f^{-1}(y) = f^{-1}(f(x)) = x$$
|
||||
|
||||
</summary>
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
### Limits
|
||||
|
||||
Consider the following:
|
||||
|
||||
$$f(x) = \frac{\sin x}{x}$$
|
||||
|
||||
The value of the function can be easily calculated when $x \neq 0$, but when $x=0$, we get the
|
||||
expression $\frac{\sin 0 }{0}$.
|
||||
However, when we evaluate $f(x)$ for values that approach 0, those values of $f(x)$ approach 1.
|
||||
|
||||
This suggests defining the limit of a function
|
||||
|
||||
$$\lim_{x \rightarrow a} f(x)$$
|
||||
|
||||
to be the limiting value, if it exists, of $f(x)$ as $x$ gets approaches $a$.
|
||||
|
||||
</summary>
|
||||
|
||||
#### Limits from Above and Below
|
||||
|
||||
Sometimes approaching 0 with small positive values of $x$ gives you a different limit from
|
||||
approaching with small negative values of $x$.
|
||||
|
||||
The limit you get from approaching 0 with positive values is known as the limit from above:
|
||||
|
||||
$$\lim_{x \rightarrow a^+} f(x)$$
|
||||
|
||||
and with negative values is known as the limit from below:
|
||||
|
||||
$$\lim_{x \rightarrow a^-} f(x)$$
|
||||
|
||||
If the two limits are equal, we simply refer to the *limit*.
|
||||
|
||||
|
||||
</details>
|
||||
|
||||
## Important Functions
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
### Exponential Functions
|
||||
|
||||
$$f(x) = e^x = \exp x$$
|
||||
|
||||
</summary>
|
||||
|
||||
It can also be written as an infinite series:
|
||||
|
||||
$$\exp x = e^x = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + ...$$
|
||||
|
||||
The two important limits to know are:
|
||||
|
||||
- as $x \rightarrow + \infty$, $\exp x \rightarrow +\infty$ ($e^x \rightarrow +\infty$)
|
||||
- as $x \rightarrow -\infty$, $\exp x \rightarrow 0$ ($e^x \rightarrow 0$)
|
||||
|
||||
Note that $e^x > 0$ for all real values of $x$.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
### Hyperbolic Functions (sinh and cosh)
|
||||
|
||||
The hyperbolic sine ($\sinh$) and hyperbolic cosine function ($\cosh$) are defined by:
|
||||
|
||||
$$\sinh x = \frac 1 2 (e^x - e^{-x}) \text{ and } \cosh x = \frac 1 2 (e^x + e^{-x})$$
|
||||
$$\tanh = \frac{\sinh x}{\cosh x}$$
|
||||
|
||||
</summary>
|
||||
|
||||
](./images/Sinh_cosh_tanh.svg)
|
||||
|
||||
Some key facts about these functions:
|
||||
|
||||
- $\cosh$ has even symmetry and $\sinh$ and $\tanh$ have odd symmetry
|
||||
- as $x \rightarrow + \infty$, $\cosh x \rightarrow +\infty$ and $\sinh x \rightarrow +\infty$
|
||||
- $\cosh^2x - \sinh^2x = 1$
|
||||
- $\tanh$'s limits are -1 and +1
|
||||
- Derivatives:
|
||||
- $\frac{\mathrm{d}}{\mathrm{d}x} \sinh x = \cosh x$
|
||||
- $\frac{\mathrm{d}}{\mathrm{d}x} \cosh x = \sinh x$
|
||||
- $\frac{\mathrm{d}}{\mathrm{d}x} \tanh x = \frac{1}{\cosh^2x}$
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
### Natural Logarithm
|
||||
|
||||
$$\ln{e^y} = \ln{\exp y} = y$$
|
||||
|
||||
</summary>
|
||||
|
||||
Since the exponential of any real number is positive, the domain of $\ln$ is $x > 0$.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
### Implicit Functions
|
||||
|
||||
An implicit function takes the form
|
||||
|
||||
$$f(x, y) = 0$$
|
||||
|
||||
</summary>
|
||||
|
||||
To draw the curve of an implicit function you have to rewrite it in the form $y = f(x)$.
|
||||
There may be more than one $y$ value for each $x$ value.
|
||||
|
||||
</details>
|
||||
|
||||
# Differentiation
|
||||
|
||||
The derivative of the function $f(x)$ is denoted by:
|
||||
|
||||
$$f'(x) \text{ or } \frac{\mathrm{d}}{\mathrm dx} f(x)$$
|
||||
|
||||
Geometrically, the derivative is the gradient of the curve $y = f(x)$.
|
||||
|
||||
It is a measure of the rate of change of $f(x)$ as $x$ varies.
|
||||
|
||||
For example, velocity, $v$, is the rate of change of displacement, $s$, with respect to time, $t$,
|
||||
or:
|
||||
|
||||
$$v = \frac{\mathrm ds}{dt}$$
|
||||
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
#### Formal Definition
|
||||
|
||||
</summary>
|
||||
|
||||

|
||||
|
||||
As $h\rightarrow 0$, the clospe of the cord $\rightarrow$ slope of the tangent, or:
|
||||
|
||||
$$f'(x_0) = \lim_{h\rightarrow0}\frac{f(x_0+h) - f(x_0)}{h}$$
|
||||
|
||||
whenever this limit exists.
|
||||
|
||||
</details>
|
||||
|
||||
## Rules for Differentiation
|
||||
|
||||
### Powers
|
||||
|
||||
$$\frac{\mathrm d}{\mathrm dx} x^n = nx^{-1}$$
|
||||
|
||||
### Trigonometric Functions
|
||||
|
||||
$$\frac{\mathrm d}{\mathrm dx} \sin x = \cos x$$
|
||||
$$\frac{\mathrm d}{\mathrm dx} \cos x = \sin x$$
|
||||
|
||||
### Exponential Functions
|
||||
|
||||
$$\frac{\mathrm d}{\mathrm dx} e^{kx} = ke^{kx}$$
|
||||
|
||||
$$\frac{\mathrm d}{\mathrm dx} \ln kx^n = \frac n x$$
|
||||
|
||||
where $n$ and $k$ are constant.
|
||||
|
||||
### Linearity
|
||||
|
||||
$$\frac{\mathrm d}{\mathrm dx} (f + g) = \frac{\mathrm d}{\mathrm dx} f + \frac{\mathrm d}{\mathrm dx} g$$
|
||||
|
||||
### Product Rule
|
||||
|
||||
$$\frac{\mathrm d}{\mathrm dx} (fg) = \frac{\mathrm df}{\mathrm dx}g + \frac{\mathrm dg}{\mathrm dx}f$$
|
||||
|
||||
### Quotient Rule
|
||||
|
||||
$$ \frac{\mathrm d}{\mathrm dx} \frac f g = \frac 1 {g^2} \left( \frac{\mathrm df}{\mathrm dx} g - f \frac{\mathrm dg}{\mathrm dx} \right) $$
|
||||
|
||||
$$ \left( \frac f g \right)' = \frac 1 {g^2} (gf' - fg')$$
|
||||
|
||||
### Chain Rule
|
||||
|
||||
Let
|
||||
|
||||
$$f(x) = F(u(x))$$
|
||||
|
||||
$$ \frac{\mathrm df}{\mathrm dx} = \frac{\mathrm{d}F}{\mathrm du} \frac{\mathrm du}{\mathrm dx} $$
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
#### Example 1
|
||||
|
||||
Differentiate $f(x) = \cos{x^2}$.
|
||||
|
||||
</summary>
|
||||
|
||||
Let $u(x) = x^2$, $F(u) = \cos u$
|
||||
|
||||
$$ \frac{\mathrm df}{\mathrm dx} = -\sin u \cdot 2x = 2x\sin{x^2} $$
|
||||
|
||||
</details>
|
||||
|
||||
## L'Hôpital's Rule
|
||||
|
||||
l'Hôpital's rule provides a systematic way of dealing with limits of functions like
|
||||
$\frac{\sin x} x$.
|
||||
|
||||
Suppose
|
||||
|
||||
$$\lim_{x\rightarrow{a}} f(x) = 0$$
|
||||
|
||||
and
|
||||
|
||||
$$\lim_{x\rightarrow{a}} g(x) = 0$$
|
||||
|
||||
and we want $\lim_{x\rightarrow{a}} \frac{f(x)}{g(x)}$.
|
||||
|
||||
If
|
||||
|
||||
$$\lim_{x\rightarrow{a}} \frac{f'(x)}{g'(x)} = L $$
|
||||
|
||||
where any $L$ is any real number or $\pm \infty$, then
|
||||
|
||||
$$\lim_{x\rightarrow{a}} \frac{f(x)}{g(x)} = L$$
|
||||
|
||||
You can keep applying the rule until you get a sensible answer.
|
||||
|
||||
# Graphs
|
||||
|
||||
## Stationary Points
|
||||
|
||||
An important application of calculus is to find where a function is a maximum or minimum.
|
||||
|
||||

|
||||
|
||||
when these occur the gradient of the tangent to the curve, $f'(x) = 0$.
|
||||
The condition $f'(x) = 0$ alone however does not guarantee a minimum or maximum.
|
||||
It only means that point is a *stationary point*.
|
||||
|
||||
There are three main types of stationary points:
|
||||
|
||||
- maximum
|
||||
- minimum
|
||||
- point of inflection
|
||||
|
||||
### Local Maximum
|
||||
|
||||
The point $x = a$ is a local maximum if:
|
||||
|
||||
$$f'(a) = 0 \text{ and } f''(a) < 0$$
|
||||
|
||||
This is because $f'(x)$ is a decreasing function of $x$ near $x=a$.
|
||||
|
||||
### Local Minimum
|
||||
|
||||
The point $x = a$ is a local minimum if:
|
||||
|
||||
$$f'(a) = 0 \text{ and } f''(a) > 0$$
|
||||
|
||||
This is because $f'(x)$ is a increasing function of $x$ near $x=a$.
|
||||
|
||||
### Point of Inflection
|
||||
|
||||
$$f'(a) = 0 \text{ and } f''(a) = 0 \text { and } f'''(a) \ne 0$$
|
||||
|
||||
#### $f'''(a) > 0$
|
||||
|
||||

|
||||
|
||||
#### $f'''(a) < 0$
|
||||
|
||||

|
||||
|
||||
# Approximating with the Taylor series
|
||||
|
||||
The expansion
|
||||
|
||||
$$e^x = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \cdots$$
|
||||
|
||||
is an example of a *Taylor series*.
|
||||
These enable us to approximate a given function f(x) using a series which is often easier to
|
||||
calculate.
|
||||
Among other uses, they help us:
|
||||
|
||||
- calculate complicated function using simple arithmetic operations
|
||||
- find useful analytical approximations which work for $x$ near a given value
|
||||
(e.g. $e^x \approx 1 + x$ for $x$ near 0)
|
||||
- Understand the behaviour of a function near a stationary point
|
||||
|
||||
## Strategy
|
||||
|
||||
Suppose we know information about $f(x)$ only at the point $x=0$.
|
||||
How can we find out about $f$ for other values of $x$?
|
||||
|
||||
We could approximate the function by successive polynomials,
|
||||
each time matching more derivatives at $x=0$.
|
||||
|
||||
\begin{align*}
|
||||
g(x) = a_0 &\text{ using } f(0) \\
|
||||
g(x) = a_0 + a_1x &\text{ using } f(0), f'(0) \\
|
||||
g(x) = a_0 + a_1x + a_2x^2 &\text{ using } f(0), f'(0), f''(0) \\
|
||||
&\text{and so on...}
|
||||
\end{align*}
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
#### Example 1
|
||||
|
||||
For $x$ near 0, approximate $f(x) = \cos x$ by a quadratic.
|
||||
|
||||
</summary>
|
||||
|
||||
1. Set $f(0) = g(0$:
|
||||
|
||||
$$f(0) = 1 \rightarrow g(0) = a_0 = 1$$
|
||||
|
||||
2. Set $f'(0) = g'(0$:
|
||||
|
||||
$$f'(0) = -\sin0 = 0 \rightarrow g'(0) = a_1 = 0$$
|
||||
|
||||
3. Set $f''(0) = g''(0$:
|
||||
|
||||
$$f''(0) = -\cos = -1 \rightarrow g''(0) = 2a_2 = -1 \rightarrow a_2 = -0.5$$
|
||||
|
||||
So for $x$ near 0,
|
||||
|
||||
$$\cos x \approx 1 - \frac 1 2 x^2$$
|
||||
|
||||
Check:
|
||||
|
||||
$x$ | $\cos x$ | $1 - 0.5x^2$
|
||||
--- | -------- | ------------
|
||||
0.4 | 0.921061 | 0.920
|
||||
0.2 | 0.960066 | 0.980
|
||||
0.1 | 0.995004 | 0.995
|
||||
|
||||
</details>
|
||||
|
||||
## General Case
|
||||
|
||||
### Maclaurin Series
|
||||
|
||||
A Maclaurin series is a Taylor series expansion of a function about 0.
|
||||
|
||||
Any function $f(x)$ can be written as an infinite *Maclaurin Series*
|
||||
|
||||
$$f(x) = a_0 + a_1x + a_2x^2 + a_3x^2 + \cdots$$
|
||||
|
||||
where
|
||||
|
||||
$$a_0 = f(0) \qquad a_n = \frac 1 {n!} \frac{\mathrm d^nf}{\mathrm dx^n} \bigg|_{x=0}$$
|
||||
|
||||
($|_{x=0}$ means evaluated at $x=0$)
|
||||
|
||||
### Taylor Series
|
||||
|
||||
We may alternatively expand about any point $x=a$ to give a Taylor series:
|
||||
|
||||
\begin{align*}
|
||||
f(x) = &f(a) + (x-a)f'(a) \\
|
||||
& + \frac 1 {2!}(x-a)^2f''(a) \\
|
||||
& + \frac 1 {3!}(x-a)^3f'''(a) \\
|
||||
& + \cdots + \frac 1 {n!}(x-a)^nf^{(n)}(a)
|
||||
\end{align*}
|
||||
|
||||
a generalisation of a Maclaurin series.
|
||||
|
||||
An alternative form of Taylor series is given by setting $x = a+h$ where $h$ is small:
|
||||
|
||||
$$f(a+h) = f(a) + hf'(a) + \cdots + \frac 1 {n!}h^nf^{(n)}(a) + \cdots$$
|
||||
|
||||
|
||||
## Taylor Series at a Stationary Point
|
||||
|
||||
If f(x) has a stationary point at $x=a$, then $f'(a) = 0$ and the Taylor series begins
|
||||
|
||||
$$f(x) = f(a) + \frac 1 2 f''(a)(x-a)^2 + \cdots$$
|
||||
|
||||
- If $f''(a) > 0$ then the quadratic part makes the function increase going away from $x=a$ and we
|
||||
have a minimum
|
||||
- If $f''(a) < 0$ then the quadratic part makes the function decrease going away from $x=a$ and we
|
||||
have a maximum
|
||||
- If $f''(a) = 0$ then we must include a higer order terms to determine what happens
|
||||
have a minimum
|
||||
|
||||
# Integration
|
||||
|
||||
Integration is the reverse of [differentiation](#differentiation).
|
||||
|
||||
Take velocity and displacement as an example:
|
||||
|
||||
$$\int\! v \mathrm dt = s + c$$
|
||||
|
||||
where $c$ is the constant of integration, which is required for
|
||||
[indefinite integrals](#indefinite-integrals).A
|
||||
|
||||
## Definite Integrals
|
||||
|
||||
The definite integral of a function $f(x)$ in the range $a \le x \le b$ is denoted be:
|
||||
|
||||
$$\int^b_a \! f(x) \,\mathrm dx$$
|
||||
|
||||
If $f(x) = F'(x)$ ($f(x)$ is the derivative of $F(x)$) then
|
||||
|
||||
$$\int^b_a \! f(x) \,\mathrm dx = \left[F(x)\right]^b_a = F(b) - F(a)$$
|
||||
|
||||
## Area and Integration
|
||||
|
||||
Approximate the area under a smooth curve using a large number of narrow rectangles.
|
||||
|
||||

|
||||
|
||||
Area under curve $\approx \sum_{n} f(x_n)\Delta x_n$.
|
||||
|
||||
As the rectangles get more numerous and narrow, the approximation approaches the real area.
|
||||
|
||||
The limiting value is denoted
|
||||
|
||||
$$\approx \sum_{n} f(x_n)\Delta x_n \rightarrow \int^b_a\! f(x) \mathrm dx$$
|
||||
|
||||
This explains the notation used for integrals.
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
#### Example 1
|
||||
|
||||
Calculate the area between these two curves:
|
||||
|
||||
\begin{align*}
|
||||
y &= f_1(x) = 2 - x^2 \\
|
||||
y &= f_2(x) = x
|
||||
\end{align*}
|
||||
|
||||
</summary>
|
||||
|
||||

|
||||
|
||||
1. Find the crossing points $P$ and $Q$
|
||||
|
||||
\begin{align*}
|
||||
f_1(x) &= f_2(x) \\
|
||||
x &= 2-x^2 \\
|
||||
x &= 1 \\
|
||||
x &= -2
|
||||
\end{align*}
|
||||
|
||||
2. Since $f_1(x) \ge f_2(x)$ between $P$ and $Q$
|
||||
|
||||
\begin{align*}
|
||||
A &= \int^1_{-2}\! (f_1(x) - f_2(x)) \mathrm dx \\
|
||||
&= \int^1_{-2}\! (2 - x^2 - x) \mathrm dx \\
|
||||
&= \left[ 2x - \frac 13 x^3 - \frac 12 x^2 \right]^1_{-2} \\
|
||||
&= \left(2 - \frac 13 - \frac 12 \right) - \left( -4 + \frac 83 - \frac 42 \right) \\
|
||||
&= \frac 92
|
||||
\end{align*}
|
||||
|
||||
</details>
|
||||
|
||||
## Techniques for Integration
|
||||
|
||||
Integration requires multiple techniques and methods to do correctly because it is a PITA.
|
||||
|
||||
These are best explained by examples so try to follow those rather than expect and explanation.
|
||||
|
||||
### Integration by Substitution
|
||||
|
||||
Integration but substitution lets us integrate functions of functions.
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
#### Example 1
|
||||
|
||||
Find
|
||||
|
||||
$$I = \int\!(5x - 1)^3 \mathrm dx$$
|
||||
|
||||
</summary>
|
||||
|
||||
1. Let $w(x) = 5x - 1$
|
||||
2.
|
||||
\begin{align*}
|
||||
\frac{\mathrm d}{\mathrm dx} w &= 5 \\
|
||||
\frac 15 \mathrm dw &= \mathrm dx
|
||||
\end{align*}
|
||||
|
||||
3. The integral is then
|
||||
|
||||
\begin{align*}
|
||||
I &= \int\! w^3 \frac 15 \mathrm dw \\
|
||||
&= \frac 15 \cdot \frac 14 \cdot w^4 + c \\
|
||||
&= \frac{1}{20}w^4 + c
|
||||
\end{align*}
|
||||
|
||||
4. Finally substitute $w$ out
|
||||
|
||||
$$I = \frac{(5x-1)^4}{20} + c$$
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
#### Example 2
|
||||
|
||||
Find
|
||||
|
||||
$$I = \int\! \cos x \sqrt{\sin x + 1} \mathrm dx$$
|
||||
|
||||
</summary>
|
||||
|
||||
1. Let
|
||||
|
||||
$$w(x) = \sin x + 1$$
|
||||
|
||||
2. Then
|
||||
|
||||
\begin{align*}
|
||||
\frac{\mathrm d}{\mathrm dx} w = \cos x \\
|
||||
\mathrm dw = \cos x \mathrm dx \\
|
||||
\end{align*}
|
||||
|
||||
3. The integral is now
|
||||
|
||||
\begin{align*}
|
||||
I &= \int\! \sqrt w \,\mathrm dw \\
|
||||
&= \int\! w^{\frac12} \,\mathrm dw \\
|
||||
&= \frac23w^{\frac32} + c
|
||||
\end{align*}
|
||||
|
||||
4. Finally substitute $w$ out to get:
|
||||
|
||||
$$I = \frac23 (\sin x + 1)^{\frac32} + c$$
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
#### Example 3
|
||||
|
||||
Find
|
||||
|
||||
$$I = \int^{\frac\pi2}_0\! \cos x \sqrt{\sin x + 1} \,\mathrm dx$$
|
||||
|
||||
</summary>
|
||||
|
||||
1. Use the previous example to get to
|
||||
|
||||
$$I = \int^2_1\! \sqrt w \,\mathrm dw = \frac23w^{\frac32} + c$$
|
||||
|
||||
2. Since $w(x) = \sin x + 1$ the limits are:
|
||||
|
||||
\begin{align*}
|
||||
x = 0 &\rightarrow w = 1\\
|
||||
x = \frac\pi2 &\rightarrow w = 2
|
||||
\end{align*}
|
||||
|
||||
3. This gives us
|
||||
|
||||
$$I = \left[ \frac23w^{\frac32} \right]^2_1 = \frac23 (2^{\frac23} = 1)$$
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
#### Example 4
|
||||
|
||||
Find
|
||||
|
||||
$$I = \int^1_0\! \sqrt{1 - x^2} \,\mathrm dx$$
|
||||
|
||||
</summary>
|
||||
|
||||
1. Try a trigonmetrical substitution:
|
||||
|
||||
\begin{align*}
|
||||
x &= \sin w \\
|
||||
\\
|
||||
\frac{\mathrm dx}{\mathrm dw} = \cos w \\
|
||||
\mathrm dx = \cos 2 \,\mathrm dw \\
|
||||
\end{align*}
|
||||
|
||||
2.
|
||||
|
||||
\begin{align*}
|
||||
x=0 &\rightarrow w=0 \\
|
||||
x=1 &\rightarrow w=\frac\pi2
|
||||
\end{align*}
|
||||
|
||||
3. Therefore
|
||||
|
||||
\begin{align*}
|
||||
I &= \int^{\frac\pi2}_0\! \sqrt{1 - \sin^2 w} \cos w \,\mathrm dw \\
|
||||
&= \int^{\frac\pi2}_0\! \cos^w w \,\mathrm dw
|
||||
\end{align*}
|
||||
|
||||
But $\cos(2w) = 2\cos^2w - 1$ so:
|
||||
|
||||
$$\cos^2w = \frac12 \cos(2w) + \frac12$$
|
||||
|
||||
|
||||
Hence
|
||||
|
||||
\begin{align*}
|
||||
I &= \int^{\frac\pi2}_0\! \frac12 \cos(2w) + \frac12 \,\mathrm dw \\
|
||||
&= \left[ \frac14 \sin(2w) + \frac w2 \right]^{\frac\pi2}_0 \\
|
||||
&= \left( \frac14 \sin\pi + \frac\pi4 \right) - 0 \\
|
||||
&= \frac\pi4
|
||||
\end{align*}
|
||||
|
||||
### Integration by Parts
|
||||
|
||||
$$uv = \int\! u\frac{\mathrm dv}{\mathrm dx} \,\mathrm dx + \int\! \frac{\mathrm du}{\mathrm dx}v \,\mathrm dx$$
|
||||
|
||||
or
|
||||
|
||||
$$\int\! u\frac{\mathrm dv}{\mathrm dx} \,\mathrm dx = uv - \int\! \frac{\mathrm du}{\mathrm dx}v \,\mathrm dx$$
|
||||
|
||||
This technique is derived from integrating the product rule.
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
#### Example 1
|
||||
|
||||
Find
|
||||
|
||||
$$I = \int\! \ln x \,\mathrm dx$$
|
||||
|
||||
</summary>
|
||||
|
||||
1. Use
|
||||
|
||||
$$\int\! u\frac{\mathrm dv}{\mathrm dx} \,\mathrm dx = uv - \int\! \frac{\mathrm du}{\mathrm dx}v \,\mathrm dx$$
|
||||
|
||||
2. Set $u = \ln x$
|
||||
and $v' = 1$.
|
||||
|
||||
3. This means that $u' = \frac1x$ and $v = x$.
|
||||
4.
|
||||
|
||||
\begin{align*}
|
||||
I &= x\ln x - \int\! x\cdot\frac1x \,\mathrm dx + c \\
|
||||
&= x\ln x - \int\! \,\mathrm dx + c \\
|
||||
&= x\ln x - x + c \\
|
||||
\end{align*}
|
||||
|
||||
</details>
|
||||
|
||||
# Application of Integration
|
||||
|
||||
## Differential Equations
|
||||
|
||||
Consider the equation
|
||||
|
||||
$$\frac{\mathrm dy}{\mathrm dx} = y^2$$
|
||||
|
||||
To find $y$, is not a straightforward integration:
|
||||
|
||||
$$y = \int\!y^2 \,\mathrm dx$$
|
||||
|
||||
The equation above does not solve for $y$ as we can't integrate the right until we know $y$...
|
||||
which is what we're trying to find.
|
||||
|
||||
This is an example of a first order differential equation.
|
||||
The general form is:
|
||||
|
||||
$$\frac{\mathrm dy}{\mathrm dx} = F(x, y)$$
|
||||
|
||||
### Separable Differential Equations
|
||||
|
||||
A first order diferential equation is called *separable* if it is of the form
|
||||
|
||||
$$\frac{\mathrm dy}{\mathrm dx} = f(x)g(y)$$
|
||||
|
||||
We can solve these by rearranging:
|
||||
|
||||
$$\frac1{g(y} \cdot \frac{\mathrm dy}{\mathrm dx} = f(x)$$
|
||||
|
||||
$$\int\! \frac1{g(y)} \,\mathrm dy = \int\! f(x) \,\mathrm dx + c$$
|
||||
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
#### Example 1
|
||||
|
||||
Find $y$ such that
|
||||
|
||||
$$\frac{\mathrm dy}{\mathrm dx} = ky$$
|
||||
|
||||
where $k$ is a constant.
|
||||
|
||||
</summary>
|
||||
|
||||
Rearrange to get
|
||||
|
||||
\begin{align*}
|
||||
\int\! \frac1y \,\mathrm dy &= \int\! k \mathrm dx + c \\
|
||||
\ln y &= kx + c \\
|
||||
y &= e^{kx + c} = e^ce^{kx} \\
|
||||
&= Ae^{kx}
|
||||
\end{align*}
|
||||
|
||||
where $A = e^c$ is an arbitrary constant.
|
||||
|
||||
</details>
|
@@ -1,13 +1,21 @@
|
||||
---
|
||||
author: Alvie Rahman
|
||||
date: \today
|
||||
title: MMME1026 // Mathematics for Engineering
|
||||
tags: [ uni, nottingham, mmme1026, maths, complex_numbers ]
|
||||
title: MMME1026 // Complex Numbers
|
||||
tags:
|
||||
- uni
|
||||
- nottingham
|
||||
- mechanical
|
||||
- engineering
|
||||
- mmme1026
|
||||
- maths
|
||||
- complex_numbers
|
||||
uuid: b9be8780-1ab7-402f-9c67-8cc74a74f7a9
|
||||
---
|
||||
|
||||
# Lecture 1 // Complex Numbers (2021-10-04)
|
||||
# Complex Numbers
|
||||
|
||||
## Complex Numbers
|
||||
## What is a Complex Number?
|
||||
|
||||
- $i$ is the unit imaginary number, which is defined by:
|
||||
|
||||
@@ -26,22 +34,27 @@ tags: [ uni, nottingham, mmme1026, maths, complex_numbers ]
|
||||
|
||||
e.g. $$(3 + 4i) + (1 -2i) = (3+1) + i(4-2) = 2 + 2i$$
|
||||
|
||||
### Complex Conjugate
|
||||
### The Complex Conjugate
|
||||
|
||||
Given complex number $z$:
|
||||
|
||||
$$z = z + iy$$
|
||||
$$z = x + iy$$
|
||||
|
||||
The complex conjugate of z, $\bar z$ is:
|
||||
|
||||
$$\bar{z} = z -iy$$
|
||||
$$\bar{z} = x -iy$$
|
||||
|
||||
### Division of Complex Numbers
|
||||
|
||||
- Multiply numerator and denominator by the conjugate of the denominator
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
#### Example
|
||||
|
||||
</summary>
|
||||
|
||||
> \begin{align*}
|
||||
z_1 &= 5 + i \\
|
||||
z_2 &= 1 -i \\
|
||||
@@ -51,6 +64,8 @@ $$\bar{z} = z -iy$$
|
||||
&= \frac{4 + 6i}{2} = 2 + 3i
|
||||
> \end{align*}
|
||||
|
||||
</details>
|
||||
|
||||
### Algebra and Conjugation
|
||||
|
||||
When taking complex conjugate of an algebraic expresion, we can replace $i$ by $-i$ before or after
|
||||
@@ -111,13 +126,11 @@ always hold true as there are many solutions.
|
||||
2. Find a value of $\theta$ such that $\tan \theta = \frac y x$ and check that it is consistent.
|
||||
If it puts you in the wrong quadrant, add or subtract $\pi$.
|
||||
|
||||
# Lecture 2 // Complex Numbers (2021-10-12)
|
||||
|
||||
## Exponential Functions
|
||||
|
||||
- The exponential function $f(x) = \exp x$ may be wirtten as an infinite series:
|
||||
|
||||
$$\exp x = e^x = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + ... $$
|
||||
$$\exp x = e^x = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \cdots $$
|
||||
|
||||
- The function $f(x) = e^{-x}$ is just $\frac 1 {e^x}$
|
||||
- Note the important properties:
|
||||
@@ -148,6 +161,7 @@ $$e^{i\theta} = \cos\theta + i\sin\theta$$
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
### Example 1
|
||||
|
||||
Write $z = -1 + i$ in exponential form
|
||||
@@ -163,6 +177,7 @@ Write $z = -1 + i$ in exponential form
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
### Example 2
|
||||
|
||||
The equations for a mechanical vibration problem are found to have the following mathematical
|
||||
@@ -257,6 +272,7 @@ r^n(\cos\theta +i\sin\theta)^n &= r^n(\cos{n\theta} + i\sin{n\theta}) \\
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
### Example 1
|
||||
|
||||
Write $1+i$ in polar form and use de Moivre's theorem to calculate $(1+i)^{15}$.
|
||||
@@ -278,6 +294,7 @@ Write $1+i$ in polar form and use de Moivre's theorem to calculate $(1+i)^{15}$.
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
### Example 2
|
||||
|
||||
Use de Moivre's theorem to show that
|
||||
@@ -302,6 +319,7 @@ Use de Moivre's theorem to show that
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
### Example 3
|
||||
|
||||
Given that $n \in \mathbb{N}$ and $\omega = -1 + i$, show that
|
||||
@@ -325,6 +343,7 @@ $w^n + \bar{w}^n = 2^{\frac n 2 + 1}\cos{\frac{3n\pi} 4}$ with Euler's formula.
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
### Example
|
||||
|
||||
Find which complex numbers $z$ satisfy
|
64
uni/mmme/1026_maths_for_engineering/eigenvalues.md
Executable file
@@ -0,0 +1,64 @@
|
||||
---
|
||||
author: Akbar Rahman
|
||||
date: \today
|
||||
title: MMME1026 // Eigenvalues
|
||||
tags: [ mmme1026, maths, eigenvalues, uni ]
|
||||
uuid: f2220395-bc97-432e-a1d2-74085f16991d
|
||||
---
|
||||
|
||||
An eigenvalue problem takes the form:
|
||||
|
||||
Find all the values of $\lambda$ for which the equation
|
||||
|
||||
$$A\pmb{x} = \lambda \pmb{x}$$
|
||||
|
||||
has a nonzero solution $\pmb x$, where $A$ is an $n\times n$ matrix and
|
||||
$\pmb x$ is a column vector.
|
||||
|
||||
The equation may be written as
|
||||
|
||||
\begin{align*}
|
||||
A\pmb x &= \lambda I \pmb x \\
|
||||
\Leftrightarrow A \pmb x - \lambda I \pmb x & = 0 \\
|
||||
\Leftrightarrow (A-\lambda I)\pmb x &= 0
|
||||
\end{align*}
|
||||
|
||||
($\Leftrightarrow$ means "if and only if")
|
||||
|
||||
Non-zero solutions will exist if
|
||||
|
||||
$\det(A-\lambda I) = 0$
|
||||
|
||||
There are infinitely many eigenvectors for a given eigenvalue.
|
||||
This is because if $\pmb x$ is an eigenvector of $A$ corresponding to the
|
||||
eigenvalue $\lambda$ and $c$ is a non-zero scalar, then $c\pmb x$ is also
|
||||
an eigenvector of $A$:
|
||||
|
||||
$$A(c\pmb x) = cA\pmb x = c\lambda \pmb x = \lambda(c\pmb x)$$
|
||||
|
||||
In general, if $A$ is an $n\times n$ matrix, then $|A-\lambda I|$ is a
|
||||
polynomial of degree $n$ in $\lambda$, called the characteristic polynomial.
|
||||
The characteristic equation is:
|
||||
|
||||
$$\lambda^n + c_{n-1}\lambda^{n-1} + c_{n-2}\lambda^{n-2} + \cdots + c_0 = 0$$
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
#### Example 1 ($2\times2$ example)
|
||||
|
||||
</summary>
|
||||
|
||||
If $A$ is the matrix
|
||||
|
||||
$$A = \begin{pmatrix} a & b \\ c & d \end{pmatrix}$$
|
||||
|
||||
then
|
||||
|
||||
$$|A - \lambda I| = \lambda^2 - (a+d)\lambda + (ad-bc)$$
|
||||
|
||||
And the standard method for solving a quadratic can be used to find $\lambda$.
|
||||
|
||||
</details>
|
||||
|
||||
|
BIN
uni/mmme/1026_maths_for_engineering/images/Matrix_transpose.gif
Normal file
After Width: | Height: | Size: 79 KiB |
265
uni/mmme/1026_maths_for_engineering/images/Sinh_cosh_tanh.svg
Normal file
@@ -0,0 +1,265 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with matplotlib (http://matplotlib.org/) -->
|
||||
<svg id="svg6564" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="403pt" width="403pt" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 403 403" xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<defs>
|
||||
<style id="style6568" type="text/css">*{stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:100000;}</style>
|
||||
<path id="m6d0dc4c4e2" stroke-width=".5" d="m0 0v-4" stroke="#000"/>
|
||||
<path id="m2997e254fe" stroke-width=".5" d="m0 0v4" stroke="#000"/>
|
||||
<path id="BitstreamVeraSans-Roman-31" d="m12.406 8.2969h16.11v55.625l-17.532-3.516v8.985l17.438 3.515h9.859v-64.609l16.11-0.0001v-8.2969h-41.985z"/>
|
||||
<path id="BitstreamVeraSans-Roman-2212" d="m10.594 35.5h62.594v-8.297h-62.594z"/>
|
||||
<path id="BitstreamVeraSans-Roman-30" d="m31.781 66.406q-7.609 0-11.453-7.5-3.828-7.484-3.828-22.531 0-14.984 3.828-22.484 3.844-7.5004 11.453-7.5004 7.672 0 11.5 7.5004 3.844 7.5 3.844 22.484 0 15.047-3.844 22.531-3.828 7.5-11.5 7.5m0 7.813q12.266 0 18.735-9.703 6.468-9.688 6.468-28.141 0-18.406-6.468-28.109-6.469-9.6879-18.735-9.6879-12.25 0-18.719 9.6875-6.4682 9.7034-6.4682 28.109 0 18.453 6.4682 28.141 6.469 9.703 18.719 9.703"/>
|
||||
<path id="BitstreamVeraSans-Roman-78" d="m54.891 54.688l-19.782-26.61 20.797-28.078h-10.594l-15.921 21.484-15.907-21.484h-10.609l21.25 28.609-19.438 26.079h10.594l14.5-19.485 14.5 19.485z"/>
|
||||
<path id="md69bb88a81" stroke-width=".5" d="m0 0h4" stroke="#000"/>
|
||||
<path id="m1d1e712049" stroke-width=".5" d="m0 0h-4" stroke="#000"/>
|
||||
<path id="BitstreamVeraSans-Roman-79" d="m32.172-5.0781q-3.797-9.7659-7.422-12.734-3.609-2.985-9.656-2.985h-7.1878v7.516h5.2818q3.703 0 5.75 1.765 2.062 1.7504 4.546 8.2972l1.61 4.0938-22.11 53.813h9.516l17.094-42.766 17.094 42.766h9.515z"/>
|
||||
<path id="BitstreamVeraSans-Roman-3d" d="m10.594 45.406h62.594v-8.203h-62.594zm0-19.922h62.594v-8.296h-62.594z"/>
|
||||
<path id="BitstreamVeraSans-Roman-28" d="m31 75.875q-6.531-11.219-9.719-22.219-3.172-10.984-3.172-22.265 0-11.266 3.203-22.328 3.204-11.063 9.688-22.251h-7.812q-7.313 11.485-10.954 22.563-3.6402 11.078-3.6402 22.016 0 10.89 3.6092 21.921 3.625 11.047 10.985 22.563z"/>
|
||||
<path id="BitstreamVeraSans-Roman-69" d="m9.4219 54.688h8.9841v-54.688h-8.9841zm0 21.296h8.9841v-11.39h-8.9841z"/>
|
||||
<path id="BitstreamVeraSans-Roman-6e" d="m54.891 33.016v-33.016h-8.985v32.719q0 7.765-3.031 11.609-3.031 3.86-9.078 3.86-7.281 0-11.485-4.641-4.203-4.625-4.203-12.641v-30.906h-9.0309v54.688h9.0309v-8.5q3.235 4.937 7.594 7.374 4.375 2.438 10.094 2.438 9.422 0 14.25-5.828 4.844-5.828 4.844-17.156"/>
|
||||
<path id="BitstreamVeraSans-Roman-29" d="m8.0156 75.875h7.8124q7.313-11.516 10.953-22.563 3.641-11.031 3.641-21.921 0-10.938-3.641-22.016-3.64-11.078-10.953-22.563h-7.8124q6.4844 11.188 9.6874 22.25 3.203 11.063 3.203 22.329 0 11.281-3.203 22.265-3.203 11-9.6874 22.219"/>
|
||||
<path id="BitstreamVeraSans-Roman-73" d="m44.281 53.078v-8.5q-3.797 1.953-7.906 2.922-4.094 0.984-8.5 0.984-6.687 0-10.031-2.046-3.344-2.047-3.344-6.157 0-3.125 2.391-4.906 2.39-1.781 9.625-3.391l3.078-0.687q9.562-2.047 13.594-5.781 4.031-3.735 4.031-10.422 0-7.6252-6.031-12.078-6.032-4.4379-16.579-4.4379-4.39 0-9.156 0.8594-4.765 0.85938-10.031 2.5625l-0.0001 9.281q4.9841-2.5935 9.8121-3.8904 4.828-1.2812 9.578-1.2812 6.344 0 9.75 2.1718 3.422 2.1718 3.422 6.1248 0 3.656-2.468 5.61-2.454 1.953-10.813 3.765l-3.125 0.735q-8.344 1.75-12.062 5.39-3.7035 3.641-3.7035 9.985 0 7.718 5.4685 11.906 5.469 4.203 15.531 4.203 4.969 0 9.36-0.734 4.406-0.719 8.109-2.188"/>
|
||||
<path id="BitstreamVeraSans-Roman-68" d="m54.891 33.016v-33.016h-8.985v32.719q0 7.765-3.031 11.609-3.031 3.86-9.078 3.86-7.281 0-11.485-4.641-4.203-4.625-4.203-12.641v-30.906h-9.0309v75.984h9.0309v-29.796q3.235 4.937 7.594 7.374 4.375 2.438 10.094 2.438 9.422 0 14.25-5.828 4.844-5.828 4.844-17.156"/>
|
||||
<path id="BitstreamVeraSans-Roman-63" d="m48.781 52.594v-8.406q-3.812 2.109-7.64 3.156-3.829 1.047-7.735 1.047-8.75 0-13.594-5.547-4.828-5.532-4.828-15.547 0-10.016 4.828-15.563 4.844-5.5309 13.594-5.5309 3.906 0 7.735 1.0469 3.828 1.0469 7.64 3.156v-8.3122q-3.765-1.75-7.797-2.625-4.015-0.8907-8.562-0.8907-12.36 0-19.641 7.7657-7.2654 7.7652-7.2654 20.953 0 13.375 7.3434 21.031 7.36 7.672 20.157 7.672 4.14 0 8.093-0.859 3.953-0.844 7.672-2.547"/>
|
||||
<path id="BitstreamVeraSans-Roman-6f" d="m30.609 48.391q-7.218 0-11.421-5.641-4.204-5.641-4.204-15.453 0-9.813 4.172-15.453 4.188-5.6409 11.453-5.6409 7.188 0 11.375 5.6559 4.204 5.672 4.204 15.438 0 9.719-4.204 15.406-4.187 5.688-11.375 5.688m0 7.609q11.719 0 18.407-7.625 6.703-7.609 6.703-21.078 0-13.422-6.703-21.078-6.688-7.6409-18.407-7.6409-11.765 0-18.437 7.6407-6.6564 7.6562-6.6564 21.078 0 13.469 6.6564 21.078 6.672 7.625 18.437 7.625"/>
|
||||
<path id="BitstreamVeraSans-Roman-61" d="m34.281 27.484q-10.89 0-15.093-2.484-4.204-2.484-4.204-8.5 0-4.781 3.157-7.5938 3.156-2.7968 8.562-2.7968 7.485 0 12 5.2966 4.516 5.297 4.516 14.078v2zm17.922 3.719v-31.203h-8.984v8.2969q-3.078-4.9688-7.672-7.3438t-11.235-2.375q-8.39 0-13.359 4.7188-4.953 4.7187-4.953 12.625 0 9.219 6.172 13.906 6.187 4.688 18.437 4.688h12.61v0.89q0 6.203-4.078 9.594-4.079 3.391-11.453 3.391-4.688 0-9.141-1.125-4.438-1.125-8.531-3.375v8.312q4.922 1.906 9.562 2.844 4.641 0.953 9.031 0.953 11.875 0 17.735-6.156 5.859-6.141 5.859-18.641"/>
|
||||
<path id="BitstreamVeraSans-Roman-74" d="m18.312 70.219v-15.531h18.5v-6.985h-18.5v-29.687q0-6.688 1.829-8.5941 1.828-1.9063 7.453-1.9063h9.218v-7.5156h-9.218q-10.406 0-14.36 3.875-3.9528 3.8906-3.9528 14.141v29.687h-6.5937v6.985h6.5937v15.531z"/>
|
||||
<clipPath id="p875ac5675d">
|
||||
<rect id="rect6866" y="12.96" width="338.8" x="51.435" height="344.88"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<metadata id="metadata6870">
|
||||
<rdf:RDF>
|
||||
<cc:Work rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
|
||||
<dc:title/>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g id="figure_1">
|
||||
<g id="patch_1">
|
||||
<path id="path6572" fill="none" d="m0 403.2h403.2v-403.2h-403.2v403.2z"/>
|
||||
</g>
|
||||
<g id="axes_1">
|
||||
<g id="patch_2">
|
||||
<path id="path6576" fill="none" d="m51.435 357.84h338.8v-344.88h-338.8l-0.005 344.88z"/>
|
||||
</g>
|
||||
<g id="line2d_1">
|
||||
<path id="path7422" stroke-linejoin="round" d="m202.58 447.3l2.46-19.45 2.97-21.01 2.96-18.8 2.97-16.83 2.97-15.08 2.97-13.52 2.96-12.12 2.97-10.88 2.97-9.77 2.97-8.79 2.96-7.92 2.97-7.14 2.97-6.46 2.97-5.87 3.39-6.05 3.39-5.47 3.39-4.97 3.82-5.09 4.24-5.17 4.66-5.24 6.36-6.68 13.56-14.09 4.67-5.31 4.24-5.26 3.81-5.2 3.39-5.09 3.39-5.6 2.97-5.41 2.97-5.94 2.97-6.56 2.96-7.25 2.97-8.03 2.97-8.92 2.97-9.93 2.96-11.04 2.97-12.31 2.55-11.68 2.54-12.819 2.54-14.09 2.55-15.489 2.54-17.03 2.54-18.729 1.61-13.013" transform="scale(.8)" stroke="#b30000" stroke-miterlimit="1e5" stroke-width="2.5" fill="none"/>
|
||||
</g>
|
||||
<g id="line2d_2">
|
||||
<path id="path7415" stroke-linejoin="round" d="m202.79 16.2l0.55 4.635 2.97 22.175 2.97 19.799 2.97 17.675 2.96 15.771 2.97 14.065 2.97 12.54 2.97 11.17 2.96 9.94 2.97 8.83 2.97 7.84 2.97 6.95 2.96 6.13 2.97 5.41 2.54 4.11 2.55 3.66 2.54 3.24 2.54 2.86 2.55 2.5 2.54 2.17 2.55 1.85 2.54 1.55 2.54 1.27 2.55 1 2.54 0.74 2.54 0.48 2.55 0.22 2.54-0.02 2.54-0.27 2.55-0.52 2.54-0.78 2.54-1.04 2.55-1.32 2.54-1.6 2.55-1.9 2.54-2.22 2.54-2.56 2.55-2.92 2.54-3.31 2.54-3.73 2.55-4.19 2.54-4.68 2.54-5.21 2.55-5.8 2.54-6.43 2.55-7.14 2.54-7.9 2.54-8.73 2.55-9.65 2.54-10.66 2.54-11.76 2.55-12.976 2.54-14.31 2.54-15.774 2.55-17.387 2.54-19.158 0.56-4.635" transform="scale(.8)" stroke="#00b300" stroke-miterlimit="1e5" stroke-dasharray="7.5, 7.50000000000000000" stroke-width="2.5" fill="none"/>
|
||||
</g>
|
||||
<g id="line2d_3">
|
||||
<path id="path6585" d="m51.435 206.95l106.16-0.1 12.2-0.24 7.46-0.35 5.76-0.48 4.41-0.59 3.73-0.7 3.39-0.86 3.06-1 2.71-1.1 2.71-1.34 2.72-1.59 2.71-1.86 2.71-2.13 3.05-2.69 3.73-3.6 10.18-10.06 3.05-2.62 2.71-2.07 2.72-1.79 2.71-1.53 2.71-1.28 3.06-1.16 3.05-0.92 3.39-0.79 3.73-0.65 4.41-0.53 5.43-0.43 7.12-0.31 10.17-0.21 17.98-0.1 61.38-0.02h28.49" clip-path="url(#p875ac5675d)" stroke="#0000b3" stroke-dasharray="1.000000,3.000000" stroke-width="2" fill="none"/>
|
||||
</g>
|
||||
<g id="patch_3">
|
||||
<path id="path6588" d="m51.435 357.84h338.8" stroke="#000" stroke-linecap="square" fill="none"/>
|
||||
</g>
|
||||
<g id="patch_4">
|
||||
<path id="path6591" d="m51.435 357.84v-344.88" stroke="#000" stroke-linecap="square" fill="none"/>
|
||||
</g>
|
||||
<g id="patch_5">
|
||||
<path id="path6594" d="m390.24 357.84v-344.88" stroke="#000" stroke-linecap="square" fill="none"/>
|
||||
</g>
|
||||
<g id="patch_6">
|
||||
<path id="path6597" d="m51.435 12.96h338.8" stroke="#000" stroke-linecap="square" fill="none"/>
|
||||
</g>
|
||||
<g id="matplotlib.axis_1">
|
||||
<g id="xtick_1">
|
||||
<g id="line2d_4">
|
||||
<path id="path6602" d="m199.66 357.84v-344.88" clip-path="url(#p875ac5675d)" stroke="#000" stroke-dasharray="1.000000,3.000000" stroke-width=".5" fill="none"/>
|
||||
</g>
|
||||
<g id="line2d_5">
|
||||
<g id="g6608">
|
||||
<use id="use6610" xlink:href="#m6d0dc4c4e2" stroke="#000000" y="357.84" x="199.6621875" stroke-width=".5"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="line2d_6">
|
||||
<g id="g6616">
|
||||
<use id="use6618" xlink:href="#m2997e254fe" stroke="#000000" y="12.96" x="199.6621875" stroke-width=".5"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_1"><!-- −1 -->
|
||||
<g id="g6625" transform="translate(190.82 370.96) scale(.12 -.12)">
|
||||
<use id="use6627" xlink:href="#BitstreamVeraSans-Roman-2212"/>
|
||||
<use id="use6629" x="83.7890625" xlink:href="#BitstreamVeraSans-Roman-31"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="xtick_2">
|
||||
<g id="line2d_7">
|
||||
<path id="path6633" d="m220.84 357.84v-344.88" clip-path="url(#p875ac5675d)" stroke="#000" stroke-dasharray="1.000000,3.000000" stroke-width=".5" fill="none"/>
|
||||
</g>
|
||||
<g id="line2d_8">
|
||||
<g id="g6636">
|
||||
<use id="use6638" xlink:href="#m6d0dc4c4e2" stroke="#000000" y="357.84" x="220.8375" stroke-width=".5"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="line2d_9">
|
||||
<g id="g6641">
|
||||
<use id="use6643" xlink:href="#m2997e254fe" stroke="#000000" y="12.96" x="220.8375" stroke-width=".5"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_2"><!-- 0 -->
|
||||
<g id="g6649" transform="translate(217.02 370.96) scale(.12 -.12)">
|
||||
<use id="use6651" xlink:href="#BitstreamVeraSans-Roman-30"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="xtick_3">
|
||||
<g id="line2d_10">
|
||||
<path id="path6655" d="m242.01 357.84v-344.88" clip-path="url(#p875ac5675d)" stroke="#000" stroke-dasharray="1.000000,3.000000" stroke-width=".5" fill="none"/>
|
||||
</g>
|
||||
<g id="line2d_11">
|
||||
<g id="g6658">
|
||||
<use id="use6660" xlink:href="#m6d0dc4c4e2" stroke="#000000" y="357.84" x="242.0128125" stroke-width=".5"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="line2d_12">
|
||||
<g id="g6663">
|
||||
<use id="use6665" xlink:href="#m2997e254fe" stroke="#000000" y="12.96" x="242.0128125" stroke-width=".5"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_3"><!-- 1 -->
|
||||
<g id="g6668" transform="translate(238.2 370.96) scale(.12 -.12)">
|
||||
<use id="use6670" xlink:href="#BitstreamVeraSans-Roman-31"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_4"><!-- x -->
|
||||
<g id="g6676" transform="translate(217.29 387.57) scale(.12 -.12)">
|
||||
<use id="use6678" xlink:href="#BitstreamVeraSans-Roman-78"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="matplotlib.axis_2">
|
||||
<g id="ytick_1">
|
||||
<g id="line2d_13">
|
||||
<path id="path6683" d="m51.435 206.96h338.8" clip-path="url(#p875ac5675d)" stroke="#000" stroke-dasharray="1.000000,3.000000" stroke-width=".5" fill="none"/>
|
||||
</g>
|
||||
<g id="line2d_14">
|
||||
<g id="g6689">
|
||||
<use id="use6691" xlink:href="#md69bb88a81" stroke="#000000" y="206.955" x="51.435" stroke-width=".5"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="line2d_15">
|
||||
<g id="g6697">
|
||||
<use id="use6699" xlink:href="#m1d1e712049" stroke="#000000" y="206.955" x="390.24" stroke-width=".5"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_5"><!-- −1 -->
|
||||
<g id="g6702" transform="translate(29.744 210.27) scale(.12 -.12)">
|
||||
<use id="use6704" xlink:href="#BitstreamVeraSans-Roman-2212"/>
|
||||
<use id="use6706" x="83.7890625" xlink:href="#BitstreamVeraSans-Roman-31"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="ytick_2">
|
||||
<g id="line2d_16">
|
||||
<path id="path6710" d="m51.435 185.4h338.8" clip-path="url(#p875ac5675d)" stroke="#000" stroke-dasharray="1.000000,3.000000" stroke-width=".5" fill="none"/>
|
||||
</g>
|
||||
<g id="line2d_17">
|
||||
<g id="g6713">
|
||||
<use id="use6715" xlink:href="#md69bb88a81" stroke="#000000" y="185.4" x="51.435" stroke-width=".5"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="line2d_18">
|
||||
<g id="g6718">
|
||||
<use id="use6720" xlink:href="#m1d1e712049" stroke="#000000" y="185.4" x="390.24" stroke-width=".5"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_6"><!-- 0 -->
|
||||
<g id="g6723" transform="translate(39.8 188.71) scale(.12 -.12)">
|
||||
<use id="use6725" xlink:href="#BitstreamVeraSans-Roman-30"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="ytick_3">
|
||||
<g id="line2d_19">
|
||||
<path id="path6729" d="m51.435 163.84h338.8" clip-path="url(#p875ac5675d)" stroke="#000" stroke-dasharray="1.000000,3.000000" stroke-width=".5" fill="none"/>
|
||||
</g>
|
||||
<g id="line2d_20">
|
||||
<g id="g6732">
|
||||
<use id="use6734" xlink:href="#md69bb88a81" stroke="#000000" y="163.845" x="51.435" stroke-width=".5"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="line2d_21">
|
||||
<g id="g6737">
|
||||
<use id="use6739" xlink:href="#m1d1e712049" stroke="#000000" y="163.845" x="390.24" stroke-width=".5"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_7"><!-- 1 -->
|
||||
<g id="g6742" transform="translate(39.8 167.16) scale(.12 -.12)">
|
||||
<use id="use6744" xlink:href="#BitstreamVeraSans-Roman-31"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="text_8"><!-- y -->
|
||||
<g id="g6750" transform="translate(22.249 188.95) rotate(-90) scale(.12 -.12)">
|
||||
<use id="use6752" xlink:href="#BitstreamVeraSans-Roman-79"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="legend_1">
|
||||
<g id="patch_7">
|
||||
<path id="path6756" d="m248.34 350.64h134.7v-67.73h-134.7z" stroke="#000" fill="#fff"/>
|
||||
</g>
|
||||
<g id="line2d_22">
|
||||
<path id="path6759" d="m258.42 294.57h20.16" stroke="#b30000" stroke-linecap="square" stroke-width="2" fill="none"/>
|
||||
</g>
|
||||
<g id="text_9"><!-- y = sinh(x) -->
|
||||
<g id="g6773" transform="translate(294.42 299.61) scale(.144 -.144)">
|
||||
<use id="use6775" xlink:href="#BitstreamVeraSans-Roman-79"/>
|
||||
<use id="use6777" x="59.1796875" xlink:href="#BitstreamVeraSans-Roman-20"/>
|
||||
<use id="use6779" x="90.966796875" xlink:href="#BitstreamVeraSans-Roman-3d"/>
|
||||
<use id="use6781" x="174.755859375" xlink:href="#BitstreamVeraSans-Roman-20"/>
|
||||
<use id="use6783" x="206.54296875" xlink:href="#BitstreamVeraSans-Roman-73"/>
|
||||
<use id="use6785" x="258.642578125" xlink:href="#BitstreamVeraSans-Roman-69"/>
|
||||
<use id="use6787" x="286.42578125" xlink:href="#BitstreamVeraSans-Roman-6e"/>
|
||||
<use id="use6789" x="349.8046875" xlink:href="#BitstreamVeraSans-Roman-68"/>
|
||||
<use id="use6791" x="413.18359375" xlink:href="#BitstreamVeraSans-Roman-28"/>
|
||||
<use id="use6793" x="452.197265625" xlink:href="#BitstreamVeraSans-Roman-78"/>
|
||||
<use id="use6795" x="511.376953125" xlink:href="#BitstreamVeraSans-Roman-29"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="line2d_24">
|
||||
<path id="path6798" d="m258.42 315.71h20.16" stroke="#00b300" stroke-dasharray="6.000000,6.000000" stroke-width="2" fill="none"/>
|
||||
</g>
|
||||
<g id="text_10"><!-- y = cosh(x) -->
|
||||
<g id="g6806" transform="translate(294.42 320.75) scale(.144 -.144)">
|
||||
<use id="use6808" xlink:href="#BitstreamVeraSans-Roman-79"/>
|
||||
<use id="use6810" x="59.1796875" xlink:href="#BitstreamVeraSans-Roman-20"/>
|
||||
<use id="use6812" x="90.966796875" xlink:href="#BitstreamVeraSans-Roman-3d"/>
|
||||
<use id="use6814" x="174.755859375" xlink:href="#BitstreamVeraSans-Roman-20"/>
|
||||
<use id="use6816" x="206.54296875" xlink:href="#BitstreamVeraSans-Roman-63"/>
|
||||
<use id="use6818" x="261.5234375" xlink:href="#BitstreamVeraSans-Roman-6f"/>
|
||||
<use id="use6820" x="322.705078125" xlink:href="#BitstreamVeraSans-Roman-73"/>
|
||||
<use id="use6822" x="374.8046875" xlink:href="#BitstreamVeraSans-Roman-68"/>
|
||||
<use id="use6824" x="438.18359375" xlink:href="#BitstreamVeraSans-Roman-28"/>
|
||||
<use id="use6826" x="477.197265625" xlink:href="#BitstreamVeraSans-Roman-78"/>
|
||||
<use id="use6828" x="536.376953125" xlink:href="#BitstreamVeraSans-Roman-29"/>
|
||||
</g>
|
||||
</g>
|
||||
<g id="line2d_26">
|
||||
<path id="path6831" d="m258.42 336.85h20.16" stroke="#0000b3" stroke-dasharray="1.000000,3.000000" stroke-width="2" fill="none"/>
|
||||
</g>
|
||||
<g id="text_11"><!-- y = tanh(x) -->
|
||||
<g id="g6839" transform="translate(294.42 341.89) scale(.144 -.144)">
|
||||
<use id="use6841" xlink:href="#BitstreamVeraSans-Roman-79"/>
|
||||
<use id="use6843" x="59.1796875" xlink:href="#BitstreamVeraSans-Roman-20"/>
|
||||
<use id="use6845" x="90.966796875" xlink:href="#BitstreamVeraSans-Roman-3d"/>
|
||||
<use id="use6847" x="174.755859375" xlink:href="#BitstreamVeraSans-Roman-20"/>
|
||||
<use id="use6849" x="206.54296875" xlink:href="#BitstreamVeraSans-Roman-74"/>
|
||||
<use id="use6851" x="245.751953125" xlink:href="#BitstreamVeraSans-Roman-61"/>
|
||||
<use id="use6853" x="307.03125" xlink:href="#BitstreamVeraSans-Roman-6e"/>
|
||||
<use id="use6855" x="370.41015625" xlink:href="#BitstreamVeraSans-Roman-68"/>
|
||||
<use id="use6857" x="433.7890625" xlink:href="#BitstreamVeraSans-Roman-28"/>
|
||||
<use id="use6859" x="472.802734375" xlink:href="#BitstreamVeraSans-Roman-78"/>
|
||||
<use id="use6861" x="531.982421875" xlink:href="#BitstreamVeraSans-Roman-29"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 59 KiB |
After Width: | Height: | Size: 53 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 891 B |
After Width: | Height: | Size: 180 B |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 63 KiB |
After Width: | Height: | Size: 6.5 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 11 KiB |
753
uni/mmme/1026_maths_for_engineering/systems_and_matrices.md
Executable file
@@ -0,0 +1,753 @@
|
||||
---
|
||||
author: Alvie Rahman
|
||||
date: \today
|
||||
title: MMME1026 // Systems of Equations and Matrices
|
||||
tags:
|
||||
- uni
|
||||
- nottingham
|
||||
- mechanical
|
||||
- engineering
|
||||
- mmme1026
|
||||
- maths
|
||||
- systems_of_equations
|
||||
- matrices
|
||||
uuid: 16edb140-9946-4759-93df-50cad510fe31
|
||||
---
|
||||
# Systems of Equations (Simultaneous Equations)
|
||||
|
||||
## Gaussian Elimination
|
||||
|
||||
Gaussian eliminiation can be used when the number of unknown variables you have is equal to the
|
||||
number of equations you are given.
|
||||
|
||||
I'm pretty sure it's the name for the method you use to solve simultaneous equations in school.
|
||||
|
||||
For example if you have 1 equation and 1 unknown:
|
||||
|
||||
\begin{align*}
|
||||
2x &= 6 \\
|
||||
x &= 3
|
||||
\end{align*}
|
||||
|
||||
### Number of Solutions
|
||||
|
||||
Let's generalise the example above to
|
||||
|
||||
$$ax = b$$
|
||||
|
||||
There are 3 possible cases:
|
||||
|
||||
\begin{align*}
|
||||
a \ne 0 &\rightarrow x = \frac b a \\
|
||||
a = 0, b \ne 0 &\rightarrow \text{no solution for $x$} \\
|
||||
a = 0, b = 0 &\rightarrow \text{infinite solutions for $x$}
|
||||
\end{align*}
|
||||
|
||||
### 2x2 Systems
|
||||
|
||||
A 2x2 system is one with 2 equations and 2 unknown variables.
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
#### Example 1
|
||||
|
||||
\begin{align*}
|
||||
3x_1 + 4x_2 &= 2 &\text{(1)} \\
|
||||
x_1 + 2x_2 &= 0 &\text{(2)} \\
|
||||
\end{align*}
|
||||
|
||||
</summary>
|
||||
|
||||
\begin{align*}
|
||||
3\times\text{(2)} = 3x_1 + 6x_2 &= 0 &\text{(3)} \\
|
||||
\text{(3)} - \text{(1)} = 0x_1 + 2x_2 &= -2 \\
|
||||
x_2 &= -1
|
||||
\end{align*}
|
||||
|
||||
We've essentially created a 1x1 system for $x_2$ and now that's solved we can back substitute it
|
||||
into equation (1) (or equation (2), it doesn't matter) to work out the value of $x_1$:
|
||||
|
||||
\begin{align*}
|
||||
3x_1 + 4x_2 &= 2 \\
|
||||
3x_1 - 1 &= 2 \\
|
||||
3x_1 &= 6 \\
|
||||
x_1 &= 2
|
||||
\end{align*}
|
||||
|
||||
You can check the values for $x_1$ and $x_2$ are correct by substituting them into equation (2).
|
||||
|
||||
</details>
|
||||
|
||||
### 3x3 Systems
|
||||
|
||||
A 3x3 system is one with 3 equations and 3 unknown variables.
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
#### Example 1
|
||||
|
||||
\begin{align*}
|
||||
2x_1 + 3x_2 - x_3 &= 5 &\text{(1)} \\
|
||||
4x_1 + 4x_2 - 3x_3 &= 5 &\text{(2)} \\
|
||||
2x_1 - 3x_2 + x_3 &= 5 &\text{(3)} \\
|
||||
\end{align*}
|
||||
|
||||
</summary>
|
||||
|
||||
The first step is to eliminate $x_1$ from (2) and (3) using (1):
|
||||
|
||||
\begin{align*}
|
||||
\text{(2)}-2\times\text{(1)} = -2x_2 -x_3 &= -1 &\text{(4)} \\
|
||||
\text{(3)}-\text{(1)} = -6x_2 + 3x_3 &= -6 &\text{(5)} \\
|
||||
\end{align*}
|
||||
|
||||
This has created a 2x2 system of $x_2$ and $x_3$ which can be solved as any other 2x2 system.
|
||||
I'm too lazy to type up the working, but it is solved like any other 2x2 system.
|
||||
|
||||
\begin{align*}
|
||||
x_2 &= -2
|
||||
x_3 &= 5
|
||||
\end{align*}
|
||||
|
||||
These values can be back-substituted into any of the first 3 equations to find out $x_1$:
|
||||
|
||||
\begin{align*}
|
||||
-2x_1 + 3x_2 - x_3 = 2x_1 + 6 - 3 = 5 \rightarrow x_1 = 1
|
||||
\end{align*}
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
#### Example 2
|
||||
|
||||
\begin{align*}
|
||||
x_1 + x_2 - 2x_3 &= 1 &R_1 \\
|
||||
2x_1 - x_2 - x_3 &= 1 &R_2 \\
|
||||
x_1 + 4x_2 + 7x_3 &= 2 &R_3 \\
|
||||
\end{align*}
|
||||
|
||||
</summary>
|
||||
|
||||
1. Eliminate $x_1$ from $R_2$, $R_3$:
|
||||
|
||||
\begin{align*}
|
||||
x_1 + x_2 - 2x_3 &= 1 &R_1' = R_1\\
|
||||
- 3x_2 - 5x_3 &= -1 &R_2' = R_2 - 2R_1 \\
|
||||
3x_2 + 5x_3 &= 1 &R_3' = R_3 - R_1 \\
|
||||
\end{align*}
|
||||
|
||||
We've created another 2x2 system of $R_2'$ and $R_3'$
|
||||
|
||||
2. Eliminate $x_2$ from $R_3''$
|
||||
|
||||
\begin{align*}
|
||||
x_1 + x_2 - 2x_3 &= 1 &R_1'' = R_1' = R_1\\
|
||||
- 3x_2 - 5x_3 &= -1 &R_2'' = R_2' = R_2 - 2R_1 \\
|
||||
0x_3 &= 0 &R_3'' = R_3 '+ R_2' \\
|
||||
\end{align*}
|
||||
|
||||
We can see that $x_3$ can be any number, so there are infinite solutions. Let:
|
||||
|
||||
$$x_3 = t$$
|
||||
|
||||
where $t$ can be any number
|
||||
|
||||
3. Substitute $x_3$ into $R_2''$:
|
||||
|
||||
$$R_2'' = -3x_2 - 5t = -1 \rightarrow x_2 = \frac 1 3 - \frac{5t} 3$$
|
||||
|
||||
4. Substitute $x_2$ and $x_3$ into $R_1''$:
|
||||
|
||||
$$R_1'' = x_1 + \frac 1 3 - \frac{5t} 3 + 2t = 1 \rightarrow x_1 = \frac 2 3 - \frac t 3$$
|
||||
|
||||
</details>
|
||||
|
||||
## Systems of Equations and Matrices
|
||||
|
||||
Many problems in engineering have a very large number of unknowns and equations to solve
|
||||
simultaneously.
|
||||
We can use matrices to solve these efficiently.
|
||||
|
||||
Take the following simultaneous equations::
|
||||
|
||||
\begin{align*}
|
||||
3x_1 + 4x_2 &= 2 &\text{(1)} \\
|
||||
x_1 + 2x_2 &= 0 &\text{(2)}
|
||||
\end{align*}
|
||||
|
||||
They can be represented by the following matrices:
|
||||
|
||||
\begin{align*}
|
||||
A &= \begin{pmatrix} 3 & 4 \\ 1 & 2 \end{pmatrix} \\
|
||||
\pmb x &= \begin{pmatrix} x_1 \\ x_2 \end{pmatrix} \\
|
||||
\pmb b &= \begin{pmatrix} 2 \\ 0 \end{pmatrix} \\
|
||||
\end{align*}
|
||||
|
||||
You can then express the system as:
|
||||
|
||||
$$A\pmb x = \pmb b$$
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
#### A 3x3 System as a Matrix
|
||||
|
||||
</summary>
|
||||
|
||||
\begin{align*}
|
||||
2x_1 + 3x_2 - x_3 &= 5 \\
|
||||
4x_1 + 4x_2 - 3x_3 &= 3 \\
|
||||
2x_1 - 3x_2 + x_3 &= -1
|
||||
\end{align*}
|
||||
|
||||
Could be expressed in the form $A\pmb x = \pmb b$ where:
|
||||
|
||||
\begin{align*}
|
||||
A &= \begin{pmatrix} 2 & 3 & -1 \\ 4 & 4 & -3 \\ 2 & -3 & -1 \end{pmatrix} \\
|
||||
\pmb x &= \begin{pmatrix} x_1 \\ x_2 \\ x_3 \end{pmatrix} \\
|
||||
\pmb b &= \begin{pmatrix} 5 \\ 3 \\ -1 \end{pmatrix} \\
|
||||
\end{align*}
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
#### An $m\times n$ System as a Matrix
|
||||
|
||||
</summary>
|
||||
|
||||
\begin{align*}
|
||||
a_{11}x_1 + a_{12}x_2 + \cdots + a_{1n}x_n &= b_1 \\
|
||||
a_{21}x_1 + a_{22}x_2 + \cdots + a_{2n}x_n &= b_2 \\
|
||||
\cdots \\
|
||||
a_{m1}x_1 + a_{m2}x_2 + \cdots + a_{mn}x_n &= b_m \\
|
||||
\end{align*}
|
||||
|
||||
Could be expressed in the form $A\pmb x = \pmb b$ where:
|
||||
|
||||
\begin{align*}
|
||||
A = \begin{pmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\
|
||||
a_{21} & a_{22} & \cdots & a_{2n} \\
|
||||
\vdots & & & \vdots \\
|
||||
a_{m1} & a_{m2} & \cdots & a_{mn}
|
||||
\end{pmatrix},
|
||||
\pmb x = \begin{pmatrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{pmatrix},
|
||||
\pmb b = \begin{pmatrix} b_1 \\ b_2 \\ \vdots \\ b_m \end{pmatrix}
|
||||
\end{align*}
|
||||
|
||||
</details>
|
||||
|
||||
# Matrices
|
||||
|
||||
## Order of a Matrix
|
||||
|
||||
The order of a matrix is its size e.g. $3\times2$ or $m\times n$
|
||||
|
||||
## Column Vectors
|
||||
|
||||
- Column vectors are matrices with only one column:
|
||||
|
||||
$$ \begin{pmatrix} 1 \\ 2 \end{pmatrix} \begin{pmatrix} 4 \\ 45 \\ 12 \end{pmatrix} $$
|
||||
|
||||
- Column vector variables typed up or printed are expressed in $\pmb{bold}$ and when it is
|
||||
handwritten it is \underline{underlined}:
|
||||
|
||||
$$ \pmb x = \begin{pmatrix} -3 \\ 2 \end{pmatrix}$$
|
||||
|
||||
## Matrix Algebra
|
||||
|
||||
### Equality
|
||||
|
||||
Two matrices are the same if:
|
||||
|
||||
- Their order is the same
|
||||
- Their corresponding elements are the same
|
||||
|
||||
### Addition and Subtraction
|
||||
|
||||
Only possible if their order is the same.
|
||||
\begin{align*}
|
||||
A + B&= \begin{pmatrix} a_{11} + b_{11} & a_{12} + b_{12} & \cdots & a_{1n} + b_{1n} \\
|
||||
a_{21} + b_{21} & a_{22} + b_{22} & \cdots & a_{2n} + b_{2n} \\
|
||||
\vdots & & & \vdots \\
|
||||
a_{m1} + b_{m1} & a_{m2} + b_{m2} & \cdots & a_{mn} + b_{mn}
|
||||
\end{pmatrix} \\
|
||||
A - B&= \begin{pmatrix} a_{11} - b_{11} & a_{12} - b_{12} & \cdots & a_{1n} - b_{1n} \\
|
||||
a_{21} - b_{21} & a_{22} - b_{22} & \cdots & a_{2n} - b_{2n} \\
|
||||
\vdots & & & \vdots \\
|
||||
a_{m1} - b_{m1} & a_{m2} - b_{m2} & \cdots & a_{mn} - b_{mn}
|
||||
\end{pmatrix},
|
||||
\end{align*}
|
||||
|
||||
### Zero Matrix
|
||||
|
||||
This is a matrix whose elements are all zeros.
|
||||
For any matrix $A$,
|
||||
|
||||
$$A + 0 =A$$
|
||||
|
||||
We can only add matrices of the same order, therefore 0 must be of the same order as $A$.
|
||||
|
||||
### Multiplication
|
||||
|
||||
Let
|
||||
|
||||
$$
|
||||
\begin{matrix}
|
||||
A & m\times n \\
|
||||
B & p\times q
|
||||
\end{matrix}
|
||||
$$
|
||||
|
||||
To be able to multiply $A$ by $B$, $n = p$.
|
||||
|
||||
If $n \ne p$, then $AB$ does not exist.
|
||||
|
||||
$$
|
||||
\begin{matrix}
|
||||
A & B & = & C \\
|
||||
m\times n & p \times q & & m\times q
|
||||
\end{matrix}
|
||||
$$
|
||||
|
||||
When $C = AB$ exists,
|
||||
|
||||
$$C_{ij} = \sum_r\! a_{ir}b_{rj}$$
|
||||
|
||||
That is, $C_{ij}$ is the 'product' of the $i$th row of $A$ and $j$th column of $B$.
|
||||
|
||||
#### Multiplication of a Matrix by a Scalar
|
||||
|
||||
If $\lambda$ is a scalar, we define
|
||||
|
||||
$$
|
||||
\lambda a = \begin{pmatrix} \lambda a_{11} & \lambda a_{12} & \cdots & \lambda a_{1n} \\
|
||||
\lambda a_{21} & \lambda a_{22} & \cdots & \lambda a_{2n} \\
|
||||
\vdots & & & \vdots \\
|
||||
\lambda a_{m1} & \lambda a_{m2} & \cdots & \lambda a_{mn}
|
||||
\end{pmatrix},
|
||||
$$
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
#### Example 1
|
||||
|
||||
</summary>
|
||||
|
||||
$$
|
||||
\begin{pmatrix} 1 & -1 \\ 2 & 1 \end{pmatrix}
|
||||
\begin{pmatrix} 0 & 1 \\ 3 & 2 \end{pmatrix} =
|
||||
\begin{pmatrix} -3 & -1 \\ 3 & 4 \end{pmatrix}
|
||||
$$
|
||||
$$
|
||||
\begin{pmatrix} 0 & 1 \\ 3 & 2 \end{pmatrix}
|
||||
\begin{pmatrix} 1 & -1 \\ 2 & 1 \end{pmatrix} =
|
||||
\begin{pmatrix} 2 & 1 \\ 7 & -1 \end{pmatrix}
|
||||
$$
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
#### Example 2
|
||||
|
||||
</summary>
|
||||
|
||||
$$
|
||||
A = \begin{pmatrix} 4 & 1 & 6 \\ 3 & 2 & 1 \end{pmatrix},\,
|
||||
B = \begin{pmatrix} 1 & 1 \\ 1 & 2 \\ 1 & 0 \end{pmatrix}
|
||||
$$
|
||||
$$
|
||||
AB = \begin{pmatrix} 11 & 6 \\ 6 & 7 \end{pmatrix},\,
|
||||
BA = \begin{pmatrix} 7 & 3 & 7 \\ 10 & 5 & 8 \\ 4 & 1 & 6 \end{pmatrix}
|
||||
$$
|
||||
|
||||
</details>
|
||||
|
||||
### Other Properties of Matrix Algebra
|
||||
|
||||
- $(\lambda A)B = \lambda(AB) = A(\lambda B)$
|
||||
- $A(BC) = (AB)C = ABC$
|
||||
- $(A+B)C = AC + BC$
|
||||
- $C(A+B) = CA + CB$
|
||||
- In general, $AB \ne BA$ even if both exist
|
||||
- $AB = 0$ does not always mean $A = 0$ or $B = 0$:
|
||||
|
||||
$$\begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix} \begin{pmatrix}3 & 0 \\ 0 & 0 \end{pmatrix} =
|
||||
\begin{pmatrix} 0 & 0 \\ 0 & 0 \end{pmatrix} = 0$$
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
It follows that $AB = AC$ does not imply that $B=C$ as
|
||||
|
||||
$$AB = AC \leftrightarrow A(B + C) = 0$$
|
||||
|
||||
and as $A$ and $(B-C)$ are not necessarily 0, $B$ is not necessarily equal to $C$:
|
||||
|
||||
</summary>
|
||||
|
||||
$$AB = \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix} \begin{pmatrix}0 & 0 \\ 1 & 0 \end{pmatrix} =
|
||||
\begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix}$$
|
||||
|
||||
and
|
||||
|
||||
$$AC = \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix} \begin{pmatrix}1 & 2 \\ 1 & 0 \end{pmatrix} =
|
||||
\begin{pmatrix} 1 & 0 \\ 0 & 0 \end{pmatrix} = AB$$
|
||||
|
||||
but $B \ne C$
|
||||
|
||||
</details>
|
||||
|
||||
## Special Matrices
|
||||
|
||||
### Square Matrix
|
||||
|
||||
Where $m = n$
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
#### Example 1
|
||||
|
||||
A $3\times3$ matrix.
|
||||
|
||||
</summary>
|
||||
|
||||
$$\begin{pmatrix}1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9\end{pmatrix}$$
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
#### Example 2
|
||||
|
||||
A $2\times2$ matrix.
|
||||
|
||||
</summary>
|
||||
|
||||
$$\begin{pmatrix}1 & 2 \\ 4 & 5 \end{pmatrix}$$
|
||||
|
||||
</details>
|
||||
|
||||
### Identity Matrix
|
||||
|
||||
The identity matrix is a square matrix whose eleements are all 0, except the leading diagonal which
|
||||
is 1s.
|
||||
The leading diagonal is the top left to bottom right corner.
|
||||
|
||||
It is usually denoted by $I$ or $I_n$.
|
||||
|
||||
The identity matrix has the properties that
|
||||
|
||||
$$AI = IA = A$$
|
||||
|
||||
for any square matrix $A$ of the same order as I, and
|
||||
|
||||
$$Ix = x$$
|
||||
|
||||
for any vector $x$.
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
#### Example 1
|
||||
|
||||
The $3\times3$ identity matrix.
|
||||
|
||||
</summary>
|
||||
|
||||
$$\begin{pmatrix}1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1\end{pmatrix}$$
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
#### Example 2
|
||||
|
||||
The $2\times2$ identity matrix.
|
||||
|
||||
</summary>
|
||||
|
||||
$$\begin{pmatrix}1 & 0 \\ 0 & 1 \end{pmatrix}$$
|
||||
|
||||
</details>
|
||||
|
||||
### Transposed Matrix
|
||||
|
||||
The transpose of matrix $A$ of order $m\times n$ is matrix $A^T$ which has the order $n\times m$.
|
||||
It is found by reflecting it along the leading diagonal, or interchanging the rows and columns of
|
||||
$A$.
|
||||
|
||||
](./images/Matrix_transpose.gif)
|
||||
|
||||
Let matrix $D = EF$, then $D^T = (EF)^T = E^TF^T$
|
||||
|
||||
#### Example 1
|
||||
|
||||
$$
|
||||
A = \begin{pmatrix}3 & 2 & 1 \\ 4 & 5 & 6 \end{pmatrix},\,
|
||||
A^T = \begin{pmatrix}3 & 4 \\ 2 & 5 \\ 1 & 6\end{pmatrix}
|
||||
$$
|
||||
|
||||
#### Example 2
|
||||
|
||||
$$
|
||||
B = \begin{pmatrix}1 \\ 4\end{pmatrix},\,
|
||||
B^T = \begin{pmatrix}1 & 4\end{pmatrix}
|
||||
$$
|
||||
|
||||
#### Example 3
|
||||
|
||||
$$
|
||||
C = \begin{pmatrix}1 & 2 & 3 \\ 0 & 5 & 1 \\ 2 & 3 & 7\end{pmatrix},\,
|
||||
C^T = \begin{pmatrix}1 & 0 & 2 \\ 2 & 5 & 4 \\ 3 & 1 & 7\end{pmatrix}
|
||||
$$
|
||||
|
||||
### Orthogonal Matrices
|
||||
|
||||
A matrix, $A$, such that
|
||||
|
||||
$$A^{-1} = A^T$$
|
||||
|
||||
is said to be orthogonal.
|
||||
|
||||
Another way to say this is
|
||||
|
||||
$$AA^T = A^TA = I$$
|
||||
|
||||
### Symmetric Matrices
|
||||
|
||||
A square matrix which is symmetric about its leading diagonal:
|
||||
|
||||
$$A = A^T$$
|
||||
|
||||
You can also express this as the matrix $A$, where
|
||||
|
||||
$$a_{ij} = a_{ji}$$
|
||||
|
||||
is satisfied to all elements.
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
#### Example 1
|
||||
|
||||
</summary>
|
||||
|
||||
$$\begin{pmatrix}
|
||||
1 & 0 & -1 & 3 \\
|
||||
0 & 3 & 4 & -1 \\
|
||||
-2 & 4 & -1 & 6 \\
|
||||
3 & -7 & 6 & 2
|
||||
\end{pmatrix}$$
|
||||
|
||||
</details>
|
||||
|
||||
### Anti-Symmetric
|
||||
|
||||
A square matrix is anti-symmetric if
|
||||
|
||||
$$A = -A^T$$
|
||||
|
||||
This can also be expressed as
|
||||
|
||||
$$a_{ij} = -a_{ji}$$
|
||||
|
||||
This means that all elements on the leading diagonal must be 0.
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
#### Example 1
|
||||
|
||||
</summary>
|
||||
|
||||
$$\begin{pmatrix}
|
||||
0 & -1 & 5 \\
|
||||
1 & 0 & 1 \\
|
||||
-5 & -1 & 0
|
||||
\end{pmatrix}$$
|
||||
|
||||
</details>
|
||||
|
||||
## The Determinant
|
||||
|
||||
### Determinant of a 2x2 System
|
||||
|
||||
The determinant of a $2x2$ system is
|
||||
|
||||
$$D = a_{11}a_{22} - a_{12}a_{21}$$
|
||||
|
||||
It is denoted by
|
||||
|
||||
$$
|
||||
\begin{vmatrix}
|
||||
a_{11} & a_{12} \\
|
||||
a_{21} & a_{22}
|
||||
\end{vmatrix}
|
||||
\text{ or }
|
||||
\det
|
||||
\begin{pmatrix}
|
||||
a_{11} & a_{12} \\
|
||||
a_{21} & a_{22}
|
||||
\end{pmatrix}
|
||||
$$
|
||||
|
||||
- A system of equations has a unique solution if $D \ne 0$
|
||||
- If $D = 0$, then there are either
|
||||
|
||||
- no solutions (the equations are inconsistent)
|
||||
- intinitely many solutions
|
||||
|
||||
### Determinant of a 3x3 System
|
||||
|
||||
Let
|
||||
|
||||
$$
|
||||
A = \begin{pmatrix}
|
||||
a_{11} & a_{12} & a_{13} \\
|
||||
a_{21} & a_{22} & a_{23} \\
|
||||
a_{31} & a_{32} & a_{33}
|
||||
\end{pmatrix}
|
||||
$$
|
||||
|
||||
\begin{align*}
|
||||
\det A = &a_{11} \times \det \begin{pmatrix}a_{22} & a_{23} \\ a_{32} & a_{33} \end{pmatrix} \\
|
||||
&-a_{12} \times \det \begin{pmatrix}a_{21} & a_{23} \\ a_{31} & a_{33} \end{pmatrix} \\
|
||||
&+a_{13} \times \det \begin{pmatrix}a_{21} & a_{22} \\ a_{31} & a_{32} \end{pmatrix}
|
||||
\end{align*}
|
||||
|
||||
The $2x2$ matrices above are created by removing any elements on the same row or column as its corresponding
|
||||
coefficient:
|
||||
|
||||

|
||||
|
||||
### Chessboard Determinant
|
||||
|
||||
$\det A$ may be obtained by expanding out any row or column.
|
||||
To figure out which coefficients should be subtracted and which ones added use the chessboard
|
||||
pattern of signs:
|
||||
|
||||
$$\begin{pmatrix} + & - & + \\ - & + & - \\ + & - & + \end{pmatrix}$$
|
||||
|
||||
### Properties of Determinants
|
||||
|
||||
- $$\det A = \det A^T$$
|
||||
- If all elements of one row of a matrix are multiplied by a constant $z$, the determinant of the
|
||||
new matrix is $z$ times the determinant of the original matrix:
|
||||
|
||||
\begin{align*}
|
||||
\begin{vmatrix} za & zb \\ c & d \end{vmatrix} &= zad - zbc \\
|
||||
&= z(ad-bc) \\
|
||||
&= z\begin{vmatrix} a & b \\ c & d \end{vmatrix}
|
||||
\end{align*}
|
||||
|
||||
This is also true if a column of a matrix is mutiplied by a constant.
|
||||
|
||||
**Application** if the fator $z$ appears in each elements of a row or column of a determinant it
|
||||
can be factored out
|
||||
|
||||
$$\begin{vmatrix}2 & 12 \\ 1 & 3 \end{vmatrix} = 2\begin{vmatrix}1 & 6 \\ 1 & 3 \end{vmatrix} = 2 \times 3
|
||||
\begin{vmatrix} 1 & 2 \\ 1 & 1 \end{vmatrix}$$
|
||||
|
||||
**Application** if all elements in one row or column of a matrix are zero, the value of the
|
||||
determinant is 0.
|
||||
|
||||
$$\begin{vmatrix} 0 & 0 \\ c & d \end{vmatrix} = 0\times d - 0\times c = 0$$
|
||||
|
||||
|
||||
**Application** if $A$ is an $n\times n$ matrix,
|
||||
|
||||
$$\det(zA) = z^n\det A$$
|
||||
|
||||
- Swapping any two rows or columns of a matrix changes the sign of the determinant
|
||||
|
||||
\begin{align*}
|
||||
\begin{vmatrix} c & d \\ a & b \end{vmatrix} &= cb - ad \\
|
||||
&= -(ad - bc) \\
|
||||
&= -\begin{vmatrix} a & b \\ c & d \end{vmatrix}
|
||||
\end{align*}
|
||||
|
||||
**Application** If any two rows or two columns are identical, the determinant is zero.
|
||||
|
||||
**Application** If any row is a mutiple of another, or a column a multiple of another column, the
|
||||
determinant is zero.
|
||||
|
||||
- The value of a determinant is unchanged by adding to any row a constant multiple of another row,
|
||||
or adding to any column a constant multiple of another column
|
||||
|
||||
- If $A$ and $B$ are square matrices of the same order then
|
||||
|
||||
$$\det(AB) = \det A \times \det B $$
|
||||
|
||||
## Inverse of a Matrix
|
||||
|
||||
If $A$ is a square matrix, then its inverse matrix is $A^{-1}$ and is defined by the property that:
|
||||
|
||||
$$A^{-1}A = AA^{-1} = I$$
|
||||
|
||||
- Not every matrix has an inverse
|
||||
- If the inverse exists, then it is very useful for solving systems of equations:
|
||||
|
||||
\begin{align*}
|
||||
A\pmb{x} = \pmb b \rightarrow A^{-1}A\pmb x &= A^{-1}\pmb b \\
|
||||
I\pmb x &= A^{-1}\pmb b \\
|
||||
\pmb x &= A^{-1}\pmb b
|
||||
\end{align*}
|
||||
|
||||
Therefore there must be a unique solution to $A\pmb x = \pmb b$: $\pmb x = A^{-1}\pmb b$.
|
||||
|
||||
- If $D = EF$ then
|
||||
|
||||
$$D^-1 = (EF)^{-1} = F^{-1}E^{-1}$$
|
||||
|
||||
### Inverse of a 2x2 Matrix
|
||||
|
||||
If $A$ is the $2x2$ matrix
|
||||
|
||||
$$
|
||||
A = \begin{pmatrix}
|
||||
a_{11} & a_{12} \\
|
||||
a_{21} & a_{22}
|
||||
\end{pmatrix}
|
||||
$$
|
||||
|
||||
and its determinant, $D$, satisfies $D \ne 0$, $A$ has the inverse $A^{-1}$ given by
|
||||
|
||||
$$
|
||||
A^{-1} = \frac 1 D \begin{pmatrix}
|
||||
a_{22} & -a_{12} \\
|
||||
-a_{21} & a_{11}
|
||||
\end{pmatrix}
|
||||
$$
|
||||
|
||||
If $D = 0$, then matrix $A$ has no inverse.
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
#### Example 1
|
||||
|
||||
Find the inverse of matrix $A = \begin{pmatrix} -1 & 5 \\ 2 & 3 \end{pmatrix}$.
|
||||
|
||||
</summary>
|
||||
|
||||
1. Calculate the determinant
|
||||
|
||||
$$\det A = -1 \times 3 - 5 \times 2 = -13$$
|
||||
|
||||
Since $\det A \ne 0$, the inverse exists.
|
||||
|
||||
2. Calculate $A^{-1}$
|
||||
|
||||
$$ A^{-1} = \frac 1 {-13} \begin{pmatrix} 3 & -5 \\ -2 & -1\end{pmatrix}$$
|
322
uni/mmme/1026_maths_for_engineering/vectors.md
Executable file
@@ -0,0 +1,322 @@
|
||||
---
|
||||
author: Akbar Rahman
|
||||
date: \today
|
||||
title: MMME1026 // Vectors
|
||||
tags:
|
||||
- uni
|
||||
- nottingham
|
||||
- mechanical
|
||||
- engineering
|
||||
- mmme1026
|
||||
- maths
|
||||
- vectors
|
||||
uuid: ef1669d9-b8c3-4813-8b33-5764a2f57a55
|
||||
---
|
||||
|
||||
Vectors have a *magnitude* (size) and *direction*.
|
||||
Examples of vectors include force, velocity, and acceleration.
|
||||
|
||||
In type, vectors are notated in **bold**: $\pmb{a}$.
|
||||
In handwriting is is \underline{underlined}.
|
||||
|
||||
# Vector Algebra
|
||||
|
||||
## Equality
|
||||
|
||||
Two vectors are said to be equal if their magnitudes and directions are equal.
|
||||
|
||||
You can also do this by checking if their vertical and horizontal components are equal.
|
||||
|
||||
## Addition
|
||||
|
||||
Two vectors, $\pmb{a}$ and $\pmb{b}$, can be summed together by summing their components.
|
||||
|
||||
You can also do this graphically by drawing $\pmb{a}$ and then $\pmb{b}$ by putting its tail on
|
||||
the tip of $\pmb{a}$.
|
||||
The sum of the vectors is from the tail of $\pmb{a}$ to the tip of $\pmb{b}$:
|
||||
|
||||

|
||||
|
||||
Vector addition is associative[^d_associative] and commutative[^d_commutative].
|
||||
|
||||
## Zero Vector
|
||||
|
||||
The *zero vector* is denoted by $\pmb{0}$ and has zero magnitude and arbitrary direction.
|
||||
|
||||
$$\pmb{a} + \pmb 0 = \pmb a$$
|
||||
|
||||
If $\pmb a + \pmb b = 0$ then it is normal to write
|
||||
|
||||
|
||||
$$\pmb b = -\pmb a$$
|
||||
|
||||
$-\pmb a$ is a vector with the same magnitude to $\pmb a$ but opposite direction.
|
||||
|
||||
## Multiplication
|
||||
|
||||
### Multiplication by a Scalar
|
||||
|
||||
Let $k$, an arbitrary scalar and $\pmb a$, an arbitrary vector.
|
||||
|
||||
- $k\pmb a$ is a vector of magnitude $|k|$ times that of $\pmb a$ and is parralel to it
|
||||
- $0\pmb a = 0$
|
||||
- $1\pmb a = a$
|
||||
- $(-k)\pmb a = -(k\pmb a)$
|
||||
- $(-1)\pmb a = -\pmb a$
|
||||
- $k(\pmb a + \pmb b) = k\pmb a + k\pmb b$
|
||||
- $(k_1 + k_2)\pmb a = k_1\pmb a + k_2\pmb a$
|
||||
- $(k_1k_2)\pmb a = k_1(k_2\pmb a)$
|
||||
|
||||
### The Scalar Product (Inner Product, Dot Product)
|
||||
|
||||
The scalar product of two vectors $\pmb a$ and $\pmb b$ is a scalar defined by
|
||||
|
||||
$$\pmb a \cdot \pmb b = |\pmb a||\pmb b|\cos\theta = a_1b_1 + a_2b_2 + a_3b_3$$
|
||||
|
||||
where $\pmb a = (a_1, a_2, a_3)$ and $\pmb b = (b_1, b_2, b_3)$
|
||||
|
||||
where $\theta$ is the angle between the two vectors (note that $\cos\theta = \cos(2\pi - \theta)$).
|
||||
This definition does not depend on a coordinate system.
|
||||
|
||||
- The dot product is commutative[^d_commutative]
|
||||
- The dot product is distributive[^d_distributive]
|
||||
- If $\pmb a$ is perpendicular to $\pmb b$, then $\pmb a \cdot \pmb b = 0$ and they are said to be
|
||||
orthogonal
|
||||
- If $\pmb a \cdot \pmb b = 0$ then either
|
||||
|
||||
i. The vectors are orthogonal
|
||||
ii. One or both of the vectorse are zero vectors
|
||||
|
||||
- $\pmb a \cdot \pmb a = |\pmb a|^2 = a^2$
|
||||
|
||||
The base vectors are said to be *orthonormal* when $\pmb i^2 = \pmb j^2 = \pmb k^2 = 1$ and
|
||||
$i\cdot j = i\cdot k = j\cdot k = 0$.
|
||||
|
||||
### The Vector Product (Cross Product)
|
||||
|
||||
The vector product between two vectors is defined by:
|
||||
|
||||
$$\pmb a \times \pmb b = |\pmb a||\pmb b|\sin\theta \hat{\pmb n}$$
|
||||
|
||||
where $0 \le \theta \le \pi$ is the angle between $\pmb a$ and $\pmb b$ and $\pmb n$ is a unit
|
||||
vector such that the three vectors from a right handed system:
|
||||
|
||||

|
||||
|
||||
- $\pmb a \times \pmb b = -\pmb b \times \pmb a$ (the vector product is anti-commutative[^d_commutative])
|
||||
- If $\pmb a \times \pmb b = 0$ then either
|
||||
|
||||
i. The vectors are parallel
|
||||
ii. One or both of the vectors are a zero vector
|
||||
|
||||
- $(k_1\pmb a)\times(k_2\pmb b) = (k_1k_2)(\pmb a \times \pmb b)$ where $k_1$, $k_2$ are scalars
|
||||
- If $\pmb a = (a_1, a_2, a_3)$ and $\pmb b = (b_1, b_2, b_3)$ then
|
||||
|
||||
$$\pmb a \times \pmb b = (a_2b_3 - a_3b_2, a_1b_3-a_3b_1, a_1b_2-a_2b_1)$$
|
||||
|
||||
- In the notation of determinants, provided we **expand by row 1**:
|
||||
|
||||
$$\pmb a \times \pmb b = \begin{vmatrix} \pmb i & \pmb j & \pmb k \\ a_1 & a_2 & a_3 \\ b_1 & b_2 & b_3 \end{vmatrix}$$
|
||||
|
||||
This is technically not a determinant because not all the elements are numbers but shhhhhh...
|
||||
|
||||
|
||||
### Scalar Triple Product (and co-planar vectors)
|
||||
|
||||
\begin{align*}
|
||||
[ \pmb a, \pmb b, \pmb c ] &= \pmb a \cdot (\pmb b \times \pmb c) \\
|
||||
&= \pmb b \cdot (\pmb c \times \pmb a) \\
|
||||
&= \pmb c \cdot (\pmb a \times \pmb b) \\
|
||||
&= (\pmb b \times \pmb c) \cdot \pmb a \\
|
||||
&= (\pmb c \times \pmb a) \cdot \pmb b \\
|
||||
&= (\pmb a \times \pmb b) \cdot \pmb c
|
||||
\end{align*}
|
||||
|
||||
In terms of determinants:
|
||||
|
||||
$$
|
||||
[ \pmb a, \pmb b, \pmb c ] = \begin{vmatrix}
|
||||
a_1 & a_2 & a_3 \\
|
||||
b_1 & b_2 & b_3 \\
|
||||
c_1 & c_2 & c_3
|
||||
\end{vmatrix}
|
||||
$$
|
||||
|
||||
If $[\pmb a, \pmb b, \pmb c] = 0$ then the vectors are coplanar.
|
||||
|
||||
The absolute value of the scalar triple product reperesents the volume of the parallelepiped defined
|
||||
by those vectors:
|
||||
|
||||

|
||||
|
||||
|
||||
## The Unit Vector
|
||||
|
||||
$$\hat{\pmb a}= \frac{\pmb a}{|\pmb a|}$$
|
||||
|
||||
## Components of a Vector
|
||||
|
||||
The component of a vector $\pmb a$ in the direction of the **unit vector** $\hat{\pmb n}$ is
|
||||
|
||||
$$\pmb a \cdot \hat{\pmb n}$$
|
||||
|
||||

|
||||
|
||||
Vectors are often written in terms of base vectors, such as the Cartesian system's $\pmb i$,
|
||||
$\pmb j$, and $\pmb k$ in three dimensions.
|
||||
|
||||

|
||||
|
||||
These vectors have unit magnitude, are perpendicular to each other, and are right handed.
|
||||
|
||||
If $\pmb a = a_1\pmb i + a_2\pmb j + a_3\pmb k$ then the scalars $a_1$, $a_2$, and $a_3$ are the
|
||||
*components* of the vector (relative to the base vectors).
|
||||
|
||||
### Vector Projections
|
||||
|
||||
The *vector projection* of $\pmb a$ onto $\hat{\pmb n}$ is given by
|
||||
|
||||
$$(\pmb a \cdot \hat{\pmb n})\hat{\pmb n}$$
|
||||
|
||||

|
||||
|
||||
They look like the same as [vector components](#components-of-a-vector) to me...
|
||||
no idea what the difference is but uh StackExchange says
|
||||
([permalink](https://physics.stackexchange.com/a/537690)):
|
||||
|
||||
> As pointed out, the projection and component actually refers to the same thing.
|
||||
> To solve a problem like this it useful to introduce a coordinate system, as you mentioned yourself
|
||||
> you project onto the x-axis.
|
||||
> As soon as you introduce a coordinate system you can talk about the components of some vector.
|
||||
|
||||
## Position Vectors
|
||||
|
||||
If an origin $O$ is fixed, then any point $P$ in space may be represented by the vector $\pmb r$
|
||||
which has a magnitude and direction given by the line $\overrightarrow{OP}$.
|
||||
|
||||
A point $(x, y, z)$ in Cartesian space has the position vector $r = x\pmb i + y\pmb j + z\pmb k$.
|
||||
|
||||
## Angle Between Vectors
|
||||
|
||||
By rearranging the [dot product equation](#the-scalar-product-inner-product-dot-product) you can get
|
||||
an equation to find the angle, $\theta$, between two vectors:
|
||||
|
||||
$$\cos\theta = \frac{\pmb a \cdot \pmb b}{|\pmb a||\pmb b|} = \frac{a_1b_1 + a_2b_2 + a_3b_3}{|\pmb a ||\pmb b|}$$
|
||||
|
||||
# Applications of Vectors
|
||||
|
||||
## Application of Vectors to Geometry
|
||||
|
||||
### Area of a Parallelogram
|
||||
|
||||
$$area = |\pmb a||\pmb b|\sin\theta = |\pmb a \times \pmb b|$$
|
||||
|
||||
### Volume of a Parallelepiped
|
||||
|
||||
$$volume = | [ \pmb a, \pmb, b, \pmb c ] |$$
|
||||
|
||||
### Equation of a Straight Line
|
||||
|
||||
A straight line can be specified by
|
||||
|
||||
- two points it passes
|
||||
- one point it passes and a direction
|
||||
|
||||
If $\pmb a$ and $\pmb b$ are the position vectors of two distinct points, then the position vectors
|
||||
of an arbitrary point on the line joining these points is:
|
||||
|
||||
$$\pmb r = \pmb a + \lambda(\pmb b - \pmb a)$$
|
||||
|
||||
where $\lambda \in \Re$ is a parameter.
|
||||
|
||||

|
||||
|
||||
Suppose $O$ is an origin and $\pmb a$, $\pmb b$, and $\pmb r$ are position vectors on the line such
|
||||
that
|
||||
|
||||
\begin{align*}
|
||||
\pmb a &= (x_0, y_0, z_0) \\
|
||||
\pmb b &= (x_1, y_1, z_1) \\
|
||||
\pmb r &= (x, y, z)\\
|
||||
\\
|
||||
(x, y, z) &= (x_0, y_0, z_0) + \lambda((x_1, y_1, z_1) - (x_0, y_0, z_0)) \\
|
||||
\\
|
||||
x &= x_0 + \lambda(x_1-x_0) \\
|
||||
y &= y_0 + \lambda(y_1-y_0) \\
|
||||
z &= z_0 + \lambda(z_1-z_0) \\
|
||||
\\
|
||||
\lambda &= \frac{x-x_0}{x_1-x_0} = \frac{y-y_0}{y_1-y_0} = \frac{z-z_0}{z_1-z_0}
|
||||
\end{align*}
|
||||
|
||||
In the above, the vector $\pmb b - \pmb a$ is in the direction of the line.
|
||||
Thus the equation of a line can be specified by giving a point it passes through ($\pmb a$, say) and
|
||||
the direction of the line ($\pmb d = (d_1, d_2, d_3)$, say).
|
||||
|
||||
The vector equation is then
|
||||
|
||||
$$\pmb r = \pmb a + \lambda\pmb d$$
|
||||
|
||||
#### The Cartesian Equation
|
||||
|
||||
$$\frac{x-x_0}{d_1} = \frac{y-y_0}{d_2} = \frac{z-z_0}{d_3}$$
|
||||
|
||||
### Equation of a Plane
|
||||
|
||||
A *plane* can be defined by specifying either:
|
||||
|
||||
- three points (as long as they're not in a straight line)
|
||||
- a point on the plane and two directions (useful for a parametric form)
|
||||
- specifying a point on the plane and the normal vector to the plane
|
||||
|
||||
#### Specifying a Point and a Normal Vector
|
||||
|
||||
Let $\pmb a$ be the position vector of a point on the plane, and $\pmb n$ a normal vector to the
|
||||
plane.
|
||||
|
||||
If $\pmb r$ is the position vector of an arbitrary point on the plane, then $\pmb r - \pmb a$ is a
|
||||
vector lying *in* the plane, so
|
||||
|
||||
$$(\pmb r - \pmb a) \cdot \pmb n = 0$$
|
||||
|
||||
So the *vector equation* of the plane is
|
||||
|
||||
$$\pmb r \cdot \pmb n = \pmb a \cdot \pmb n = D$$
|
||||
|
||||
where $\pmb r = (x, y, z)$ and the vectors $\pmb a$ and $\pmb n$ are known.
|
||||
|
||||
Suppose $\pmb a$, $\pmb n$, and $\pmb r$ are given by
|
||||
|
||||
\begin{align*}
|
||||
\pmb a &= (x_0, y_0, z_0) \\
|
||||
\pmb n &= (l, m, p) \\
|
||||
\pmb r &= (x, y, z)\\
|
||||
\text{then } 0 &= ((x, y, z) - (x_0, y_0, z_0))\cdot(l, m, p)
|
||||
\end{align*}
|
||||
|
||||
#### Specifying Three Points on a Plane
|
||||
|
||||
If we specify three points on a plane with position vectors $\pmb a$, $\pmb b$, and $\pmb c$ the
|
||||
vectors $\pmb c - \pmb a$ and $\pmb c - \pmb b$ lie *in* the plane.
|
||||
(The vectors $\pmb a$, $\pmb b$, and $\pmb c$ do not necessarily lie *in* the plane;
|
||||
rather they take you from $O$ **to** the plane.)
|
||||
|
||||
The normal to the plane, $\pmb n$, is then parallel to
|
||||
|
||||
$$(\pmb c - \pmb a)\times(\pmb c - \pmb b)$$
|
||||
|
||||
and so the equation of the plane is
|
||||
|
||||
$$(\pmb r - \pmb a)\cdot((\pmb c - \pmb a)\times(\pmb c - \pmb b)) = 0$$
|
||||
|
||||
|
||||
#### The Angle Between Two Planes
|
||||
|
||||
... is the same as the angle between their normal vectors
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
[^d_associative]: The grouping of elements in in an operation do not matter (e.g. scalar addition: $a+(b+c) = (a+b)+c$)
|
||||
[^d_commutative]: The order of elements in an operation do not matter (e.g. scalar addition: $a+b = b+a$)
|
||||
[^d_distributive]: Easiest to explain with examples. Scalar multiplication is said to be distributive because $(a+b)c = ac + bc$
|
72
uni/mmme/1028_statics_and_dynamics/dynamics.md
Executable file
@@ -0,0 +1,72 @@
|
||||
---
|
||||
author: Akbar Rahman
|
||||
date: \today
|
||||
title: MMME1028 // Dynamics
|
||||
tags: [ uni, mmme1028, dynamics ]
|
||||
uuid: e6d3a307-b2e6-40e3-83bb-ef73512d69ad
|
||||
---
|
||||
|
||||
# Circular Motion
|
||||
|
||||
$$a_c = r\omega^2$$
|
||||
|
||||
$$a = r\alpha \hat{e}_\theta - r\omega^2\hat{e}_r$$
|
||||
|
||||
## Moment of Inertia
|
||||
|
||||
$$J = mr^2 = \frac{M}{\ddot\theta}$$
|
||||
|
||||
The unit of $J$ is kgm$^2$.
|
||||
|
||||
Consider a particle of mass $m$ attached to one end of a rigid rod of length $r$.
|
||||
The rod is pivoting at its other end about point $O$, and experiences a torque $M$.
|
||||
This torque will cause the mass and the rod to rotate about $O$ with angular velocity
|
||||
$\dot{\theta}$ an angular acceleration $\ddot{\theta}$.
|
||||
|
||||

|
||||
|
||||
What is the expression for $M$?
|
||||
|
||||
Well if break down the moment $M$ into a force, $F$, acting on the mass, we know that the
|
||||
moment $M = Fr$.
|
||||
We know $F = ma$, and this case $a = r\ddot{\theta}$ so $M = mr^2\ddot\theta$.
|
||||
|
||||
The moment of inertia is $J = mr^2$ so $M = J\ddot\theta$.
|
||||
|
||||
If multiple torques are applied to a body the *rotational equation* of the motion is
|
||||
|
||||
$$\overrightarrow{M} = \sum_i \overrightarrow{M}_i = J \overrightarrow{\ddot\theta} = J \overrightarrow{\alpha}$$
|
||||
|
||||
The moment of inertia of any object is found by considering the object to be made up of lots of
|
||||
small particles and adding the moments of inertia for each small particle.
|
||||
The moments of inertia for a body depends on the mass and its distribution about the axis in
|
||||
consideration.
|
||||
|
||||
$$J = \sum_i m_ir^2_i \rightarrow \int\! r^2 \mathrm{d}m$$
|
||||
|
||||
### Perpendicular Axis Rule
|
||||
|
||||
The perpendicular axis rule states that, for lamina object:
|
||||
|
||||
$$J_z = J_x + J_y$$
|
||||
|
||||
where $J_x$, $J_y$, and $J_z$ are the moments of inertia along their respective axes.
|
||||
|
||||
### Parallel Axes Rule (Huygens-Steiner Theorem)
|
||||
|
||||
The parallel axes rule states that:
|
||||
|
||||
$$J_A = J_G = md^2$$
|
||||
|
||||
where $d$ is the perpendicular distance between the two axes.
|
||||
|
||||

|
||||
|
||||
### Moment of a Compound Object
|
||||
|
||||
The moment of inertia for any compound object can be calculated by adding and subtracting the
|
||||
moments of inertia for its 'standard' components.
|
||||
|
||||
### Moment of Inertia of Standard Objects
|
||||
|
||||
// TODO
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 95 KiB |
Before Width: | Height: | Size: 109 KiB After Width: | Height: | Size: 109 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 105 KiB |
After Width: | Height: | Size: 63 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 65 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 77 KiB |
After Width: | Height: | Size: 53 KiB |
After Width: | Height: | Size: 54 KiB |
After Width: | Height: | Size: 46 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 105 KiB |
After Width: | Height: | Size: 44 KiB |
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 45 KiB |
After Width: | Height: | Size: 56 KiB |
After Width: | Height: | Size: 54 KiB |
After Width: | Height: | Size: 66 KiB |
After Width: | Height: | Size: 76 KiB |
After Width: | Height: | Size: 111 KiB |
After Width: | Height: | Size: 128 KiB |
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 26 KiB |
583
uni/mmme/1028_statics_and_dynamics/statics.md
Executable file
@@ -0,0 +1,583 @@
|
||||
---
|
||||
author: Alvie Rahman
|
||||
date: \today
|
||||
tags:
|
||||
- uni
|
||||
- nottingham
|
||||
- mechanical
|
||||
- engineering
|
||||
- mmme1028
|
||||
- maths
|
||||
- statics
|
||||
- dynamics
|
||||
title: MMME1028 // Statics
|
||||
uuid: 2ddad9d0-b085-4602-aca9-c573351558ba
|
||||
---
|
||||
|
||||
# Lecture L1.1, L1.2
|
||||
|
||||
### Lecture L1.1 Exercises
|
||||
|
||||
Can be found [here](./lecture_exercises/mmme1028_l1.1_exercises_2021-09-30.pdf).
|
||||
|
||||
### Lecture L1.2 Exercises
|
||||
|
||||
Can be found here [here](./lecture_exercises/mmme1028_l1.2_exercises_2021-10-04.pdf)
|
||||
|
||||
## Newton's Laws
|
||||
|
||||
1. Remains at constant velocity unless acted on by external force
|
||||
|
||||
2. Sum of forces on body is equal to mass of body multiplied by
|
||||
acceleration
|
||||
|
||||
> 1st Law is a special case of 2nd
|
||||
|
||||
3. When one body exerts a force on another, 2nd body exerts force
|
||||
simultaneously of equal magnitude and opposite direction
|
||||
|
||||
## Equilibrium
|
||||
|
||||
- Body is in equilibrium if sum of all forces and moments acting on
|
||||
body are 0
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
### Example
|
||||
|
||||
Determine force $F$ and $x$ so that the body is in equilibrium.
|
||||
|
||||
</summary>
|
||||
|
||||

|
||||
|
||||
1. Check horizontal equilibrium
|
||||
|
||||
$\sum{F_x} = 0$
|
||||
|
||||
2. Check vertical equilibrium
|
||||
|
||||
$\sum{F_y} = 8 - 8 + F = 0$
|
||||
|
||||
$F = 2$
|
||||
|
||||
3. Take moments about any point
|
||||
|
||||
$\sum{M(A)} = 8\times{}2 - F(2+x) = 0$
|
||||
|
||||
$F(2+x) = 16)$
|
||||
|
||||
$x = 6$
|
||||
|
||||
</details>
|
||||
|
||||
## Free Body Diagrams
|
||||
|
||||
A free body diagram is a diagram of a single (free) body which shows all
|
||||
the external forces acting on the body.
|
||||
|
||||
Where there are several bodies or subcomponents interacting as a complex
|
||||
system, each body is drawn separately:
|
||||
|
||||

|
||||
|
||||
## Friction
|
||||
|
||||
- Arises between rough surfaces and always acts at right angles to the
|
||||
normal reaction force ($R$) in the direction to resist motion.
|
||||
- The maximum value of friction $F$ is $F_{max} = \mu{}R$, where
|
||||
$\mu{}$ is the friction coefficient
|
||||
- $F_{max}$ is also known as the point of slip
|
||||
|
||||
## Reactions at Supports
|
||||
|
||||
There are three kinds of supports frequently encountered in engineering
|
||||
problems:
|
||||
|
||||

|
||||
|
||||
## Principle of Force Transmissibility
|
||||
|
||||
A force can be move dalong line of action without affecting equilibrium
|
||||
of the body which it acts on:
|
||||
|
||||

|
||||
|
||||
This principle can be useful in determining moments.
|
||||
|
||||
## Two-Force Bodies
|
||||
|
||||
- If a body has only 2 forces, then the forces must be collinear,
|
||||
equal, and opposite:
|
||||
|
||||

|
||||
|
||||
> The forces must be collinear so a moment is not created
|
||||
|
||||
## Three-Force Bodies
|
||||
|
||||
- If a body in equilibrium has only three forces acting on it, then
|
||||
the lines of actions must go through one point:
|
||||
|
||||

|
||||
|
||||
> This is also to not create a moment
|
||||
|
||||
- The forces must form a closed triangle ($\sum{F} = 0$)
|
||||
|
||||
## Naming Conventions
|
||||
|
||||
<div class="tableWrapper">
|
||||
|
||||
| Term | Meaning |
|
||||
|----------------------|----------------------------------------------------------|
|
||||
| light | no mass |
|
||||
| heavy | body has mass |
|
||||
| smooth | there is no friction |
|
||||
| rough | contact has friction |
|
||||
| at the point of slip | one tangential reaction is $F_{max}$ |
|
||||
| roller | a support only creating normal reaction |
|
||||
| rigid pin | a support only providing normal and tangential reactions |
|
||||
| built-in | a support proviting two reaction components and a moment |
|
||||
|
||||
</div>
|
||||
|
||||
## Tips to Solve (Difficult) Problems
|
||||
|
||||
1. Make good quality clear and big sketches
|
||||
2. Label all forces, dimensions, relevant points
|
||||
3. Explain and show your thought process---write complete equations
|
||||
4. Follow standard conventions in equations and sketches
|
||||
5. Solve everything symbolically (algebraicly) until the end
|
||||
6. Check your answers make sense
|
||||
7. Don't forget the units
|
||||
|
||||
# Lecture L1.4
|
||||
|
||||
## Tension and Compression
|
||||
|
||||
- The convention in standard mechanical engineering problems is that positive values are for
|
||||
tension and negative values for compression
|
||||
- Members in tension can be replaces by cables, which can support tension but not compression
|
||||
- Resisting compression is harder as members in compression can buckle
|
||||
|
||||
## What is a Pin Joint?
|
||||
|
||||
- Pin jointed structures are structures where joints are pinned (free to rotate)
|
||||
- Pin joints are represented by a circle (pin) about which members are free to rotate:
|
||||
|
||||

|
||||
|
||||
- A pin joint transmits force but cannot carry a moment
|
||||
|
||||
## What is a Truss?
|
||||
|
||||
- Trusses are an assembly of many bars, which are pin jointed in design but do not rotate due to
|
||||
the geometry of the design. A pylon is a good example of this
|
||||
- Trusses are used in engineering to transfer forces through a structure
|
||||
- When pin jointed trusses are loaded at the pins, the bars are subjected to pure tensile or
|
||||
compressive forces.
|
||||
|
||||
These bars are two force members
|
||||
|
||||
## Equilibrium at the Joints
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
### Forces at A
|
||||
|
||||
$$\sum F_y(A) = \frac P 2 + T_{AB}\sin{\frac \pi 4} = 0 \rightarrow T_{AB} = -\frac P 2$$
|
||||
|
||||
\begin{align*}
|
||||
\sum F_x(A) &= T_{AB}\cos{\frac pi 4} + T_{AC} = 0 \\
|
||||
T_AC &= -\frac{-P} 2 \times \frac{\sqrt{2}} 2 = \frac P 2
|
||||
\end{align*}
|
||||
|
||||
### Forces at B
|
||||
|
||||
Add the information we just obtained from calculating forces at A:
|
||||
|
||||

|
||||
|
||||
And draw a free body diagram for the forces at B:
|
||||
|
||||

|
||||
|
||||
$$
|
||||
\sum F_y(B) = -\frac{-P} 2 \sin{\frac \pi 4} - T_{BC} = 0 \rightarrow
|
||||
T_{BC} = \frac P {\sqrt 2} \times \frac {\sqrt 2} 2 = \frac P 2
|
||||
$$
|
||||
|
||||
\begin{align*}
|
||||
\sum F_x(B) &= -\frac{-P}{\sqrt2}\cos{\frac \pi 4} + T_{BD} = 0 \\
|
||||
T_{BD} &= -\frac P 2
|
||||
\end{align*}
|
||||
|
||||
## Symmetry in Stuctures
|
||||
|
||||
Symmetry of bar forces in a pin jointed frame depends on to aspects:
|
||||
|
||||
1. Symmetry of the stucture
|
||||
2. Symmetry of the loading (forces applied)
|
||||
|
||||
Both conditions must be met to exploit symmetry.
|
||||
|
||||
# Lecture L1.5, L1.6
|
||||
|
||||
## Method of Sections
|
||||
|
||||
The method of sections is very useful to find a few forces inside a complex structure.
|
||||
|
||||
If an entire section is in equilibrium, so are discrete parts of the same structure.
|
||||
This means we an isolate substructures and draws free body diagrams for them.
|
||||
|
||||
We must add all the forces acting on the substructure.
|
||||
Then we make a virtua cut through some of the members, replacing them with forces.
|
||||
|
||||
Then we can write 3 equilibrium equations for the substructure:
|
||||
|
||||
1. 1 Horizontal, 1 vertical, and 1 moment equation
|
||||
2. Either horizonal or vertical and 2 moment equations
|
||||
3. 3 moment equations
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
### Example 1
|
||||
|
||||
</summary>
|
||||
|
||||
Draw a virtual cut through the structure, making sure to cut through all the bars whose forces
|
||||
you are trying to find:
|
||||
|
||||

|
||||
|
||||
Draw the free body diagram, substituting cut bars by forces:
|
||||
|
||||

|
||||
|
||||
As there are three unknown forces, we need three equilibrium equations.
|
||||
|
||||
#### First Equation: Moments about E
|
||||
|
||||
\begin{align*}
|
||||
\sum M(E) &= \frac P 2 \times 2L + T_{DF}L = 0 \\
|
||||
T_{DF} &= -P
|
||||
\end{align*}
|
||||
|
||||
#### Second Equation: Vertical Equilibrium
|
||||
|
||||
\begin{align*}
|
||||
\sum F_y &= \frac P 2 + T_{EF}\sin{\frac \pi 4} = 0 \\
|
||||
T_{EF} &= -\frac P {\sqrt2}
|
||||
\end{align*}
|
||||
|
||||
#### Third Equation: Horizontal Equilibrium
|
||||
|
||||
\begin{align*}
|
||||
\sum F_x = T_{DF} + T_{EF}\cos{\frac \pi 4} + T_{EG} = 0 \\
|
||||
T_{EG} = \frac {3P} 2
|
||||
\end{align*}
|
||||
|
||||
#### Taking Moments from Outside the Structure
|
||||
|
||||
If we only needed EG, we could have taken moments about point F, outside our substructure:
|
||||
|
||||

|
||||
|
||||
\begin{align*}
|
||||
\sum M(F) &= \frac P 2 \times 3L -T_{EG}L = 0 \\
|
||||
T_{EG} &= \frac {3P} 2
|
||||
\end{align*}
|
||||
|
||||
</details>
|
||||
|
||||
## Zero-Force Members
|
||||
|
||||

|
||||
|
||||
Consider the free body diagram for the joint at G:
|
||||
|
||||

|
||||
|
||||
$$\sum F_y(G) = T_{FG} = 0$$
|
||||
$$\sum F_x(G) = -T_{EG} + T_{GJ} = 0 \rightarrow T_{EG} = T_{GJ}$$
|
||||
|
||||
Meaning that the structure is effecively the same as this one:
|
||||
|
||||

|
||||
|
||||
Why was it there?
|
||||
|
||||
- The structure may be designed for other loading patterns
|
||||
- The bar may prevent the struture from becoming a mechanism
|
||||
- A zero force member may also be there to prevent buckling
|
||||
|
||||
## Externally Applied Moments
|
||||
|
||||
Externally applied moments are dealt with in the same way as external forces, but they only
|
||||
contribute to moment equations and not force equilibrium equations.
|
||||
|
||||
## Distributed Load
|
||||
|
||||
A distriuted load is applied uniformly to a bar or section of a bar.
|
||||
|
||||
It can be represented by a single force through the midpoint its midpoint.
|
||||
|
||||

|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
### Example 1
|
||||
|
||||
</summary>
|
||||
|
||||

|
||||
|
||||
Is equivalent to:
|
||||
|
||||

|
||||
|
||||
</details>
|
||||
|
||||
## Equivalent Loads
|
||||
|
||||
When loads are applied within a bar, as far as support reactions and bar forces in *other* bars
|
||||
are concered, we can determine *equivalent node forces* using equilibrium
|
||||
|
||||

|
||||
|
||||
# Lecture L1.6
|
||||
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
### Example 1
|
||||
|
||||
The figure shows a light roof truss loaded by a force $F = 90$ kN at 45\textdegree to the horizontal
|
||||
at point $B$.
|
||||
|
||||
</summary>
|
||||
|
||||

|
||||
|
||||
a. Find the reaction forces at A and D using equilibrium applied to the whole structure.
|
||||
|
||||
> 1. Add unknown quantities to the diagram
|
||||
>
|
||||
> 
|
||||
>
|
||||
> 2. Consider the number of unknowns --- there are 3 therefore 3 equations are needed
|
||||
> 3. Decide which equilibrium equation to start with
|
||||
>
|
||||
> Horizontal equilibrium:
|
||||
>
|
||||
> \begin{align*}
|
||||
\sum F_x &= R_{Ax} - F\cos45 = 0 \\
|
||||
R_{Ax} &= 63.6\text{ kN}
|
||||
> \end{align*}
|
||||
>
|
||||
> Vertical equilibrium:
|
||||
>
|
||||
> \begin{align*}
|
||||
\sum F_y &= R_{Ay} + R_{Dy} - F\sin = 0 \\
|
||||
R_{Ay} + R_{Dy} &= \frac{\sqrt2 F} 2
|
||||
> \end{align*}
|
||||
>
|
||||
> Moment equation:
|
||||
>
|
||||
> \begin{align*}
|
||||
> \sum M_{xy}(B) &= 4.5R_{Ay} - 4.5R_{Dy} - L_{BC}R_{Ax} = 0 \\
|
||||
> \frac{L_{BC}}{4.5} &= \tan30 = \frac 1 {\sqrt3} \rightarrow L_{BC} = 2.6 \\
|
||||
> \end{align*}
|
||||
>
|
||||
> 4. Solve for $R_{Ay}$
|
||||
>
|
||||
> \begin{align*}
|
||||
> 4.5R_{Ay} &= 4.5R_{Dy} + 2.6\times\frac{\sqrt2 F}{2} & R_{Dy} = \frac{\sqrt2 F}{2} - R_{Ay} \\
|
||||
> 4.5R_{Ay} &= 4.5\left(\frac{\sqrt2 F}{2} - R_{Ay}\right) + 2.6\times\frac{\sqrt2 F}{2} \\
|
||||
> R_{Ay} &= 0.56F = 50.2\text{ kN}
|
||||
> \end{align*}
|
||||
>
|
||||
> 5. Substitute to find $R_{Dy}$
|
||||
>
|
||||
> \begin{align*}
|
||||
> R_{Dy} = \frac{\sqrt2 F}{2} - R_{Ay} = (0.71-0.56)F = 13.3\text{ kN}\\
|
||||
> \end{align*}
|
||||
|
||||
|
||||
b. Use the graphical/trigonometric method o check your answer.
|
||||
|
||||
> Write the reaction at A as a single force with unknown direction:
|
||||
>
|
||||
> 
|
||||
>
|
||||
> When three forces act on an object in equilibrium, they must:
|
||||
>
|
||||
> 1. Make a triangle of forces
|
||||
> 2. Go through a single point
|
||||
>
|
||||
> So we can figure out the angle of $R_{A}$ by drawing it such that all the lines of action of
|
||||
> all forces go through the same point:
|
||||
>
|
||||
> 
|
||||
>
|
||||
> \begin{align*}
|
||||
L_{DE} &= L_{BC} = 2.6 \\
|
||||
L_{EG} &= \tan45\times L_{BE} = 4.5 \\
|
||||
L_{DE} &= 2.6+4.5 = 7.1 \\
|
||||
\\
|
||||
\tan\theta &= \frac{L_{DG}}{L_{AD}} = 0.79 \\
|
||||
\theta &= 38.27
|
||||
> \end{align*}
|
||||
>
|
||||
> Now draw the force triangle:
|
||||
>
|
||||
> 
|
||||
>
|
||||
> Using the sine rule we find out $R_A$ and $R_{Dy}$, which are $81.1$ kN and $13.4$ kN,
|
||||
> respectively.
|
||||
>
|
||||
> Now we can check our answers in part (a) and (b) are the same:
|
||||
>
|
||||
> - $R_{Dy} = 13.4$
|
||||
> - $R_{Ax} = 81.1\cos38.27 = 63.6$
|
||||
> - $R_{Ay} = 81.1\sin.27 = 50.2$
|
||||
>
|
||||
> The methods agree.
|
||||
|
||||
</details>
|
||||
|
||||
# Lecture L2.1
|
||||
|
||||
## Hooke's Law and Young's Modulus
|
||||
|
||||
Hooke's law states that the extension of an object experiencing a force is proportonal to the force.
|
||||
|
||||
We can generalize this to be more useful creating:
|
||||
|
||||
- Direct stress:
|
||||
|
||||
$$ \sigma = \frac F {A_0} $$
|
||||
|
||||
- Direct strain:
|
||||
|
||||
$$ \epsilon = \frac {\Delta L}{L_0} $$
|
||||
|
||||
Using these more generalized variables, Young defined Young's Modulus, $E$, which is a universal
|
||||
constant of stiffness of a material.
|
||||
|
||||
$$ \sigma = E\epsilon $$
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
#### Example 1
|
||||
|
||||
Calculating Young's Modulus of a Piece of Silicone
|
||||
|
||||
</summary>
|
||||
|
||||
\begin{align*}
|
||||
L_0 &= 4.64 \\
|
||||
w_0 &= 0.10 \\
|
||||
t_0 &= 150\times10^{-6} \\
|
||||
F &= 1.40\times9.81 \\
|
||||
L &= 6.33 \\
|
||||
w &= 0.086 \\
|
||||
t &= 125\times10^{-6} \\
|
||||
\\
|
||||
\sigma &= \frac F {A_0} = \frac F {w_0t_0} = \frac{1.4\times9.81}{0.1\times150\times10^{-6}} = 915600 \\
|
||||
\epsilon &= \frac{\Delta L}{L_0} = \frac{6.33 - 4.64}{4.64} = 0.36422...\\
|
||||
E &= \frac \sigma \epsilon = 2513836.686 = 2.5\times10^6 \text{ Pa}
|
||||
\end{align*}
|
||||
|
||||
</details>
|
||||
|
||||
## Stress Strain Curves
|
||||
|
||||

|
||||
|
||||
## Poisson's Ratio
|
||||
|
||||
For most materials, their cross sectionts change when they are stretched or compressed.
|
||||
This is to keep their volume constant.
|
||||
|
||||
$$ \epsilon_x = \frac {\Delta L}{L_0} $$
|
||||
$$ \epsilon_y = \frac {\Delta w}{w_0} $$
|
||||
$$ \epsilon_z = \frac {\Delta t}{t_0} $$
|
||||
|
||||
Poisson's ratio, $\nu$ (the greek letter _nu_, not v), is the ratio of lateral strain to axial
|
||||
strain:
|
||||
|
||||
$$ \nu = \frac{\epsilon_y}{\epsilon_x} = \frac{\epsilon_z}{\epsilon_x} $$
|
||||
|
||||
<details>
|
||||
<summary>
|
||||
|
||||
#### Example 1
|
||||
|
||||
Measuring Poisson's Ratio
|
||||
|
||||
</summary>
|
||||
|
||||
\begin{align*}
|
||||
L_0 &= 4.64 \\
|
||||
w_0 &= 0.10 \\
|
||||
t_0 &= 150\times10^{-6} \\
|
||||
\\
|
||||
L &= 6.33 \\
|
||||
w &= 0.086 \\
|
||||
t &= 125\times10^{-6} \\
|
||||
\\
|
||||
\epsilon_x &= \frac {\Delta L}{L_0} = 0.364 \\
|
||||
\epsilon_y &= \frac {\Delta w}{w_0} = -0.14 \\
|
||||
\epsilon_z &= \frac {\Delta t}{t_0} = -0.167 \\
|
||||
\\
|
||||
\nu_y &= \frac{\epsilon_y}{\epsilon_x} = \frac{-0.14}{0.364} = -0.38 \\
|
||||
\nu_z &= \frac{\epsilon_z}{\epsilon_x} = \frac{-0.167}{0.364} = -0.46 \\
|
||||
\end{align*}
|
||||
|
||||
It's supposed to be that $\nu_y = \nu_z$ but I guess it's close enough right? lol
|
||||
|
||||
</details>
|
||||
|
||||
## Typical Values of Young's Modulus and Poisson's Ratio
|
||||
|
||||
Material | Young's Modulus / GPa | Poisson's Ratio
|
||||
-------- | --------------------- | ---------------
|
||||
Steel | 210 | 0.29
|
||||
Aluminum | 69 | 0.34
|
||||
Concrete | 14 | 0.1
|
||||
Nylon | 3 | 0.4
|
||||
Rubber | 0.01 | 0.495
|
||||
|
||||
## Direct Stresses and Shear Stresses
|
||||
|
||||

|
||||
|
||||
- A direct stress acts normal to the surface
|
||||
- A shear stress acts tangential to the surface
|
||||
|
||||
Shear stress is defined in the same way as direct stress but given the symbol $tau$ (tau):
|
||||
|
||||
$$ \tau = \frac F A $$
|
||||
|
||||
Shear strain is defined as the shear angle $\gamma$:
|
||||
|
||||
$$ \gamma \approx \tan\gamma = {\frac x {L_0}} $$
|
||||
|
||||
The shear modulus, $G$, is like Young's Modulus but for shear forces:
|
||||
|
||||
$$ \tau = G\gamma $$
|
||||
|
||||
## Relationship between Young's Modulus and Shear Modulus
|
||||
|
||||
$$ G = \frac E {2(1+\nu)} $$
|
||||
|
||||
$G \approx \frac E 3$ is a good approximation in a lot of engineering cases
|
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 193 KiB |
After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 111 KiB |
After Width: | Height: | Size: 102 KiB |