Larkin Poe is an American roots rock band originally from north Georgia, currently based in Nashville, Tennessee,[1] and fronted by sisters Rebecca Lovell (born January 30, 1991) and Megan Lovell (born May 12, 1989). Featuring strong southern harmonies, heavy electric guitar riffs, and slide guitar, they are often touted as “the little sisters of the Allman Brothers“.[2] The band performed at the 2014 and 2016 Glastonbury Festival and were voted “Best Discovery of Glastonbury 2014” by the UK’s The Observer.
They are great musicians, performing a great variety of musical styles. Here are a few samples.
The latest version of pyxll (5.4.0) allows animations generated in Matplotlib to be simply copied to Excel. A spreadsheet with the examples shown below, and the associated Python code can be downloaded from:
Much more complex animations are also possible, such as these 3D surface animations from the SciPython Blog:
The Matplotlib animation functions also allow much smoother animations of the Mandelbrot Function than can be achieved with the VBA code I posted last year. The screenshot below shows input for generating a single Mandelbrot image on the left, and an animation zooming in on any defined point on the right:
If the “Update” input (Cell O9) is set to True (or 1) the animation will regenerate when any input value is changed, returning the new animation below the function input cell, and also the maximum zoom factor and the time to generate the animation in seconds. Note that the animation process is quite slow for complex images, and is approximately proportional to the number of steps squared. The example shown with 100 steps took almost 8 minutes; 10 steps will take less than 10 seconds. Once the animation has been generated it is saved with the Excel file, and will run without being regenerated, so the Update input should be set to False (or 0). The animation below shows the results of 100 steps, each zooming in by a factor of 1.2, with 200 milliseconds interval between each step:
The link at the top of this post includes a spreadsheet with all the animations shown above, and the Python code used to generate them. The code to generate new animations requires Python and Matplotlib, and the link to transfer new animations to the spreadsheet requires pyxll to run, but the animations saved with the spreadsheet will run without any external software.
… and other regions with low to moderate seismicity:
The SRIA’s free pdf Guide to Seismic design and detailing of Reinforced Concrete Buildings in Australia is available from the link below. It was published in 2016 and was a precursor to many of the more recent seismic upgrades in AS 3600:2018.
Quake-Advice aims to assist structural engineers who are residing in areas that are away from any tectonic plate boundaries. These areas can be described as intraplate or “stable” as damaging earthquakes occur very infrequently in such tectonic setting. Structural engineers practising in these regions may have only limited, or no, experience in undertaking design checks for seismic actions on building structures in compliance with regulatory requirements.
Quake-Advice is scoped to include calculation methodologies for classification of the soil site, determination of the site amplification factors, interpretation of the response spectrum requirements, exercising independent checks on results from dynamic structural analyses that are generated from a commercial structural analysis package. The focus is on presenting materials that can be applied in design practices as opposed to research findings of pure academic interests.
Edited 19th Feb 22, following comment from Larry Schuster
Excel does not have a function to round numbers to a specified number of significant numbers, and (rather to my surprise) neither does Python. It is not too hard to write an on-sheet formula to do the job, but it is much more convenient to use a short user defined function (UDF):
Function SF(Value As Double, SigFigs As Long) As Double
Dim log10Val As Double, div As Double, Val As Double
If Value = 0 Then
SF = 0
Else
log10Val = Int(Log(Abs(Value)) / Log(10))
div = (10) ^ log10Val
Val = Value / div
SF = (Round(Val, SigFigs - 1)) * div
End If
End Function
In Python it can be even shorter, and using pyxll can also be called from Excel as a UDF:
@xl_func
@xl_arg('val', 'float')
@xl_arg('figs', 'int')
def py_SF(val, figs):
if val == 0:
return 0
else:
return np.round(val, figs-int(np.floor(np.log10(abs(val))))-1)
The comment from Larry Schuster links to VBA code at https://www.vertex42.com/ExcelTips/significant-figures.html which has additional error checks, and uses the same technique as the Python code. Note that for this to work when “sigs – (1 + exponent)” is negative the WorksheetFunction.Round function must be used, rather than the VBA Round function. This was the reason I used a different approach in my code. I have added the check for an input value of zero to both of my functions.
Function ROUNDSIG(num As Variant, sigs As Variant)
Dim exponent As Double
' Code from https://www.vertex42.com/ExcelTips/significant-figures.html
If IsNumeric(num) And IsNumeric(sigs) Then
If sigs < 1 Then
' Return the " #NUM " error
ROUNDSIG = CVErr(xlErrNum)
Else
If num <> 0 Then
exponent = Int(Log(Abs(num)) / Log(10#))
Else
exponent = 0
End If
' Use WorksheetFunction.Round
'ROUNDSIG = Round(num, sigs - (1 + exponent)) generates an error
' when sigs - (1 + exponent) is negative
ROUNDSIG = WorksheetFunction.Round(num, sigs - (1 + exponent))
End If
Else
' Return the " #N/A " error
ROUNDSIG = CVErr(xlErrNA)
End If
End Function
All three functions return the same results for valid input values, but the Vertex42 code gives more explicit error values when the input is non-numeric:
I recently found that downloaded files on OneDrive on my Android pad had almost filled my storage space to capacity, and that the procedure to delete them was not at all obvious. I eventually found a link with detailed instructions on how to do it, which are listed below for the benefit of anyone else with the same problem, and myself the next time I need to do it:
Open Android Settings
Click on Apps
Click on OneDrive
Click on Storage
Click on Clear Data – OK
This clears all downloaded OneDrive data from the local storage space.