Posted on June 16, 2023
Update 2023-06-17: I had missed an N in the formulas, they have been updated, and since I was editing this I’ve added the haskell bit.
I’ve just realized that I’m not anywhere close to finishing the shawl I’m knitting, so I’ve done the perfectly logical and rational thing and started a new one.
This one is using some yarn from the stash, so its size is limited by the available yarn, and I wanted to estimate how long it may be, so I weighted the ball of yarn at the beginning and then again after knitting 10 and 20 rows.
It’s a top-down crescent, with 6 increases every two rows (but these calculations should work for any uniform top-down shawl with a regular number of increases), so each block of 10 rows should use an approximately fixed weight of yarn more than the previous block of 10 rows.
So, let w0 be the weight of the first block of rows, wr the (average) difference between two consecutive blocks and wT the total weight of the shawl. Then the weight used by block i should be wi = w0 + wr ⋅ i and the total weight of the shawl should be:
$$w_T = \sum_{i=0}^{N}w_i = N ⋅ w_0 + w_r ⋅ \frac{N ( N + 1)}{2}$$
where N is the number of blocks in the whole shawl.
This gives:
N2 + (1 + 2 ⋅ w0/wr) ⋅ N − 2 * wT/wr = 0
and the only positive solution will be:
$$N = - 1/2 - w_0/w_r + \sqrt(1/4 + w_0^2/w_r^2 - w_0/w_r + 2 ⋅ w_T/w_r)$$
or, in a few lines of python that can be easily copypasted (changing the values in ws and w_T, of course):
import math
import statistics
w_T = 200
ws = [2, 4, 6]
w_r = statistics.mean(map(lambda x: x[0] - x[1], zip(ws[1:], ws)))
-1/2 - ws[0] / w_r + math.sqrt(1/4 + ws[0]**2 / w_r**2 - ws[0]/w_r + 2 * w_T / w_r)
Or, in Haskell:
let ws = [2, 4, 6]
let w_T = 200
let w_0 = head ws
let w_r = ( sum (map (\(x,y) -> y-x) (zip ws (drop 1 ws))) ) / (fromIntegral (length ws - 1))
-1/2 - w_0 / w_r + sqrt (1/4 + (w_0/w_r)**2 - w_0/w_r + 2 * w_T / w_r)
Which right now (using the actual measured values) tells me I will have about 135 rows in my shawl, but I’d really want to do a few more blocks of 10 rows and have more datapoints before I trust the numbers I’ve put in.
Which means that this shawl will also take forever.
blog.trueelena.org/blog/2023/0…
Elena ``of Valhalla''
in reply to Elena ``of Valhalla'' • •Oggi ho avuto un'idea per un top semplice, low waste, con un collo a coulisse con elastico che può essere regolato su larghezze diverse, anche sceso sulle spalle.
Ho quasi finito di tagliare della stoffa che avevo nello stash in attesa di un progetto adatto (ha una stampa particolare che non era facile usare al meglio).
È decisamente un progetto moderno.
Quindi adesso la cosa ovvia da fare è cucirlo a mano, giusto?
(Non so se io l'abbia deciso per procrastinare il riordino del tavolo con la macchina da cucire, o se sia per poter usare dei margini più sottili, dato che la stoffa è molto leggera.)
#cucito #ProblemiAutoindotti
rag. Gustavino Bevilacqua reshared this.
Sarah E Bourne
in reply to Elena ``of Valhalla'' • • •Elena ``of Valhalla''
in reply to Sarah E Bourne • •