1304 lines
72 KiB
Text
1304 lines
72 KiB
Text
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"id": "a8efe4e4-35a2-4bb6-899f-4804a759acf4",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"from pulp import *\n",
|
|
"import numpy as np\n",
|
|
"import math\n",
|
|
"import tqdm\n",
|
|
"import itertools\n",
|
|
"from matplotlib import pyplot as plt\n",
|
|
"%matplotlib inline"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"id": "b42474d5-df3f-49b0-bd28-c3bc2c2ffa94",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"40\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"/tmp/ipykernel_91261/1305871445.py:31: TqdmDeprecationWarning: This function will be removed in tqdm==5.0.0\n",
|
|
"Please use `tqdm.notebook.tqdm` instead of `tqdm.tqdm_notebook`\n",
|
|
" for node_assignments in tqdm.tqdm_notebook(list(itertools.product(enumerate_combinations(), repeat=total_switches))):\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "5601fb69f644476c9828c66cd7c3e9fa",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
" 0%| | 0/47458321 [00:00<?, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"ename": "KeyboardInterrupt",
|
|
"evalue": "",
|
|
"output_type": "error",
|
|
"traceback": [
|
|
"\u001b[31m---------------------------------------------------------------------------\u001b[39m",
|
|
"\u001b[31mKeyboardInterrupt\u001b[39m Traceback (most recent call last)",
|
|
"\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[2]\u001b[39m\u001b[32m, line 32\u001b[39m\n\u001b[32m 30\u001b[39m objective_values = {}\n\u001b[32m 31\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m node_assignments \u001b[38;5;129;01min\u001b[39;00m tqdm.tqdm_notebook(\u001b[38;5;28mlist\u001b[39m(itertools.product(enumerate_combinations(), repeat=total_switches))):\n\u001b[32m---> \u001b[39m\u001b[32m32\u001b[39m node_values = [\u001b[38;5;28;43msum\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43massy\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mfor\u001b[39;00m assy \u001b[38;5;129;01min\u001b[39;00m node_assignments]\n\u001b[32m 33\u001b[39m result = objective(node_values)\n\u001b[32m 34\u001b[39m objective_values[result] = node_assignments\n",
|
|
"\u001b[31mKeyboardInterrupt\u001b[39m: "
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"\n",
|
|
"e_series_base = [1.0, 2.2, 4.7]\n",
|
|
"decades = [1, 10]\n",
|
|
"value_catalog = [base*mul for mul in decades for base in e_series_base]\n",
|
|
"\n",
|
|
"# maximum number of sum elements in a single node\n",
|
|
"max_sum_n = 3\n",
|
|
"# total number of switched positions\n",
|
|
"total_switches = 4\n",
|
|
"\n",
|
|
"def objective(node_values):\n",
|
|
" node_values = list(sorted(node_values))\n",
|
|
" deltas = [ abs((b - a) / min(a, b) - 1.0) for a, b in zip(node_values, node_values[1:]) ]\n",
|
|
" return max(deltas)\n",
|
|
"\n",
|
|
"def enumerate_combinations(n=max_sum_n):\n",
|
|
" for i in range(1, n+1):\n",
|
|
" yield from itertools.combinations_with_replacement(value_catalog, i)\n",
|
|
"\n",
|
|
"def reject_combinations(it, tol=0.05):\n",
|
|
" it = list(sorted(it, key=len))\n",
|
|
" out = {}\n",
|
|
" for comb in it:\n",
|
|
" value = sum(comb)\n",
|
|
" if not any(abs(x/value - 1.0) < tol for x in out):\n",
|
|
" out[value] = comb\n",
|
|
" return list(out)\n",
|
|
"\n",
|
|
"print(len(list(reject_combinations(enumerate_combinations()))))\n",
|
|
"\n",
|
|
"objective_values = {}\n",
|
|
"for node_assignments in tqdm.tqdm_notebook(list(itertools.product(enumerate_combinations(), repeat=total_switches))):\n",
|
|
" node_values = [sum(assy) for assy in node_assignments]\n",
|
|
" result = objective(node_values)\n",
|
|
" objective_values[result] = node_assignments\n",
|
|
"\n",
|
|
"fig, ax = plt.subplots()\n",
|
|
"ax.plot(sorted(objective_values.keys()))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "d4c5b36f-2582-4547-8644-a9c32cbec630",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"objective_values[min(objective_values.keys())]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "67c388e7-4f64-462b-8309-ddd7d4bc04f1",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"def objective(node_values, v_min = min(value_catalog), v_max = max(value_catalog) * 1.2, n_samples = 50):\n",
|
|
" rms_sum = 0\n",
|
|
" for target in np.logspace(v_min, v_max, n_samples):\n",
|
|
" delta = math.inf\n",
|
|
"\n",
|
|
" for assignment in itertools.product([0, 1], repeat=total_switches):\n",
|
|
" assignment_value = sum(v * x for v, x in zip(node_values, assignment))\n",
|
|
" delta = min(delta, assignment_value)\n",
|
|
" \n",
|
|
" rms_sum += delta**2\n",
|
|
" rms_sum /= n_samples\n",
|
|
" return np.sqrt(rms_sum)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "aff170ff-94bb-45d0-93e6-2814b61352ca",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"\n",
|
|
"e_series_base = [1.0, 2.2, 4.7]\n",
|
|
"decades = [1, 10, 100, 1000]\n",
|
|
"value_catalog = [base*mul for mul in decades for base in e_series_base]\n",
|
|
"\n",
|
|
"# maximum number of sum elements in a single node\n",
|
|
"max_sum_n = 3\n",
|
|
"# total number of switched positions\n",
|
|
"total_switches = 10\n",
|
|
"\n",
|
|
"prob = LpProblem('Decade matrix optimization', LpMinimize)\n",
|
|
"\n",
|
|
"#constraints = []\n",
|
|
"#node_exprs = []\n",
|
|
"#for i in range(total_switches):\n",
|
|
"# variables = {LpVariable(f'sw{i}_n_{v:.1f}', lowBound=0, upBound=3, cat='Integer'): v for v in value_catalog}\n",
|
|
"# node_expression = LpAffineExpression(variables)\n",
|
|
"# node_constraint = lpSum(list(variables.keys())) <= max_sum_n\n",
|
|
"# constraints.append((node_constraint, f'cons_n{i}'))\n",
|
|
"# node_exprs.append(node_expression)\n",
|
|
"\n",
|
|
"max_deviation = LpVariable('max_dev')\n",
|
|
"probe_points = 50\n",
|
|
"choice_vars = LpVariable.dicts('choice', (range(probe_points), range(total_switches)), cat='Binary')\n",
|
|
"for i, target in enumerate(np.logspace(min(value_catalog), max(value_catalog)*1.2, probe_points)):\n",
|
|
" choice_obj = lpSum([choice_vars[i][j] * node_values[j] for j in range(total_switches)])\n",
|
|
" choice_dev = choice_obj - target\n",
|
|
" prob += choice_dev <= max_deviation\n",
|
|
"\n",
|
|
"for cons in constraints:\n",
|
|
" prob += cons\n",
|
|
"\n",
|
|
"prob.writeLP('decade.lp')\n",
|
|
"prob.solve()\n",
|
|
"\n",
|
|
"LpStatus[prob.status]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "f482f57b-e081-4ab1-abd5-dbaea040865f",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"\n",
|
|
"prob = LpProblem('Decade matrix optimization', LpMinimize)\n",
|
|
"\n",
|
|
"constraints = []\n",
|
|
"node_exprs = []\n",
|
|
"for i in range(total_switches)\n",
|
|
" variables = {LpVariable(f'sw{i}_n_{v:.1f}', lowBound=0, upBound=3, cat='Integer'): v for v in values}\n",
|
|
" node_expression = LpAffineExpression(variables)\n",
|
|
" node_constraint = lpSum(list(variables.keys())) <= max_sum_n\n",
|
|
" constraints.append((node_constraint, f'cons_n{i}'))\n",
|
|
" node_exprs.append(node_expression)\n",
|
|
"\n",
|
|
"probe_points = 50\n",
|
|
"choice_vars = LpVariable.dicts('Choice', (probe_points, total_switches), cat='Binary')\n",
|
|
"choice_obj = lpSum(choice_vars[i][j] * node_exprs[j]\n",
|
|
"\n",
|
|
"for cons in constraints:\n",
|
|
" prob += cons\n",
|
|
"\n",
|
|
"prob.writeLP('decade.lp')\n",
|
|
"prob.solve()\n",
|
|
"\n",
|
|
"LpStatus[prob.status]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "976e724b-9df4-4cc4-a4a4-dc9b027f240c",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"\n",
|
|
"e_series_base = [1.0]\n",
|
|
"decades = [1, 10, 100, 1000, 10000]\n",
|
|
"value_catalog = [base*mul for mul in decades for base in e_series_base]\n",
|
|
"value_catalog = [0, *value_catalog, math.inf]\n",
|
|
"\n",
|
|
"# maximum number of elements in a single node\n",
|
|
"max_elements = 3\n",
|
|
"\n",
|
|
"topologies = ['ss', 'sp', 'pp']\n",
|
|
"found_values = []\n",
|
|
"\n",
|
|
"def series(a, b):\n",
|
|
" if math.isclose(a, 0) or math.isclose(b, 0):\n",
|
|
" return 0\n",
|
|
" if not math.isfinite(a):\n",
|
|
" return b\n",
|
|
" if not math.isfinite(b):\n",
|
|
" return a\n",
|
|
" return 1 / (1/a + 1/b)\n",
|
|
"\n",
|
|
"def parallel(a, b):\n",
|
|
" return a + b\n",
|
|
"\n",
|
|
"for assignment in itertools.combinations_with_replacement(value_catalog, max_elements):\n",
|
|
" a, b, c = assignment\n",
|
|
" for topo in topologies:\n",
|
|
" if topo[0] == 's':\n",
|
|
" im = series(a, b)\n",
|
|
" else:\n",
|
|
" if not math.isfinite(a) or not math.isfinite(b):\n",
|
|
" continue\n",
|
|
" im = parallel(a, b)\n",
|
|
"\n",
|
|
" if topo[1] == 's':\n",
|
|
" out = series(im, c)\n",
|
|
" else:\n",
|
|
" if not math.isfinite(c):\n",
|
|
" continue\n",
|
|
" out = parallel(im, c)\n",
|
|
" \n",
|
|
" found_values.append((out, topo, assignment))\n",
|
|
"\n",
|
|
"for i in range(20):\n",
|
|
" target = 2**i\n",
|
|
" results = list(sorted(found_values, key=lambda x: abs(target - x[0])))\n",
|
|
" print(f'=== Target: {target:.1f} ===')\n",
|
|
" for out, topo, assignment in results[:3]:\n",
|
|
" a, b, c = assignment\n",
|
|
" print(f'{out:>6.1f} (+/- {abs(target/out - 1.0)*100:>6.2f} %) {topo} {a:>6.1f} {b:>6.1f} {c:>6.1f}')\n",
|
|
" print()\n",
|
|
"\n",
|
|
"found_values = list(sorted(found_values, key=lambda x: x[0]))\n",
|
|
"fig, ax = plt.subplots()\n",
|
|
"ax.scatter([x[0] for x in found_values], [x[0] for x in found_values])\n",
|
|
"ax.set_xscale('log')\n",
|
|
"ax.set_yscale('log')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "ffa56679-99cf-4310-80fb-3f42394436bf",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"vals = [0.5 * 2**i for i in range(9)]\n",
|
|
"foo = list(sorted([1/(1/10 + sum((1/vals[i]) * int(bool(j & (1<<i))) for i in range(len(vals)))) for j in range(2**len(vals))]))\n",
|
|
"print(min(foo))\n",
|
|
"print(' '.join([f'{x:.2f}' for x in foo[-128:]]))\n",
|
|
"fig, ax = plt.subplots()\n",
|
|
"ax.plot(foo)\n",
|
|
"ax.axhline(1)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "967937c7-9e83-4d75-b696-8a6200dc6736",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"unit_steps = [0.1, 0.1*16, 0.1*16*16]\n",
|
|
"bits = 9\n",
|
|
"last = 0\n",
|
|
"for unit in unit_steps:\n",
|
|
" print(f'{unit:.1f} range {last:.1f} ... {last + unit * 2**bits:.1f} [nF]')\n",
|
|
" last += unit * 2**bits"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "13fe673a-7b70-469e-a293-1d21b95cb646",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Design values\n",
|
|
"\n",
|
|
"## Capacitor selection\n",
|
|
"\n",
|
|
"all >= 50 V\n",
|
|
"\n",
|
|
"### SMD C0G MLCC\n",
|
|
"* Yageo CC0402FRNPO9BN101 (C327198) 100 pF 1% C0G 0402 @ 0.01 USD\n",
|
|
"* Yageo CC0603FRNPO9BN102 (C309468) 1 nF 1% C0G 0603 @ 0.01 USD\n",
|
|
"* Yageo CC0603JRNPO9BN103 (C389113) 10 nF 5% C0G 0603 @ 0.01 USD\n",
|
|
"* Murata GRM31C5C1H104JA01L (C97946) 100 nF 5% C0G 1206 @ 0.10 USD\n",
|
|
"\n",
|
|
"## THT MPP\n",
|
|
"* Kyet MPP155J2S1001 (C42396643) 1.5 µF 5% MPP P10mm @ 0.26 USD\n",
|
|
"* DGCX MPP305KE2A130B200ZR (C46596153) 3 µF 10% MPP P20mm @ 0.10 USD\n",
|
|
"* Xiamen Faratronic C252A565J60C000 (C401286) 5.5 µF 5% MPF P15mm @ 0.70 USD\n",
|
|
"\n",
|
|
"## THT alternative (WIMA/Reichelt)\n",
|
|
"* (MKS2-63 1,0µ) MKS2 PET-Kondensator, 1,0 µF, 5 %, 63 VDC, RM 5 @ 0.50 EUR\n",
|
|
"* (MKS2-63 1,5µ) MKS2 PET-Kondensator, 1,5 µF, 5 %, 63 VDC, RM 5 @ 0.70 EUR\n",
|
|
"* (MKS4-63 4,7µ) MKS4 PET-Kondensator, 4,7 µF, 10 %, 63 VDC, RM 15@ 1.00 EUR\n",
|
|
"\n",
|
|
"| Value | Range A | Range B | Range C |\n",
|
|
"|--------|---------|---------|---------|\n",
|
|
"| 0.1 | a1 | | |\n",
|
|
"| 0.2 | a2 | | |\n",
|
|
"| 0.4 | a3 | | |\n",
|
|
"| 0.8 | a4 | | |\n",
|
|
"| 1.6 | a5 | b1 | |\n",
|
|
"| 3.2 | a6 | b2 | |\n",
|
|
"| 6.4 | a7 | b3 | |\n",
|
|
"| 12.8 | a8 | b4 | |\n",
|
|
"| 25.6 | a9 | b5 | c1 |\n",
|
|
"| 51.2 | | b6 | c2 |\n",
|
|
"| 102.4 | | b7 | c3 |\n",
|
|
"| 204.8 | | b8 | c4 |\n",
|
|
"| 409.6 | | b9 | c5 |\n",
|
|
"| 819.2 | | | c6 |\n",
|
|
"| 1638.4 | | | c7 |\n",
|
|
"| 3276.8 | | | c8 |\n",
|
|
"| 6553.6 | | | c9 |"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "32aaf9a4-3cf0-4b98-bfc5-e9ef72647521",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Relay Assignment\n",
|
|
"\n",
|
|
"| Relay | Range A | Range B | Range C |\n",
|
|
"|-------|---------|---------|-----------|\n",
|
|
"| K1 | 0.1 | 1.6 | 819.2 |\n",
|
|
"| K2 | 0.2 | 3.2 | 1638.4 |\n",
|
|
"| K3 | 0.4 | 6.4 | 3276.8 |\n",
|
|
"| K4 | 0.8 | 12.8 | 6553.6 |\n",
|
|
"| K5 | 1.6 | 25.6 | 25.7 (J) |\n",
|
|
"| K6 | 3.2 | 51.2 | 51.2 (J) |\n",
|
|
"| K7 | 6.4 | 102.4 | 102.4 (J) |\n",
|
|
"| K8 | 12.8 | 204.8 | 204.8 (J) |\n",
|
|
"| K9 | 25.6 | 409.6 | 409.6 (J) |"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"id": "92fe0a32-df3d-4aea-99d5-fcf207f244b3",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Max capacitance for target capacitance 1.6 µF at 5% tol: 1.560 µF, at 10 % tol: 1.489 µF.\n",
|
|
"Max capacitance for target capacitance 3.3 µF at 5% tol: 3.121 µF, at 10 % tol: 2.979 µF.\n",
|
|
"Max capacitance for target capacitance 6.6 µF at 5% tol: 6.242 µF, at 10 % tol: 5.958 µF.\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"for C in [1638.4, 3276.8, 6553.6]:\n",
|
|
" print(f'Max capacitance for target capacitance {C/1000:.1f} µF at 5% tol: {C/1.05/1000:.3f} µF, at 10 % tol: {C/1.10/1000:.3f} µF.')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 52,
|
|
"id": "ddb4a284-f2da-4a85-8514-dc6639bf524b",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"===== target=0.1 nF =====\n",
|
|
"[0.1]\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"/tmp/ipykernel_91324/2722939843.py:53: TqdmDeprecationWarning: This function will be removed in tqdm==5.0.0\n",
|
|
"Please use `tqdm.notebook.tqdm` instead of `tqdm.tqdm_notebook`\n",
|
|
" for n_caps, program in tqdm.tqdm_notebook(programs):\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "bccaaaf304434c88aea8c793a7dc343c",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
" 0%| | 0/1815 [00:00<?, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"low=0.099 nF high=0.101 nF program=[0] [0.1]\n",
|
|
"===== target=0.2 nF =====\n",
|
|
"[0.1]\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "9f9754508fb548b18ad0f7381e0dc76f",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
" 0%| | 0/1815 [00:00<?, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"low=0.198 nF high=0.202 nF program=[0, 1, '+'] [0.1, 0.1]\n",
|
|
"low=0.173 nF high=0.177 nF program=[0, 1, 2, '+', 3, '+', 4, '*', '+'] [0.1, 0.1, 0.1, 0.1, 0.1]\n",
|
|
"===== target=0.4 nF =====\n",
|
|
"[0.1]\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "29761397c9474e169771c40af85ba088",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
" 0%| | 0/1815 [00:00<?, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"low=0.396 nF high=0.404 nF program=[0, 1, 2, 3, '+', '+', '+'] [0.1, 0.1, 0.1, 0.1]\n",
|
|
"low=0.347 nF high=0.354 nF program=[0, 1, 2, 3, 4, '+', '*', '+', '+'] [0.1, 0.1, 0.1, 0.1, 0.1]\n",
|
|
"===== target=0.8 nF =====\n",
|
|
"[0.1, 1.0]\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "2634810ff4f64a6dbd6f15c47bc8e6e0",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
" 0%| | 0/1815 [00:00<?, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"low=0.703 nF high=0.717 nF program=[0, 1, 2, 3, '+', '+', '*'] [0.1, 1.0, 1.0, 1.0]\n",
|
|
"low=0.693 nF high=0.707 nF program=[0, 1, 2, 3, '+', '*', '+'] [0.1, 0.1, 1.0, 1.0]\n",
|
|
"low=0.742 nF high=0.758 nF program=[0, 1, 2, '+', 3, '+', '*'] [1.0, 1.0, 1.0, 1.0]\n",
|
|
"low=0.759 nF high=0.774 nF program=[0, 1, 2, '+', 3, '*', '+'] [1.0, 1.0, 1.0, 0.1]\n",
|
|
"low=0.715 nF high=0.729 nF program=[0, 1, 2, 3, 4, '+', '+', '+', '*'] [0.1, 1.0, 0.1, 1.0, 1.0]\n",
|
|
"low=0.717 nF high=0.731 nF program=[0, 1, 2, 3, 4, '+', '+', '*', '+'] [0.1, 1.0, 0.1, 0.1, 1.0]\n",
|
|
"low=0.792 nF high=0.808 nF program=[0, 1, 2, 3, 4, '+', '*', '+', '+'] [0.1, 0.1, 1.0, 1.0, 0.1]\n",
|
|
"low=0.710 nF high=0.724 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [1.0, 1.0, 0.1, 0.1, 1.0]\n",
|
|
"low=0.750 nF high=0.765 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [1.0, 1.0, 0.1, 1.0, 1.0]\n",
|
|
"low=0.682 nF high=0.695 nF program=[0, 1, 2, 3, 4, '*', '+', '+', '*'] [0.1, 0.1, 1.0, 1.0, 1.0]\n",
|
|
"low=0.699 nF high=0.713 nF program=[0, 1, 2, 3, 4, '*', '+', '+', '*'] [0.1, 1.0, 1.0, 1.0, 1.0]\n",
|
|
"low=0.684 nF high=0.698 nF program=[0, 1, 2, 3, 4, '*', '*', '+', '+'] [0.1, 1.0, 1.0, 1.0, 0.1]\n",
|
|
"low=0.681 nF high=0.694 nF program=[0, 1, 2, 3, '+', '+', 4, '+', '*'] [0.1, 0.1, 1.0, 1.0, 1.0]\n",
|
|
"low=0.749 nF high=0.764 nF program=[0, 1, 2, 3, '+', '+', 4, '+', '*'] [0.1, 1.0, 1.0, 1.0, 1.0]\n",
|
|
"low=0.707 nF high=0.721 nF program=[0, 1, 2, 3, '+', '*', 4, '+', '*'] [1.0, 1.0, 1.0, 1.0, 1.0]\n",
|
|
"low=0.770 nF high=0.785 nF program=[0, 1, 2, '+', 3, '+', 4, '*', '+'] [0.1, 1.0, 1.0, 1.0, 0.1]\n",
|
|
"===== target=1.6 nF =====\n",
|
|
"[0.1, 1.0]\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "554dade752cc4549b64989ccecd4f8b8",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
" 0%| | 0/1815 [00:00<?, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"low=1.485 nF high=1.515 nF program=[0, 1, 2, '*', '+'] [1.0, 1.0, 1.0]\n",
|
|
"low=1.584 nF high=1.616 nF program=[0, 1, 2, 3, '+', '*', '+'] [0.1, 1.0, 1.0, 1.0]\n",
|
|
"low=1.509 nF high=1.539 nF program=[0, 1, 2, '+', 3, '*', '+'] [0.1, 1.0, 1.0, 1.0]\n",
|
|
"low=1.386 nF high=1.414 nF program=[0, 1, 2, 3, 4, '+', '+', '+', '+'] [0.1, 0.1, 0.1, 0.1, 1.0]\n",
|
|
"low=1.419 nF high=1.448 nF program=[0, 1, 2, 3, 4, '*', '+', '*', '+'] [1.0, 1.0, 0.1, 1.0, 1.0]\n",
|
|
"low=1.534 nF high=1.566 nF program=[0, 1, 2, 3, 4, '*', '*', '+', '+'] [0.1, 0.1, 1.0, 1.0, 1.0]\n",
|
|
"low=1.575 nF high=1.607 nF program=[0, 1, 2, 3, 4, '*', '*', '+', '+'] [0.1, 1.0, 1.0, 1.0, 1.0]\n",
|
|
"low=1.530 nF high=1.561 nF program=[0, 1, 2, '+', 3, '+', 4, '*', '+'] [0.1, 0.1, 1.0, 1.0, 1.0]\n",
|
|
"low=1.497 nF high=1.527 nF program=[0, 1, 2, '*', 3, '+', 4, '*', '+'] [0.1, 0.1, 1.0, 1.0, 1.0]\n",
|
|
"low=1.507 nF high=1.537 nF program=[0, 1, 2, '*', 3, '+', 4, '*', '+'] [0.1, 1.0, 1.0, 1.0, 1.0]\n",
|
|
"low=1.361 nF high=1.389 nF program=[0, 1, 2, '*', 3, '+', 4, '*', '+'] [1.0, 1.0, 0.1, 1.0, 1.0]\n",
|
|
"===== target=3.2 nF =====\n",
|
|
"[0.1, 1.0]\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "544194ededb2439fa2ef90768955819e",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
" 0%| | 0/1815 [00:00<?, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"low=2.970 nF high=3.030 nF program=[0, 1, 2, '+', '+'] [1.0, 1.0, 1.0]\n",
|
|
"low=3.069 nF high=3.131 nF program=[0, 1, 2, 3, '+', '+', '+'] [0.1, 1.0, 1.0, 1.0]\n",
|
|
"low=3.168 nF high=3.232 nF program=[0, 1, 2, 3, 4, '+', '+', '+', '+'] [0.1, 0.1, 1.0, 1.0, 1.0]\n",
|
|
"low=3.019 nF high=3.081 nF program=[0, 1, 2, 3, 4, '+', '*', '+', '+'] [1.0, 1.0, 0.1, 0.1, 1.0]\n",
|
|
"low=3.060 nF high=3.122 nF program=[0, 1, 2, 3, 4, '+', '*', '+', '+'] [1.0, 1.0, 0.1, 1.0, 1.0]\n",
|
|
"===== target=6.4 nF =====\n",
|
|
"[0.1, 1.0, 10.0]\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "c1db5b556e5f48469edf059bcb63b04f",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
" 0%| | 0/1815 [00:00<?, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"low=5.740 nF high=6.260 nF program=[0, 1, 2, '*', '+'] [10.0, 10.0, 1.0]\n",
|
|
"low=5.839 nF high=6.361 nF program=[0, 1, 2, 3, '+', '*', '+'] [0.1, 1.0, 10.0, 10.0]\n",
|
|
"low=5.647 nF high=6.171 nF program=[0, 1, 2, 3, '*', '*', '+'] [1.0, 10.0, 10.0, 10.0]\n",
|
|
"low=5.765 nF high=6.285 nF program=[0, 1, 2, '+', 3, '*', '+'] [0.1, 10.0, 10.0, 1.0]\n",
|
|
"low=5.700 nF high=6.300 nF program=[0, 1, 2, '*', 3, '+', '*'] [10.0, 10.0, 10.0, 10.0]\n",
|
|
"low=5.481 nF high=5.997 nF program=[0, 1, 2, 3, 4, '+', '+', '+', '*'] [1.0, 1.0, 1.0, 10.0, 10.0]\n",
|
|
"low=5.864 nF high=6.386 nF program=[0, 1, 2, 3, 4, '+', '+', '*', '+'] [0.1, 10.0, 0.1, 1.0, 10.0]\n",
|
|
"low=5.938 nF high=6.462 nF program=[0, 1, 2, 3, 4, '+', '*', '+', '+'] [0.1, 0.1, 10.0, 10.0, 1.0]\n",
|
|
"low=5.727 nF high=6.255 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [0.1, 1.0, 10.0, 10.0, 10.0]\n",
|
|
"low=5.671 nF high=6.197 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [0.1, 10.0, 1.0, 10.0, 10.0]\n",
|
|
"low=5.647 nF high=6.172 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [0.1, 10.0, 10.0, 10.0, 1.0]\n",
|
|
"low=5.480 nF high=5.996 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [1.0, 10.0, 1.0, 1.0, 10.0]\n",
|
|
"low=5.882 nF high=6.412 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [1.0, 10.0, 1.0, 10.0, 10.0]\n",
|
|
"low=5.655 nF high=6.179 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [1.0, 10.0, 10.0, 10.0, 1.0]\n",
|
|
"low=5.691 nF high=6.214 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [10.0, 10.0, 10.0, 10.0, 1.0]\n",
|
|
"low=5.735 nF high=6.336 nF program=[0, 1, 2, 3, 4, '*', '+', '+', '*'] [10.0, 10.0, 0.1, 10.0, 10.0]\n",
|
|
"low=5.790 nF high=6.311 nF program=[0, 1, 2, 3, 4, '*', '*', '+', '+'] [0.1, 0.1, 10.0, 10.0, 1.0]\n",
|
|
"low=5.830 nF high=6.352 nF program=[0, 1, 2, 3, 4, '*', '*', '+', '+'] [0.1, 1.0, 10.0, 10.0, 1.0]\n",
|
|
"low=5.838 nF high=6.360 nF program=[0, 1, 2, 3, 4, '*', '*', '+', '+'] [0.1, 10.0, 10.0, 10.0, 1.0]\n",
|
|
"low=5.746 nF high=6.272 nF program=[0, 1, 2, 3, 4, '*', '*', '+', '+'] [1.0, 10.0, 10.0, 10.0, 0.1]\n",
|
|
"low=5.569 nF high=6.097 nF program=[0, 1, 2, 3, 4, '*', '*', '*', '+'] [1.0, 10.0, 10.0, 10.0, 10.0]\n",
|
|
"low=5.716 nF high=6.316 nF program=[0, 1, 2, 3, '+', '*', 4, '+', '*'] [0.1, 10.0, 10.0, 10.0, 10.0]\n",
|
|
"low=5.852 nF high=6.456 nF program=[0, 1, 2, 3, '+', '*', 4, '+', '*'] [1.0, 10.0, 10.0, 10.0, 10.0]\n",
|
|
"low=5.789 nF high=6.310 nF program=[0, 1, 2, '+', 3, '+', 4, '*', '+'] [0.1, 0.1, 10.0, 10.0, 1.0]\n",
|
|
"low=5.704 nF high=6.304 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [0.1, 10.0, 10.0, 10.0, 10.0]\n",
|
|
"low=5.737 nF high=6.338 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [1.0, 10.0, 10.0, 10.0, 10.0]\n",
|
|
"low=5.752 nF high=6.273 nF program=[0, 1, 2, '*', 3, '+', 4, '*', '+'] [0.1, 0.1, 10.0, 10.0, 1.0]\n",
|
|
"low=5.762 nF high=6.283 nF program=[0, 1, 2, '*', 3, '+', 4, '*', '+'] [0.1, 1.0, 10.0, 10.0, 1.0]\n",
|
|
"low=5.764 nF high=6.285 nF program=[0, 1, 2, '*', 3, '+', 4, '*', '+'] [0.1, 10.0, 10.0, 10.0, 1.0]\n",
|
|
"low=5.861 nF high=6.383 nF program=[0, 1, 2, '*', 3, '+', 4, '*', '+'] [1.0, 1.0, 10.0, 10.0, 1.0]\n",
|
|
"low=5.799 nF high=6.401 nF program=[0, 1, 2, '*', 3, '+', 4, '*', '+'] [10.0, 10.0, 10.0, 10.0, 0.1]\n",
|
|
"===== target=12.8 nF =====\n",
|
|
"[1.0, 10.0]\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "f19d8dc6ec6b46ca894bcb0d95bad89f",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
" 0%| | 0/1815 [00:00<?, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"low=11.480 nF high=12.520 nF program=[0, 1, 2, '+', '+'] [1.0, 1.0, 10.0]\n",
|
|
"low=10.985 nF high=12.015 nF program=[0, 1, 2, 3, '+', '*', '+'] [1.0, 10.0, 1.0, 1.0]\n",
|
|
"low=11.387 nF high=12.431 nF program=[0, 1, 2, 3, '+', '*', '+'] [1.0, 10.0, 1.0, 10.0]\n",
|
|
"low=11.139 nF high=12.194 nF program=[0, 1, 2, '+', 3, '*', '+'] [1.0, 1.0, 10.0, 10.0]\n",
|
|
"low=11.400 nF high=12.600 nF program=[0, 1, 2, 3, 4, '+', '+', '+', '*'] [10.0, 10.0, 10.0, 10.0, 10.0]\n",
|
|
"low=11.150 nF high=12.183 nF program=[0, 1, 2, 3, 4, '+', '+', '*', '+'] [1.0, 1.0, 1.0, 10.0, 1.0]\n",
|
|
"low=11.395 nF high=12.439 nF program=[0, 1, 2, 3, 4, '+', '+', '*', '+'] [1.0, 10.0, 1.0, 10.0, 1.0]\n",
|
|
"low=11.431 nF high=12.474 nF program=[0, 1, 2, 3, 4, '+', '+', '*', '+'] [10.0, 10.0, 1.0, 10.0, 1.0]\n",
|
|
"low=11.083 nF high=12.250 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [10.0, 10.0, 10.0, 10.0, 10.0]\n",
|
|
"low=10.960 nF high=11.992 nF program=[0, 1, 2, 3, 4, '*', '+', '*', '+'] [1.0, 1.0, 1.0, 10.0, 10.0]\n",
|
|
"low=11.309 nF high=12.357 nF program=[0, 1, 2, 3, 4, '*', '+', '*', '+'] [1.0, 10.0, 1.0, 10.0, 10.0]\n",
|
|
"low=10.892 nF high=11.926 nF program=[0, 1, 2, 3, 4, '*', '*', '+', '+'] [1.0, 1.0, 1.0, 10.0, 10.0]\n",
|
|
"low=11.293 nF high=12.343 nF program=[0, 1, 2, 3, 4, '*', '*', '+', '+'] [1.0, 10.0, 1.0, 10.0, 10.0]\n",
|
|
"low=11.166 nF high=12.218 nF program=[0, 1, 2, 3, '+', '+', 4, '*', '+'] [1.0, 1.0, 1.0, 10.0, 10.0]\n",
|
|
"low=10.897 nF high=11.959 nF program=[0, 1, 2, 3, '+', '*', 4, '*', '+'] [1.0, 1.0, 10.0, 10.0, 10.0]\n",
|
|
"low=11.763 nF high=12.851 nF program=[0, 1, 2, '+', 3, '+', 4, '*', '+'] [1.0, 1.0, 1.0, 10.0, 10.0]\n",
|
|
"low=11.074 nF high=12.131 nF program=[0, 1, 2, '*', 3, '+', 4, '*', '+'] [1.0, 10.0, 1.0, 10.0, 10.0]\n",
|
|
"===== target=25.6 nF =====\n",
|
|
"[1.0, 10.0]\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "80dfbd2727c647e09d67a9a9148b3126",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
" 0%| | 0/1815 [00:00<?, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"low=21.970 nF high=24.030 nF program=[0, 1, 2, 3, 4, '+', '+', '+', '+'] [1.0, 1.0, 1.0, 10.0, 10.0]\n",
|
|
"low=22.167 nF high=24.500 nF program=[0, 1, 2, 3, 4, '*', '+', '*', '+'] [10.0, 10.0, 10.0, 10.0, 10.0]\n",
|
|
"===== target=51.2 nF =====\n",
|
|
"[1.0, 10.0, 100.0]\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "5cac7535581943f8b8cf7404d5a64c12",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
" 0%| | 0/1815 [00:00<?, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"low=43.846 nF high=48.462 nF program=[0, 1, 2, 3, 4, '*', '+', '+', '*'] [100.0, 100.0, 100.0, 100.0, 10.0]\n",
|
|
"low=45.125 nF high=49.875 nF program=[0, 1, 2, '*', 3, '+', 4, '*', '+'] [100.0, 100.0, 10.0, 100.0, 10.0]\n",
|
|
"===== target=102.4 nF =====\n",
|
|
"[10.0, 100.0]\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "be43ae1029f04d0199752e1a31abf9fe",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
" 0%| | 0/1815 [00:00<?, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"===== target=204.8 nF =====\n",
|
|
"[10.0, 100.0]\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "2c5634c0ae1646eab1543d39881237ca",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
" 0%| | 0/1815 [00:00<?, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"===== target=409.6 nF =====\n",
|
|
"[10.0, 100.0, 1000.0]\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "2c6fb6b1e5b1480aaff370ff816b4cd3",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
" 0%| | 0/1815 [00:00<?, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"low=356.250 nF high=393.750 nF program=[0, 1, 2, '*', 3, '+', '*'] [1000.0, 1000.0, 100.0, 1000.0]\n",
|
|
"low=348.333 nF high=385.000 nF program=[0, 1, 2, 3, 4, '+', '+', '*', '+'] [100.0, 100.0, 100.0, 100.0, 1000.0]\n",
|
|
"low=371.364 nF high=410.455 nF program=[0, 1, 2, 3, 4, '+', '*', '+', '+'] [100.0, 100.0, 100.0, 1000.0, 100.0]\n",
|
|
"low=357.578 nF high=395.217 nF program=[0, 1, 2, 3, 4, '*', '+', '+', '*'] [1000.0, 1000.0, 10.0, 1000.0, 100.0]\n",
|
|
"low=368.824 nF high=407.647 nF program=[0, 1, 2, 3, 4, '*', '+', '+', '*'] [1000.0, 1000.0, 100.0, 1000.0, 100.0]\n",
|
|
"low=364.167 nF high=402.500 nF program=[0, 1, 2, 3, 4, '*', '*', '*', '+'] [1000.0, 1000.0, 100.0, 100.0, 1000.0]\n",
|
|
"low=359.938 nF high=397.826 nF program=[0, 1, 2, 3, '+', '*', 4, '+', '*'] [10.0, 100.0, 1000.0, 1000.0, 1000.0]\n",
|
|
"low=352.857 nF high=390.000 nF program=[0, 1, 2, 3, '*', '*', 4, '+', '*'] [100.0, 1000.0, 1000.0, 1000.0, 1000.0]\n",
|
|
"low=357.172 nF high=394.769 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [10.0, 1000.0, 1000.0, 100.0, 1000.0]\n",
|
|
"low=364.956 nF high=403.372 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [100.0, 1000.0, 1000.0, 100.0, 1000.0]\n",
|
|
"low=365.750 nF high=404.250 nF program=[0, 1, 2, '*', 3, '+', 4, '*', '+'] [1000.0, 1000.0, 100.0, 1000.0, 10.0]\n",
|
|
"===== target=819.2 nF =====\n",
|
|
"[10.0, 100.0, 1000.0, 1500.0]\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "8b7c90a5915445e69baba0fa7bb0478f",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
" 0%| | 0/1815 [00:00<?, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"low=712.500 nF high=787.500 nF program=[0, 1, '*'] [1500.0, 1500.0]\n",
|
|
"low=714.867 nF high=790.116 nF program=[0, 1, 2, '+', '*'] [10.0, 1500.0, 1500.0]\n",
|
|
"low=735.484 nF high=812.903 nF program=[0, 1, 2, '+', '*'] [100.0, 1500.0, 1500.0]\n",
|
|
"low=722.000 nF high=798.000 nF program=[0, 1, 2, '*', '+'] [1500.0, 1500.0, 10.0]\n",
|
|
"low=717.830 nF high=793.392 nF program=[0, 1, 2, 3, '+', '+', '*'] [10.0, 1000.0, 1500.0, 1500.0]\n",
|
|
"low=717.250 nF high=792.750 nF program=[0, 1, 2, 3, '+', '+', '*'] [10.0, 1500.0, 10.0, 1500.0]\n",
|
|
"low=738.006 nF high=815.691 nF program=[0, 1, 2, 3, '+', '+', '*'] [10.0, 1500.0, 100.0, 1500.0]\n",
|
|
"low=725.694 nF high=802.083 nF program=[0, 1, 2, 3, '+', '+', '*'] [100.0, 1000.0, 1000.0, 1500.0]\n",
|
|
"low=731.500 nF high=808.500 nF program=[0, 1, 2, 3, '+', '*', '+'] [10.0, 10.0, 1500.0, 1500.0]\n",
|
|
"low=721.136 nF high=797.045 nF program=[0, 1, 2, 3, '*', '*', '+'] [10.0, 100.0, 1500.0, 1500.0]\n",
|
|
"low=721.906 nF high=797.896 nF program=[0, 1, 2, 3, '*', '*', '+'] [10.0, 1000.0, 1500.0, 1500.0]\n",
|
|
"low=721.937 nF high=797.930 nF program=[0, 1, 2, 3, '*', '*', '+'] [10.0, 1500.0, 1500.0, 1500.0]\n",
|
|
"low=717.219 nF high=792.715 nF program=[0, 1, 2, '+', 3, '+', '*'] [10.0, 10.0, 1500.0, 1500.0]\n",
|
|
"low=737.701 nF high=815.354 nF program=[0, 1, 2, '+', 3, '+', '*'] [10.0, 100.0, 1500.0, 1500.0]\n",
|
|
"low=713.092 nF high=788.155 nF program=[0, 1, 2, '+', 3, '+', '*'] [10.0, 1500.0, 1500.0, 1000.0]\n",
|
|
"low=718.293 nF high=793.902 nF program=[0, 1, 2, '+', 3, '+', '*'] [100.0, 1500.0, 1500.0, 1000.0]\n",
|
|
"low=738.889 nF high=816.667 nF program=[0, 1, 2, '+', 3, '+', '*'] [1000.0, 1000.0, 1500.0, 1000.0]\n",
|
|
"low=724.367 nF high=800.616 nF program=[0, 1, 2, '+', 3, '*', '+'] [10.0, 1500.0, 1500.0, 10.0]\n",
|
|
"low=697.885 nF high=771.346 nF program=[0, 1, 2, '+', 3, '*', '+'] [100.0, 1000.0, 1500.0, 100.0]\n",
|
|
"low=744.984 nF high=823.403 nF program=[0, 1, 2, '+', 3, '*', '+'] [100.0, 1500.0, 1500.0, 10.0]\n",
|
|
"low=728.333 nF high=805.000 nF program=[0, 1, 2, '+', 3, '*', '+'] [1000.0, 1000.0, 1000.0, 100.0]\n",
|
|
"low=713.686 nF high=788.810 nF program=[0, 1, 2, '*', 3, '+', '*'] [10.0, 10.0, 1500.0, 1500.0]\n",
|
|
"low=714.653 nF high=789.879 nF program=[0, 1, 2, '*', 3, '+', '*'] [10.0, 100.0, 1500.0, 1500.0]\n",
|
|
"low=714.844 nF high=790.090 nF program=[0, 1, 2, '*', 3, '+', '*'] [10.0, 1000.0, 1500.0, 1500.0]\n",
|
|
"low=714.851 nF high=790.099 nF program=[0, 1, 2, '*', 3, '+', '*'] [10.0, 1500.0, 1500.0, 1500.0]\n",
|
|
"low=724.180 nF high=800.410 nF program=[0, 1, 2, '*', 3, '+', '*'] [100.0, 100.0, 1500.0, 1500.0]\n",
|
|
"low=733.456 nF high=810.662 nF program=[0, 1, 2, '*', 3, '+', '*'] [100.0, 1000.0, 1500.0, 1500.0]\n",
|
|
"low=734.091 nF high=811.364 nF program=[0, 1, 2, '*', 3, '+', '*'] [100.0, 1500.0, 1500.0, 1500.0]\n",
|
|
"low=719.617 nF high=795.366 nF program=[0, 1, 2, 3, 4, '+', '+', '+', '*'] [10.0, 10.0, 10.0, 1500.0, 1500.0]\n",
|
|
"low=740.513 nF high=818.462 nF program=[0, 1, 2, 3, 4, '+', '+', '+', '*'] [10.0, 10.0, 100.0, 1500.0, 1500.0]\n",
|
|
"low=723.134 nF high=799.254 nF program=[0, 1, 2, 3, 4, '+', '+', '+', '*'] [10.0, 10.0, 1500.0, 1500.0, 1000.0]\n",
|
|
"low=740.239 nF high=818.159 nF program=[0, 1, 2, 3, 4, '+', '+', '+', '*'] [10.0, 100.0, 10.0, 1500.0, 1500.0]\n",
|
|
"low=730.263 nF high=807.133 nF program=[0, 1, 2, 3, 4, '+', '+', '+', '*'] [10.0, 100.0, 1000.0, 1500.0, 1000.0]\n",
|
|
"low=726.579 nF high=803.061 nF program=[0, 1, 2, 3, 4, '+', '+', '+', '*'] [10.0, 1000.0, 100.0, 1000.0, 1500.0]\n",
|
|
"low=718.432 nF high=794.056 nF program=[0, 1, 2, 3, 4, '+', '+', '+', '*'] [10.0, 1500.0, 10.0, 1000.0, 1500.0]\n",
|
|
"low=734.324 nF high=811.622 nF program=[0, 1, 2, 3, 4, '+', '+', '+', '*'] [100.0, 1000.0, 100.0, 1000.0, 1500.0]\n",
|
|
"low=723.710 nF high=799.891 nF program=[0, 1, 2, 3, 4, '+', '+', '+', '*'] [100.0, 1500.0, 10.0, 1000.0, 1500.0]\n",
|
|
"low=744.623 nF high=823.004 nF program=[0, 1, 2, 3, 4, '+', '+', '+', '*'] [1000.0, 1000.0, 10.0, 1000.0, 1500.0]\n",
|
|
"low=733.867 nF high=811.116 nF program=[0, 1, 2, 3, 4, '+', '+', '*', '+'] [10.0, 1500.0, 10.0, 10.0, 1500.0]\n",
|
|
"low=707.385 nF high=781.846 nF program=[0, 1, 2, 3, 4, '+', '+', '*', '+'] [100.0, 1000.0, 10.0, 100.0, 1500.0]\n",
|
|
"low=737.833 nF high=815.500 nF program=[0, 1, 2, 3, 4, '+', '+', '*', '+'] [1000.0, 1000.0, 10.0, 100.0, 1000.0]\n",
|
|
"low=697.571 nF high=771.000 nF program=[0, 1, 2, 3, 4, '+', '+', '*', '+'] [1000.0, 1500.0, 10.0, 10.0, 1000.0]\n",
|
|
"low=741.000 nF high=819.000 nF program=[0, 1, 2, 3, 4, '+', '*', '+', '+'] [10.0, 10.0, 1500.0, 1500.0, 10.0]\n",
|
|
"low=718.833 nF high=794.500 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [10.0, 10.0, 1500.0, 1500.0, 10.0]\n",
|
|
"low=731.127 nF high=808.088 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [10.0, 10.0, 1500.0, 1500.0, 1000.0]\n",
|
|
"low=731.250 nF high=808.224 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [10.0, 10.0, 1500.0, 1500.0, 1500.0]\n",
|
|
"low=721.208 nF high=797.125 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [10.0, 100.0, 1500.0, 1500.0, 10.0]\n",
|
|
"low=721.907 nF high=797.897 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [10.0, 1000.0, 1500.0, 1500.0, 10.0]\n",
|
|
"low=719.617 nF high=795.366 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [10.0, 1500.0, 10.0, 10.0, 1500.0]\n",
|
|
"low=723.503 nF high=799.662 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [10.0, 1500.0, 10.0, 100.0, 1500.0]\n",
|
|
"low=724.273 nF high=800.512 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [10.0, 1500.0, 10.0, 1000.0, 1500.0]\n",
|
|
"low=724.304 nF high=800.547 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [10.0, 1500.0, 10.0, 1500.0, 1500.0]\n",
|
|
"low=721.938 nF high=797.931 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [10.0, 1500.0, 1500.0, 1500.0, 10.0]\n",
|
|
"low=737.647 nF high=815.294 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [100.0, 100.0, 1000.0, 1500.0, 1500.0]\n",
|
|
"low=721.548 nF high=797.500 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [100.0, 100.0, 1500.0, 1500.0, 10.0]\n",
|
|
"low=721.914 nF high=797.905 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [100.0, 1000.0, 1500.0, 1500.0, 10.0]\n",
|
|
"low=740.234 nF high=818.153 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [100.0, 1500.0, 10.0, 10.0, 1500.0]\n",
|
|
"low=744.120 nF high=822.449 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [100.0, 1500.0, 10.0, 100.0, 1500.0]\n",
|
|
"low=744.890 nF high=823.299 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [100.0, 1500.0, 10.0, 1000.0, 1500.0]\n",
|
|
"low=744.921 nF high=823.334 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [100.0, 1500.0, 10.0, 1500.0, 1500.0]\n",
|
|
"low=721.941 nF high=797.935 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [100.0, 1500.0, 1500.0, 1500.0, 10.0]\n",
|
|
"low=719.697 nF high=795.455 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [1000.0, 1000.0, 100.0, 1000.0, 1000.0]\n",
|
|
"low=722.396 nF high=798.438 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [1000.0, 1000.0, 100.0, 1500.0, 1000.0]\n",
|
|
"low=721.953 nF high=797.948 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [1000.0, 1000.0, 1500.0, 1500.0, 10.0]\n",
|
|
"low=726.071 nF high=802.500 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [1000.0, 1500.0, 100.0, 100.0, 1000.0]\n",
|
|
"low=721.962 nF high=797.958 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [1000.0, 1500.0, 1500.0, 1500.0, 10.0]\n",
|
|
"low=721.968 nF high=797.965 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [1500.0, 1500.0, 1500.0, 1500.0, 10.0]\n",
|
|
"low=716.061 nF high=791.435 nF program=[0, 1, 2, 3, 4, '*', '+', '+', '*'] [10.0, 10.0, 10.0, 1500.0, 1500.0]\n",
|
|
"low=736.747 nF high=814.300 nF program=[0, 1, 2, 3, 4, '*', '+', '+', '*'] [10.0, 10.0, 100.0, 1500.0, 1500.0]\n",
|
|
"low=715.169 nF high=790.449 nF program=[0, 1, 2, 3, 4, '*', '+', '+', '*'] [10.0, 10.0, 1500.0, 1500.0, 1000.0]\n",
|
|
"low=717.034 nF high=792.511 nF program=[0, 1, 2, 3, 4, '*', '+', '+', '*'] [10.0, 100.0, 10.0, 1500.0, 1500.0]\n",
|
|
"low=737.778 nF high=815.439 nF program=[0, 1, 2, 3, 4, '*', '+', '+', '*'] [10.0, 100.0, 100.0, 1500.0, 1500.0]\n",
|
|
"low=717.347 nF high=792.857 nF program=[0, 1, 2, 3, 4, '*', '+', '+', '*'] [10.0, 100.0, 1500.0, 1500.0, 1000.0]\n",
|
|
"low=717.226 nF high=792.724 nF program=[0, 1, 2, 3, 4, '*', '+', '+', '*'] [10.0, 1000.0, 10.0, 1500.0, 1500.0]\n",
|
|
"low=737.982 nF high=815.664 nF program=[0, 1, 2, 3, 4, '*', '+', '+', '*'] [10.0, 1000.0, 100.0, 1500.0, 1500.0]\n",
|
|
"low=717.778 nF high=793.333 nF program=[0, 1, 2, 3, 4, '*', '+', '+', '*'] [10.0, 1000.0, 1500.0, 1500.0, 1000.0]\n",
|
|
"low=717.234 nF high=792.733 nF program=[0, 1, 2, 3, 4, '*', '+', '+', '*'] [10.0, 1500.0, 10.0, 1500.0, 1500.0]\n",
|
|
"low=737.990 nF high=815.673 nF program=[0, 1, 2, 3, 4, '*', '+', '+', '*'] [10.0, 1500.0, 100.0, 1500.0, 1500.0]\n",
|
|
"low=717.795 nF high=793.353 nF program=[0, 1, 2, 3, 4, '*', '+', '+', '*'] [10.0, 1500.0, 1500.0, 1500.0, 1000.0]\n",
|
|
"low=726.626 nF high=803.113 nF program=[0, 1, 2, 3, 4, '*', '+', '+', '*'] [100.0, 100.0, 10.0, 1500.0, 1500.0]\n",
|
|
"low=747.937 nF high=826.667 nF program=[0, 1, 2, 3, 4, '*', '+', '+', '*'] [100.0, 100.0, 100.0, 1500.0, 1500.0]\n",
|
|
"low=702.465 nF high=776.408 nF program=[0, 1, 2, 3, 4, '*', '+', '+', '*'] [100.0, 100.0, 1000.0, 1500.0, 1000.0]\n",
|
|
"low=735.965 nF high=813.434 nF program=[0, 1, 2, 3, 4, '*', '+', '+', '*'] [100.0, 1000.0, 10.0, 1500.0, 1500.0]\n",
|
|
"low=721.519 nF high=797.468 nF program=[0, 1, 2, 3, 4, '*', '+', '+', '*'] [100.0, 1000.0, 1000.0, 1500.0, 1000.0]\n",
|
|
"low=736.604 nF high=814.141 nF program=[0, 1, 2, 3, 4, '*', '+', '+', '*'] [100.0, 1500.0, 10.0, 1500.0, 1500.0]\n",
|
|
"low=722.826 nF high=798.913 nF program=[0, 1, 2, 3, 4, '*', '+', '+', '*'] [100.0, 1500.0, 1000.0, 1500.0, 1000.0]\n",
|
|
"low=701.866 nF high=775.746 nF program=[0, 1, 2, 3, 4, '*', '+', '+', '*'] [1500.0, 1500.0, 100.0, 1000.0, 1500.0]\n",
|
|
"low=726.750 nF high=803.250 nF program=[0, 1, 2, 3, 4, '*', '*', '+', '+'] [10.0, 10.0, 1500.0, 1500.0, 10.0]\n",
|
|
"low=730.636 nF high=807.545 nF program=[0, 1, 2, 3, 4, '*', '*', '+', '+'] [10.0, 100.0, 1500.0, 1500.0, 10.0]\n",
|
|
"low=731.406 nF high=808.396 nF program=[0, 1, 2, 3, 4, '*', '*', '+', '+'] [10.0, 1000.0, 1500.0, 1500.0, 10.0]\n",
|
|
"low=731.437 nF high=808.430 nF program=[0, 1, 2, 3, 4, '*', '*', '+', '+'] [10.0, 1500.0, 1500.0, 1500.0, 10.0]\n",
|
|
"low=715.667 nF high=791.000 nF program=[0, 1, 2, 3, 4, '*', '*', '*', '+'] [10.0, 10.0, 1500.0, 1500.0, 10.0]\n",
|
|
"low=717.024 nF high=792.500 nF program=[0, 1, 2, 3, 4, '*', '*', '*', '+'] [10.0, 10.0, 1500.0, 1500.0, 100.0]\n",
|
|
"low=717.226 nF high=792.724 nF program=[0, 1, 2, 3, 4, '*', '*', '*', '+'] [10.0, 10.0, 1500.0, 1500.0, 1000.0]\n",
|
|
"low=717.234 nF high=792.733 nF program=[0, 1, 2, 3, 4, '*', '*', '*', '+'] [10.0, 10.0, 1500.0, 1500.0, 1500.0]\n",
|
|
"low=720.417 nF high=796.250 nF program=[0, 1, 2, 3, 4, '*', '*', '*', '+'] [10.0, 100.0, 1500.0, 1500.0, 100.0]\n",
|
|
"low=721.059 nF high=796.959 nF program=[0, 1, 2, 3, 4, '*', '*', '*', '+'] [10.0, 100.0, 1500.0, 1500.0, 1000.0]\n",
|
|
"low=721.084 nF high=796.988 nF program=[0, 1, 2, 3, 4, '*', '*', '*', '+'] [10.0, 100.0, 1500.0, 1500.0, 1500.0]\n",
|
|
"low=721.814 nF high=797.794 nF program=[0, 1, 2, 3, 4, '*', '*', '*', '+'] [10.0, 1000.0, 1500.0, 1500.0, 1000.0]\n",
|
|
"low=721.844 nF high=797.828 nF program=[0, 1, 2, 3, 4, '*', '*', '*', '+'] [10.0, 1000.0, 1500.0, 1500.0, 1500.0]\n",
|
|
"low=721.875 nF high=797.862 nF program=[0, 1, 2, 3, 4, '*', '*', '*', '+'] [10.0, 1500.0, 1500.0, 1500.0, 1500.0]\n",
|
|
"low=744.167 nF high=822.500 nF program=[0, 1, 2, 3, 4, '*', '*', '*', '+'] [100.0, 100.0, 1500.0, 1500.0, 100.0]\n",
|
|
"low=719.554 nF high=795.297 nF program=[0, 1, 2, 3, '+', '+', 4, '+', '*'] [10.0, 10.0, 10.0, 1500.0, 1500.0]\n",
|
|
"low=739.904 nF high=817.788 nF program=[0, 1, 2, 3, '+', '+', 4, '+', '*'] [10.0, 10.0, 100.0, 1500.0, 1500.0]\n",
|
|
"low=713.682 nF high=788.806 nF program=[0, 1, 2, 3, '+', '+', 4, '+', '*'] [10.0, 10.0, 1500.0, 1500.0, 1000.0]\n",
|
|
"low=718.856 nF high=794.526 nF program=[0, 1, 2, 3, '+', '+', 4, '+', '*'] [10.0, 100.0, 1500.0, 1500.0, 1000.0]\n",
|
|
"low=739.357 nF high=817.184 nF program=[0, 1, 2, 3, '+', '+', 4, '+', '*'] [10.0, 1000.0, 1000.0, 1500.0, 1000.0]\n",
|
|
"low=723.810 nF high=800.000 nF program=[0, 1, 2, 3, '+', '+', 4, '+', '*'] [100.0, 100.0, 1500.0, 1500.0, 1000.0]\n",
|
|
"low=743.478 nF high=821.739 nF program=[0, 1, 2, 3, '+', '+', 4, '+', '*'] [100.0, 1000.0, 1000.0, 1500.0, 1000.0]\n",
|
|
"low=732.542 nF high=809.651 nF program=[0, 1, 2, 3, '+', '+', 4, '*', '+'] [10.0, 1000.0, 1000.0, 1000.0, 100.0]\n",
|
|
"low=727.330 nF high=803.892 nF program=[0, 1, 2, 3, '+', '+', 4, '*', '+'] [10.0, 1000.0, 1500.0, 1500.0, 10.0]\n",
|
|
"low=699.579 nF high=773.218 nF program=[0, 1, 2, 3, '+', '+', 4, '*', '+'] [10.0, 1500.0, 100.0, 1000.0, 100.0]\n",
|
|
"low=747.506 nF high=826.191 nF program=[0, 1, 2, 3, '+', '+', 4, '*', '+'] [10.0, 1500.0, 100.0, 1500.0, 10.0]\n",
|
|
"low=714.259 nF high=789.444 nF program=[0, 1, 2, 3, '+', '+', 4, '*', '+'] [100.0, 1000.0, 100.0, 1500.0, 100.0]\n",
|
|
"low=735.194 nF high=812.583 nF program=[0, 1, 2, 3, '+', '+', 4, '*', '+'] [100.0, 1000.0, 1000.0, 1500.0, 10.0]\n",
|
|
"low=716.045 nF high=791.418 nF program=[0, 1, 2, 3, '+', '*', 4, '+', '*'] [10.0, 1500.0, 10.0, 10.0, 1500.0]\n",
|
|
"low=717.005 nF high=792.480 nF program=[0, 1, 2, 3, '+', '*', 4, '+', '*'] [10.0, 1500.0, 10.0, 100.0, 1500.0]\n",
|
|
"low=717.195 nF high=792.690 nF program=[0, 1, 2, 3, '+', '*', 4, '+', '*'] [10.0, 1500.0, 10.0, 1000.0, 1500.0]\n",
|
|
"low=717.203 nF high=792.698 nF program=[0, 1, 2, 3, '+', '*', 4, '+', '*'] [10.0, 1500.0, 10.0, 1500.0, 1500.0]\n",
|
|
"low=726.471 nF high=802.941 nF program=[0, 1, 2, 3, '+', '*', 4, '+', '*'] [10.0, 1500.0, 100.0, 100.0, 1500.0]\n",
|
|
"low=735.686 nF high=813.127 nF program=[0, 1, 2, 3, '+', '*', 4, '+', '*'] [10.0, 1500.0, 100.0, 1000.0, 1500.0]\n",
|
|
"low=736.317 nF high=813.824 nF program=[0, 1, 2, 3, '+', '*', 4, '+', '*'] [10.0, 1500.0, 100.0, 1500.0, 1500.0]\n",
|
|
"low=736.594 nF high=814.130 nF program=[0, 1, 2, 3, '+', '*', 4, '+', '*'] [100.0, 1500.0, 10.0, 10.0, 1500.0]\n",
|
|
"low=737.500 nF high=815.132 nF program=[0, 1, 2, 3, '+', '*', 4, '+', '*'] [100.0, 1500.0, 10.0, 100.0, 1500.0]\n",
|
|
"low=737.679 nF high=815.330 nF program=[0, 1, 2, 3, '+', '*', 4, '+', '*'] [100.0, 1500.0, 10.0, 1000.0, 1500.0]\n",
|
|
"low=737.686 nF high=815.338 nF program=[0, 1, 2, 3, '+', '*', 4, '+', '*'] [100.0, 1500.0, 10.0, 1500.0, 1500.0]\n",
|
|
"low=746.429 nF high=825.000 nF program=[0, 1, 2, 3, '+', '*', 4, '+', '*'] [100.0, 1500.0, 100.0, 100.0, 1500.0]\n",
|
|
"low=696.667 nF high=770.000 nF program=[0, 1, 2, 3, '+', '*', 4, '+', '*'] [1000.0, 1000.0, 1500.0, 1500.0, 1000.0]\n",
|
|
"low=712.797 nF high=787.828 nF program=[0, 1, 2, 3, '+', '*', 4, '+', '*'] [1500.0, 1500.0, 10.0, 10.0, 1000.0]\n",
|
|
"low=713.039 nF high=788.095 nF program=[0, 1, 2, 3, '+', '*', 4, '+', '*'] [1500.0, 1500.0, 10.0, 100.0, 1000.0]\n",
|
|
"low=713.086 nF high=788.148 nF program=[0, 1, 2, 3, '+', '*', 4, '+', '*'] [1500.0, 1500.0, 10.0, 1000.0, 1000.0]\n",
|
|
"low=713.088 nF high=788.150 nF program=[0, 1, 2, 3, '+', '*', 4, '+', '*'] [1500.0, 1500.0, 10.0, 1500.0, 1000.0]\n",
|
|
"low=715.432 nF high=790.741 nF program=[0, 1, 2, 3, '+', '*', 4, '+', '*'] [1500.0, 1500.0, 100.0, 100.0, 1000.0]\n",
|
|
"low=717.939 nF high=793.511 nF program=[0, 1, 2, 3, '+', '*', 4, '+', '*'] [1500.0, 1500.0, 100.0, 1500.0, 1000.0]\n",
|
|
"low=726.719 nF high=803.215 nF program=[0, 1, 2, '+', 3, '+', 4, '*', '+'] [10.0, 10.0, 1500.0, 1500.0, 10.0]\n",
|
|
"low=701.034 nF high=774.828 nF program=[0, 1, 2, '+', 3, '+', 4, '*', '+'] [10.0, 100.0, 1000.0, 1500.0, 100.0]\n",
|
|
"low=747.201 nF high=825.854 nF program=[0, 1, 2, '+', 3, '+', 4, '*', '+'] [10.0, 100.0, 1500.0, 1500.0, 10.0]\n",
|
|
"low=729.385 nF high=806.163 nF program=[0, 1, 2, '+', 3, '+', 4, '*', '+'] [10.0, 1000.0, 1000.0, 1000.0, 100.0]\n",
|
|
"low=722.592 nF high=798.655 nF program=[0, 1, 2, '+', 3, '+', 4, '*', '+'] [10.0, 1500.0, 1500.0, 1000.0, 10.0]\n",
|
|
"low=738.548 nF high=816.290 nF program=[0, 1, 2, '+', 3, '+', 4, '*', '+'] [100.0, 1000.0, 1000.0, 1000.0, 100.0]\n",
|
|
"low=727.793 nF high=804.402 nF program=[0, 1, 2, '+', 3, '+', 4, '*', '+'] [100.0, 1500.0, 1500.0, 1000.0, 10.0]\n",
|
|
"low=748.389 nF high=827.167 nF program=[0, 1, 2, '+', 3, '+', 4, '*', '+'] [1000.0, 1000.0, 1500.0, 1000.0, 10.0]\n",
|
|
"low=714.080 nF high=789.246 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [10.0, 10.0, 10.0, 1500.0, 1500.0]\n",
|
|
"low=716.436 nF high=791.851 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [10.0, 10.0, 100.0, 1500.0, 1500.0]\n",
|
|
"low=717.127 nF high=792.614 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [10.0, 10.0, 1000.0, 1500.0, 1500.0]\n",
|
|
"low=717.157 nF high=792.647 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [10.0, 10.0, 1500.0, 1500.0, 1500.0]\n",
|
|
"low=714.670 nF high=789.899 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [10.0, 100.0, 10.0, 1500.0, 1500.0]\n",
|
|
"low=724.727 nF high=801.014 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [10.0, 100.0, 100.0, 1500.0, 1500.0]\n",
|
|
"low=735.283 nF high=812.682 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [10.0, 100.0, 1000.0, 1500.0, 1500.0]\n",
|
|
"low=736.036 nF high=813.514 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [10.0, 100.0, 1500.0, 1500.0, 1500.0]\n",
|
|
"low=714.844 nF high=790.091 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [10.0, 1000.0, 10.0, 1500.0, 1500.0]\n",
|
|
"low=733.474 nF high=810.682 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [10.0, 1000.0, 100.0, 1500.0, 1500.0]\n",
|
|
"low=713.090 nF high=788.152 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [10.0, 1000.0, 1000.0, 1000.0, 1500.0]\n",
|
|
"low=736.280 nF high=813.784 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [10.0, 1000.0, 1500.0, 1000.0, 1500.0]\n",
|
|
"low=714.852 nF high=790.099 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [10.0, 1500.0, 10.0, 1500.0, 1500.0]\n",
|
|
"low=734.100 nF high=811.373 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [10.0, 1500.0, 100.0, 1500.0, 1500.0]\n",
|
|
"low=735.838 nF high=813.295 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [10.0, 1500.0, 1000.0, 1000.0, 1500.0]\n",
|
|
"low=714.755 nF high=789.992 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [100.0, 100.0, 10.0, 1500.0, 1500.0]\n",
|
|
"low=727.989 nF high=804.620 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [100.0, 100.0, 100.0, 1500.0, 1500.0]\n",
|
|
"low=714.846 nF high=790.093 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [100.0, 1000.0, 10.0, 1500.0, 1500.0]\n",
|
|
"low=733.625 nF high=810.849 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [100.0, 1000.0, 100.0, 1500.0, 1500.0]\n",
|
|
"low=718.110 nF high=793.701 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [100.0, 1000.0, 1000.0, 1000.0, 1500.0]\n",
|
|
"low=743.098 nF high=821.319 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [100.0, 1000.0, 1500.0, 1000.0, 1500.0]\n",
|
|
"low=714.852 nF high=790.100 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [100.0, 1500.0, 10.0, 1500.0, 1500.0]\n",
|
|
"low=734.173 nF high=811.454 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [100.0, 1500.0, 100.0, 1500.0, 1500.0]\n",
|
|
"low=714.855 nF high=790.103 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [1000.0, 1000.0, 10.0, 1500.0, 1500.0]\n",
|
|
"low=734.423 nF high=811.731 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [1000.0, 1000.0, 100.0, 1500.0, 1500.0]\n",
|
|
"low=714.858 nF high=790.106 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [1000.0, 1500.0, 10.0, 1500.0, 1500.0]\n",
|
|
"low=734.627 nF high=811.957 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [1000.0, 1500.0, 100.0, 1500.0, 1500.0]\n",
|
|
"low=714.859 nF high=790.108 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [1500.0, 1500.0, 10.0, 1500.0, 1500.0]\n",
|
|
"low=734.766 nF high=812.109 nF program=[0, 1, 2, '+', 3, '*', 4, '+', '*'] [1500.0, 1500.0, 100.0, 1500.0, 1500.0]\n",
|
|
"low=723.186 nF high=799.310 nF program=[0, 1, 2, '*', 3, '+', 4, '*', '+'] [10.0, 10.0, 1500.0, 1500.0, 10.0]\n",
|
|
"low=724.153 nF high=800.379 nF program=[0, 1, 2, '*', 3, '+', 4, '*', '+'] [10.0, 100.0, 1500.0, 1500.0, 10.0]\n",
|
|
"low=724.344 nF high=800.590 nF program=[0, 1, 2, '*', 3, '+', 4, '*', '+'] [10.0, 1000.0, 1500.0, 1500.0, 10.0]\n",
|
|
"low=724.351 nF high=800.599 nF program=[0, 1, 2, '*', 3, '+', 4, '*', '+'] [10.0, 1500.0, 1500.0, 1500.0, 10.0]\n",
|
|
"low=733.680 nF high=810.910 nF program=[0, 1, 2, '*', 3, '+', 4, '*', '+'] [100.0, 100.0, 1500.0, 1500.0, 10.0]\n",
|
|
"low=742.956 nF high=821.162 nF program=[0, 1, 2, '*', 3, '+', 4, '*', '+'] [100.0, 1000.0, 1500.0, 1500.0, 10.0]\n",
|
|
"low=743.591 nF high=821.864 nF program=[0, 1, 2, '*', 3, '+', 4, '*', '+'] [100.0, 1500.0, 1500.0, 1500.0, 10.0]\n",
|
|
"low=699.545 nF high=773.182 nF program=[0, 1, 2, '*', 3, '+', 4, '*', '+'] [1500.0, 1500.0, 1000.0, 1000.0, 100.0]\n",
|
|
"low=713.291 nF high=788.374 nF program=[0, 1, 2, '*', 3, '*', 4, '+', '*'] [10.0, 10.0, 10.0, 1500.0, 1500.0]\n",
|
|
"low=713.629 nF high=788.748 nF program=[0, 1, 2, '*', 3, '*', 4, '+', '*'] [10.0, 10.0, 100.0, 1500.0, 1500.0]\n",
|
|
"low=713.680 nF high=788.804 nF program=[0, 1, 2, '*', 3, '*', 4, '+', '*'] [10.0, 10.0, 1000.0, 1500.0, 1500.0]\n",
|
|
"low=714.474 nF high=789.681 nF program=[0, 1, 2, '*', 3, '*', 4, '+', '*'] [10.0, 100.0, 100.0, 1500.0, 1500.0]\n",
|
|
"low=714.633 nF high=789.858 nF program=[0, 1, 2, '*', 3, '*', 4, '+', '*'] [10.0, 100.0, 1000.0, 1500.0, 1500.0]\n",
|
|
"low=714.640 nF high=789.865 nF program=[0, 1, 2, '*', 3, '*', 4, '+', '*'] [10.0, 100.0, 1500.0, 1500.0, 1500.0]\n",
|
|
"low=714.821 nF high=790.065 nF program=[0, 1, 2, '*', 3, '*', 4, '+', '*'] [10.0, 1000.0, 1000.0, 1500.0, 1500.0]\n",
|
|
"low=714.828 nF high=790.074 nF program=[0, 1, 2, '*', 3, '*', 4, '+', '*'] [10.0, 1000.0, 1500.0, 1500.0, 1500.0]\n",
|
|
"low=714.836 nF high=790.082 nF program=[0, 1, 2, '*', 3, '*', 4, '+', '*'] [10.0, 1500.0, 1500.0, 1500.0, 1500.0]\n",
|
|
"low=720.330 nF high=796.154 nF program=[0, 1, 2, '*', 3, '*', 4, '+', '*'] [100.0, 100.0, 100.0, 1500.0, 1500.0]\n",
|
|
"low=723.633 nF high=799.805 nF program=[0, 1, 2, '*', 3, '*', 4, '+', '*'] [100.0, 100.0, 1000.0, 1500.0, 1500.0]\n",
|
|
"low=731.757 nF high=808.784 nF program=[0, 1, 2, '*', 3, '*', 4, '+', '*'] [100.0, 1000.0, 1000.0, 1500.0, 1500.0]\n",
|
|
"low=732.292 nF high=809.375 nF program=[0, 1, 2, '*', 3, '*', 4, '+', '*'] [100.0, 1000.0, 1500.0, 1500.0, 1500.0]\n",
|
|
"low=732.857 nF high=810.000 nF program=[0, 1, 2, '*', 3, '*', 4, '+', '*'] [100.0, 1500.0, 1500.0, 1500.0, 1500.0]\n",
|
|
"===== target=1638.4 nF =====\n",
|
|
"[100.0, 1000.0, 1500.0]\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "b324c5bf3c3f46a0b56ff5ed80aec1e4",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
" 0%| | 0/1815 [00:00<?, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"low=1425.000 nF high=1575.000 nF program=[0] [1500.0]\n",
|
|
"low=1472.500 nF high=1627.500 nF program=[0, 1, 2, '*', '+'] [100.0, 100.0, 1500.0]\n",
|
|
"low=1488.333 nF high=1645.000 nF program=[0, 1, 2, '+', 3, '*', '+'] [100.0, 100.0, 100.0, 1500.0]\n",
|
|
"low=1447.619 nF high=1600.000 nF program=[0, 1, 2, '+', 3, '*', '+'] [100.0, 1000.0, 1000.0, 1000.0]\n",
|
|
"low=1456.667 nF high=1610.000 nF program=[0, 1, 2, '*', 3, '*', '+'] [100.0, 100.0, 100.0, 1500.0]\n",
|
|
"low=1470.238 nF high=1625.000 nF program=[0, 1, 2, '*', 3, '*', '+'] [100.0, 100.0, 1000.0, 1500.0]\n",
|
|
"low=1470.968 nF high=1625.806 nF program=[0, 1, 2, '*', 3, '*', '+'] [100.0, 100.0, 1500.0, 1500.0]\n",
|
|
"low=1448.361 nF high=1600.820 nF program=[0, 1, 2, 3, 4, '+', '+', '+', '*'] [100.0, 1500.0, 1500.0, 1500.0, 1500.0]\n",
|
|
"low=1461.538 nF high=1615.385 nF program=[0, 1, 2, 3, 4, '+', '+', '+', '*'] [1000.0, 1500.0, 1000.0, 1500.0, 1500.0]\n",
|
|
"low=1447.984 nF high=1600.403 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [100.0, 1500.0, 1500.0, 1500.0, 1500.0]\n",
|
|
"low=1460.625 nF high=1614.375 nF program=[0, 1, 2, 3, 4, '+', '*', '*', '+'] [1000.0, 1500.0, 1000.0, 1500.0, 1500.0]\n",
|
|
"low=1401.250 nF high=1548.750 nF program=[0, 1, 2, 3, 4, '*', '+', '*', '+'] [1000.0, 1000.0, 100.0, 1000.0, 1500.0]\n",
|
|
"low=1452.143 nF high=1605.000 nF program=[0, 1, 2, 3, 4, '*', '+', '*', '+'] [1000.0, 1500.0, 100.0, 1000.0, 1500.0]\n",
|
|
"low=1463.000 nF high=1617.000 nF program=[0, 1, 2, 3, '+', '*', 4, '*', '+'] [100.0, 100.0, 100.0, 100.0, 1500.0]\n",
|
|
"low=1484.375 nF high=1640.625 nF program=[0, 1, 2, 3, '+', '*', 4, '*', '+'] [100.0, 100.0, 100.0, 1000.0, 1500.0]\n",
|
|
"low=1485.638 nF high=1642.021 nF program=[0, 1, 2, 3, '+', '*', 4, '*', '+'] [100.0, 100.0, 100.0, 1500.0, 1500.0]\n",
|
|
"low=1470.435 nF high=1625.217 nF program=[0, 1, 2, 3, '+', '*', 4, '*', '+'] [100.0, 1000.0, 100.0, 100.0, 1500.0]\n",
|
|
"low=1471.061 nF high=1625.909 nF program=[0, 1, 2, 3, '+', '*', 4, '*', '+'] [100.0, 1500.0, 100.0, 100.0, 1500.0]\n",
|
|
"low=1435.106 nF high=1586.170 nF program=[0, 1, 2, 3, '+', '*', 4, '*', '+'] [100.0, 1500.0, 1500.0, 1500.0, 1000.0]\n",
|
|
"low=1471.341 nF high=1626.220 nF program=[0, 1, 2, 3, '+', '*', 4, '*', '+'] [1000.0, 1000.0, 100.0, 100.0, 1500.0]\n",
|
|
"low=1468.182 nF high=1622.727 nF program=[0, 1, 2, 3, '+', '*', 4, '*', '+'] [1000.0, 1000.0, 1500.0, 1500.0, 1000.0]\n",
|
|
"low=1471.569 nF high=1626.471 nF program=[0, 1, 2, 3, '+', '*', 4, '*', '+'] [1000.0, 1500.0, 100.0, 100.0, 1500.0]\n",
|
|
"low=1409.677 nF high=1558.065 nF program=[0, 1, 2, 3, '+', '*', 4, '*', '+'] [1000.0, 1500.0, 1000.0, 1500.0, 1000.0]\n",
|
|
"low=1498.077 nF high=1655.769 nF program=[0, 1, 2, 3, '+', '*', 4, '*', '+'] [1000.0, 1500.0, 1500.0, 1500.0, 1000.0]\n",
|
|
"low=1471.721 nF high=1626.639 nF program=[0, 1, 2, 3, '+', '*', 4, '*', '+'] [1500.0, 1500.0, 100.0, 100.0, 1500.0]\n",
|
|
"low=1448.750 nF high=1601.250 nF program=[0, 1, 2, 3, '*', '*', 4, '*', '+'] [100.0, 100.0, 100.0, 100.0, 1500.0]\n",
|
|
"low=1455.645 nF high=1608.871 nF program=[0, 1, 2, 3, '*', '*', 4, '*', '+'] [100.0, 100.0, 100.0, 1000.0, 1500.0]\n",
|
|
"low=1455.978 nF high=1609.239 nF program=[0, 1, 2, 3, '*', '*', 4, '*', '+'] [100.0, 100.0, 100.0, 1500.0, 1500.0]\n",
|
|
"low=1468.846 nF high=1623.462 nF program=[0, 1, 2, 3, '*', '*', 4, '*', '+'] [100.0, 100.0, 1000.0, 1500.0, 1500.0]\n",
|
|
"low=1469.531 nF high=1624.219 nF program=[0, 1, 2, 3, '*', '*', 4, '*', '+'] [100.0, 100.0, 1500.0, 1500.0, 1500.0]\n",
|
|
"low=1496.250 nF high=1653.750 nF program=[0, 1, 2, '+', 3, '+', 4, '*', '+'] [100.0, 100.0, 100.0, 100.0, 1500.0]\n",
|
|
"low=1482.000 nF high=1638.000 nF program=[0, 1, 2, '*', 3, '+', 4, '*', '+'] [100.0, 100.0, 100.0, 100.0, 1500.0]\n",
|
|
"low=1436.585 nF high=1587.805 nF program=[0, 1, 2, '*', 3, '+', 4, '*', '+'] [100.0, 100.0, 1000.0, 1000.0, 1000.0]\n",
|
|
"low=1487.344 nF high=1643.906 nF program=[0, 1, 2, '*', 3, '+', 4, '*', '+'] [100.0, 1000.0, 100.0, 100.0, 1500.0]\n",
|
|
"low=1445.652 nF high=1597.826 nF program=[0, 1, 2, '*', 3, '+', 4, '*', '+'] [100.0, 1000.0, 1000.0, 1000.0, 1000.0]\n",
|
|
"low=1487.660 nF high=1644.255 nF program=[0, 1, 2, '*', 3, '+', 4, '*', '+'] [100.0, 1500.0, 100.0, 100.0, 1500.0]\n",
|
|
"low=1446.269 nF high=1598.507 nF program=[0, 1, 2, '*', 3, '+', 4, '*', '+'] [100.0, 1500.0, 1000.0, 1000.0, 1000.0]\n",
|
|
"low=1403.409 nF high=1551.136 nF program=[0, 1, 2, '*', 3, '+', 4, '*', '+'] [1000.0, 1500.0, 100.0, 1500.0, 1000.0]\n",
|
|
"low=1465.426 nF high=1619.681 nF program=[0, 1, 2, '*', 3, '+', 4, '*', '+'] [1500.0, 1500.0, 100.0, 1500.0, 1000.0]\n",
|
|
"===== target=3276.8 nF =====\n",
|
|
"[100.0, 1000.0, 1500.0, 4700.0]\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "61733155cd4d44f2899926c7eba066ea",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
" 0%| | 0/1815 [00:00<?, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"low=2850.000 nF high=3150.000 nF program=[0, 1, '+'] [1500.0, 1500.0]\n",
|
|
"low=2945.000 nF high=3255.000 nF program=[0, 1, 2, '+', '+'] [100.0, 1500.0, 1500.0]\n",
|
|
"low=2965.915 nF high=3307.228 nF program=[0, 1, 2, 3, '+', '*', '+'] [1000.0, 1000.0, 1500.0, 4700.0]\n",
|
|
"low=2897.500 nF high=3202.500 nF program=[0, 1, 2, 3, '+', '*', '+'] [1500.0, 1500.0, 100.0, 100.0]\n",
|
|
"low=2936.364 nF high=3245.455 nF program=[0, 1, 2, 3, '+', '*', '+'] [1500.0, 1500.0, 100.0, 1000.0]\n",
|
|
"low=2939.062 nF high=3248.438 nF program=[0, 1, 2, 3, '+', '*', '+'] [1500.0, 1500.0, 100.0, 1500.0]\n",
|
|
"low=2942.913 nF high=3252.910 nF program=[0, 1, 2, 3, '+', '*', '+'] [1500.0, 1500.0, 100.0, 4700.0]\n",
|
|
"low=2835.000 nF high=3298.333 nF program=[0, 1, 2, '*', 3, '*', '+'] [4700.0, 4700.0, 4700.0, 1500.0]\n",
|
|
"low=2839.929 nF high=3243.047 nF program=[0, 1, 2, 3, 4, '+', '+', '+', '*'] [1500.0, 1500.0, 4700.0, 4700.0, 1500.0]\n",
|
|
"low=2913.333 nF high=3220.000 nF program=[0, 1, 2, 3, 4, '+', '+', '*', '+'] [100.0, 100.0, 1500.0, 1500.0, 100.0]\n",
|
|
"low=2872.619 nF high=3175.000 nF program=[0, 1, 2, 3, 4, '+', '+', '*', '+'] [100.0, 1000.0, 1000.0, 1500.0, 1000.0]\n",
|
|
"low=2977.885 nF high=3291.346 nF program=[0, 1, 2, 3, 4, '+', '+', '*', '+'] [100.0, 1000.0, 1000.0, 1500.0, 1500.0]\n",
|
|
"low=2937.083 nF high=3246.250 nF program=[0, 1, 2, 3, 4, '+', '+', '*', '+'] [100.0, 1000.0, 1500.0, 1500.0, 100.0]\n",
|
|
"low=2959.615 nF high=3271.154 nF program=[0, 1, 2, 3, 4, '+', '+', '*', '+'] [100.0, 1500.0, 1000.0, 1500.0, 1000.0]\n",
|
|
"low=2939.412 nF high=3248.824 nF program=[0, 1, 2, 3, 4, '+', '+', '*', '+'] [100.0, 1500.0, 1500.0, 1500.0, 100.0]\n",
|
|
"low=2942.958 nF high=3252.951 nF program=[0, 1, 2, 3, 4, '+', '+', '*', '+'] [100.0, 4700.0, 1500.0, 1500.0, 100.0]\n",
|
|
"low=2831.093 nF high=3173.398 nF program=[0, 1, 2, 3, 4, '+', '+', '*', '+'] [1000.0, 1000.0, 100.0, 1500.0, 4700.0]\n",
|
|
"low=2940.476 nF high=3250.000 nF program=[0, 1, 2, 3, 4, '+', '+', '*', '+'] [1000.0, 1000.0, 1500.0, 1500.0, 100.0]\n",
|
|
"low=2790.625 nF high=3084.375 nF program=[0, 1, 2, 3, 4, '+', '+', '*', '+'] [1000.0, 1500.0, 1000.0, 1000.0, 1500.0]\n",
|
|
"low=2941.346 nF high=3250.962 nF program=[0, 1, 2, 3, 4, '+', '+', '*', '+'] [1000.0, 1500.0, 1500.0, 1500.0, 100.0]\n",
|
|
"low=2943.289 nF high=3253.257 nF program=[0, 1, 2, 3, 4, '+', '+', '*', '+'] [1000.0, 4700.0, 1500.0, 1500.0, 100.0]\n",
|
|
"low=2941.935 nF high=3251.613 nF program=[0, 1, 2, 3, 4, '+', '+', '*', '+'] [1500.0, 1500.0, 1500.0, 1500.0, 100.0]\n",
|
|
"low=2943.430 nF high=3253.391 nF program=[0, 1, 2, 3, 4, '+', '+', '*', '+'] [1500.0, 4700.0, 1500.0, 1500.0, 100.0]\n",
|
|
"low=2943.945 nF high=3253.944 nF program=[0, 1, 2, 3, 4, '+', '+', '*', '+'] [4700.0, 4700.0, 1500.0, 1500.0, 100.0]\n",
|
|
"low=2992.500 nF high=3307.500 nF program=[0, 1, 2, 3, 4, '+', '*', '+', '+'] [100.0, 1500.0, 100.0, 100.0, 1500.0]\n",
|
|
"low=2881.667 nF high=3185.000 nF program=[0, 1, 2, 3, 4, '*', '+', '*', '+'] [100.0, 100.0, 1500.0, 1500.0, 100.0]\n",
|
|
"low=2895.238 nF high=3200.000 nF program=[0, 1, 2, 3, 4, '*', '+', '*', '+'] [100.0, 100.0, 1500.0, 1500.0, 1000.0]\n",
|
|
"low=2895.968 nF high=3200.806 nF program=[0, 1, 2, 3, 4, '*', '+', '*', '+'] [100.0, 100.0, 1500.0, 1500.0, 1500.0]\n",
|
|
"low=2896.973 nF high=3201.972 nF program=[0, 1, 2, 3, 4, '*', '+', '*', '+'] [100.0, 100.0, 1500.0, 1500.0, 4700.0]\n",
|
|
"low=2929.167 nF high=3237.500 nF program=[0, 1, 2, 3, 4, '*', '+', '*', '+'] [100.0, 1000.0, 1500.0, 1500.0, 1000.0]\n",
|
|
"low=2931.429 nF high=3240.000 nF program=[0, 1, 2, 3, 4, '*', '+', '*', '+'] [100.0, 1000.0, 1500.0, 1500.0, 1500.0]\n",
|
|
"low=2934.636 nF high=3243.724 nF program=[0, 1, 2, 3, 4, '*', '+', '*', '+'] [100.0, 1000.0, 1500.0, 1500.0, 4700.0]\n",
|
|
"low=2933.824 nF high=3242.647 nF program=[0, 1, 2, 3, 4, '*', '+', '*', '+'] [100.0, 1500.0, 1500.0, 1500.0, 1500.0]\n",
|
|
"low=2937.226 nF high=3246.598 nF program=[0, 1, 2, 3, 4, '*', '+', '*', '+'] [100.0, 1500.0, 1500.0, 1500.0, 4700.0]\n",
|
|
"low=2940.916 nF high=3250.901 nF program=[0, 1, 2, 3, 4, '*', '+', '*', '+'] [100.0, 4700.0, 1500.0, 1500.0, 4700.0]\n",
|
|
"low=2802.046 nF high=3101.602 nF program=[0, 1, 2, 3, 4, '*', '+', '*', '+'] [1000.0, 1000.0, 1000.0, 1500.0, 4700.0]\n",
|
|
"low=2877.312 nF high=3186.569 nF program=[0, 1, 2, 3, 4, '*', '+', '*', '+'] [1000.0, 1500.0, 1000.0, 1500.0, 4700.0]\n",
|
|
"low=2984.788 nF high=3308.403 nF program=[0, 1, 2, 3, 4, '*', '+', '*', '+'] [1500.0, 1500.0, 1000.0, 1500.0, 4700.0]\n",
|
|
"low=2913.272 nF high=3235.249 nF program=[0, 1, 2, 3, 4, '*', '*', '+', '+'] [1000.0, 4700.0, 1500.0, 1500.0, 1500.0]\n",
|
|
"low=2791.687 nF high=3129.977 nF program=[0, 1, 2, 3, 4, '*', '*', '+', '+'] [1000.0, 4700.0, 1500.0, 4700.0, 1000.0]\n",
|
|
"low=2815.113 nF high=3144.952 nF program=[0, 1, 2, 3, '+', '+', 4, '*', '+'] [1000.0, 1000.0, 1000.0, 4700.0, 1500.0]\n",
|
|
"low=2847.171 nF high=3176.413 nF program=[0, 1, 2, 3, '+', '+', 4, '*', '+'] [1000.0, 1000.0, 1500.0, 4700.0, 1500.0]\n",
|
|
"low=2804.407 nF high=3143.521 nF program=[0, 1, 2, 3, '+', '+', 4, '*', '+'] [1000.0, 1500.0, 4700.0, 4700.0, 1000.0]\n",
|
|
"low=2788.481 nF high=3141.035 nF program=[0, 1, 2, 3, '+', '+', 4, '*', '+'] [1000.0, 4700.0, 1500.0, 1500.0, 1000.0]\n",
|
|
"low=2844.974 nF high=3197.221 nF program=[0, 1, 2, 3, '+', '+', 4, '*', '+'] [1500.0, 1500.0, 1500.0, 4700.0, 1000.0]\n",
|
|
"low=2845.400 nF high=3309.844 nF program=[0, 1, 2, 3, '+', '*', 4, '*', '+'] [100.0, 4700.0, 4700.0, 4700.0, 1500.0]\n",
|
|
"low=2811.648 nF high=3198.078 nF program=[0, 1, 2, '+', 3, '+', 4, '*', '+'] [1000.0, 1000.0, 1500.0, 4700.0, 1000.0]\n",
|
|
"low=2872.613 nF high=3236.234 nF program=[0, 1, 2, '*', 3, '+', 4, '*', '+'] [1000.0, 4700.0, 1500.0, 4700.0, 1500.0]\n",
|
|
"low=2844.965 nF high=3196.523 nF program=[0, 1, 2, '*', 3, '+', 4, '*', '+'] [1500.0, 1500.0, 1500.0, 4700.0, 1500.0]\n",
|
|
"low=2790.264 nF high=3146.228 nF program=[0, 1, 2, '*', 3, '+', 4, '*', '+'] [1500.0, 4700.0, 1000.0, 4700.0, 1500.0]\n",
|
|
"===== target=6553.6 nF =====\n",
|
|
"[100.0, 1000.0, 1500.0, 4700.0]\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "9b52f48bd9464c129e89591d740b9ac1",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
" 0%| | 0/1815 [00:00<?, ?it/s]"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"low=5700.000 nF high=6300.000 nF program=[0, 1, 2, 3, '+', '+', '+'] [1500.0, 1500.0, 1500.0, 1500.0]\n",
|
|
"low=5795.000 nF high=6405.000 nF program=[0, 1, 2, 3, 4, '+', '+', '+', '+'] [100.0, 1500.0, 1500.0, 1500.0, 1500.0]\n",
|
|
"low=5670.000 nF high=6596.667 nF program=[0, 1, 2, 3, 4, '+', '+', '*', '+'] [4700.0, 4700.0, 1500.0, 1500.0, 4700.0]\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"C_dict = {\n",
|
|
" # capacitance [nF]: (tolerance [%], cost [USD])\n",
|
|
" 0.1: (1, 0.01),\n",
|
|
" 1.0: (1, 0.01),\n",
|
|
" 10.0: (5, 0.01),\n",
|
|
" 100.0: (5, 0.10),\n",
|
|
" 1000.0: (5, 0.50),\n",
|
|
" 1500.0: (5, 0.70),\n",
|
|
" 4700.0: (10, 1.00)}\n",
|
|
"\n",
|
|
"plan = {\n",
|
|
"}\n",
|
|
"\n",
|
|
"def series(*caps):\n",
|
|
" if any(math.isclose(c, 0) for c in caps):\n",
|
|
" return 0\n",
|
|
" return 1/sum(1/c for c in caps)\n",
|
|
"\n",
|
|
"def parallel(*caps):\n",
|
|
" return sum(caps)\n",
|
|
"\n",
|
|
"target_values = [0.1 * 2**i for i in range(17)] # in nF\n",
|
|
"\n",
|
|
"import formula_gen\n",
|
|
"\n",
|
|
"def evaluate_tolerance(formula, capacitors):\n",
|
|
" low = evaluate(formula, [C * (1.0 - tol/100) for C, tol, _cost in capacitors])\n",
|
|
" high = evaluate(formula, [C * (1.0 + tol/100) for C, tol, _cost in capacitors])\n",
|
|
" return low, high\n",
|
|
" \n",
|
|
"def evaluate(program, variable_assignment):\n",
|
|
" stack = []\n",
|
|
" for op in program:\n",
|
|
" if op == '+':\n",
|
|
" stack.insert(0, parallel(stack.pop(), stack.pop()))\n",
|
|
" elif op == '*':\n",
|
|
" stack.insert(0, series(stack.pop(), stack.pop()))\n",
|
|
" else:\n",
|
|
" stack.insert(0, variable_assignment[op])\n",
|
|
" return stack.pop()\n",
|
|
"\n",
|
|
"max_caps = 5 # maximum number of capacitors to use to approximate target value\n",
|
|
"\n",
|
|
"programs = [(n_caps, prog) for n_caps in range(1, max_caps+1) for prog in formula_gen.generate_formulas(n_caps)]\n",
|
|
"\n",
|
|
"target_tolerance_high = 0.011\n",
|
|
"target_tolerance_low = 0.15\n",
|
|
"found = collections.defaultdict(list)\n",
|
|
"for target in target_values:\n",
|
|
" print(f'===== {target=:.1f} nF =====')\n",
|
|
" selected_values = [(C, tol, cost) for C, (tol, cost) in C_dict.items() if C > 0.011 * target and C < 2.5 * target]\n",
|
|
" print([C for C, tol, cost in selected_values])\n",
|
|
" for n_caps, program in tqdm.tqdm_notebook(programs):\n",
|
|
" for capacitor_assignment in itertools.product(selected_values, repeat=n_caps):\n",
|
|
" low, high = evaluate_tolerance(program, capacitor_assignment)\n",
|
|
" if high < target * (1.0 + target_tolerance_high) and low > target*(1.0 - target_tolerance_low):\n",
|
|
" if not any(math.isclose(low_cand, low) and math.isclose(high_cand, high) for _prog, _caps, low_cand, high_cand in found[target]):\n",
|
|
" found[target].append([program, capacitor_assignment, low, high])\n",
|
|
" print(f'{low=:.3f} nF {high=:.3f} nF {program=} {[C for C, tol, cost in capacitor_assignment]}')\n",
|
|
" #break\n",
|
|
" \n",
|
|
" #if found[target]:\n",
|
|
" # break"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"id": "a973a601-dad8-4e99-9fc2-de7fa8d0ef03",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"[[0, 1, 2, '+', '+'],\n",
|
|
" [0, 1, 2, '+', '*'],\n",
|
|
" [0, 1, 2, '*', '+'],\n",
|
|
" [0, 1, 2, '*', '*'],\n",
|
|
" [0, 1, '+', 2, '+'],\n",
|
|
" [0, 1, '+', 2, '*'],\n",
|
|
" [0, 1, '*', 2, '+'],\n",
|
|
" [0, 1, '*', 2, '*'],\n",
|
|
" [0, 2, '+', 1, '+'],\n",
|
|
" [0, 2, '+', 1, '*'],\n",
|
|
" [0, 2, '*', 1, '+'],\n",
|
|
" [0, 2, '*', 1, '*']]"
|
|
]
|
|
},
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"import formula_gen\n",
|
|
"formula_gen.generate_formulas(3)"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "decade-box",
|
|
"language": "python",
|
|
"name": "decade-box"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.13.11"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|