posts - 64, comments - 387, trackbacks - 4

Technical Computing

Extrapolate Errors for p>3

Running some test cases pointed out that the extrapolation from first order Lagrange basis functions to those higher than third order cubic Lagrange basis functions were in error. The extrapolated functions had high degrees of oscillations. The bug has been reported to the developers. They have put in a check so that the first release will throw an error instead of attempting an extrapolation. So it's back to traditional interpolation methods. Keep this in mind when viewing the code from the last two posts.

posted @ Saturday, December 03, 2011 11:45 PM | Feedback (16) | Filed Under [ Technical Computing ]

A C++ Interpolation Class for Tabled Data

I have wrapped the interpolation method using the Fenics Project into a template class. The class is template on the interpolation basis function so that the user may choose the order of interpolation. The class also contains an array of y values so that it may serve as a table of values. Part of this is a map to the variable name for convenience when calling for tabled values. Since all the work goes into extrapolating to a higher basis function when the Constructor is called, lookups are cheap to retrieve. The cost should be about the...

posted @ Tuesday, November 29, 2011 12:27 PM | Feedback (8) | Filed Under [ Technical Computing ]

Interpolation/Curve Fitting in C++ with the Fenics Project in 1D, 2D and 3D

My recent research has been with the Fenics Project, which is an amazing finite element project. In general it provides the tools needed to solve differential equations with the finite element method. For some examples check out their website and view the demos and applications (my interest is in CFD). In my particular code I need to interpolate tabulated properties (steam tables) with some reasonable level of accuracy. The solution in MATLAB is straight forward, call interp1: y_i = interp1(xs, ys, x_i, 'cubic');  Where xs and ys are vectors of known x and y values and y_i is the interpolated...

posted @ Wednesday, November 23, 2011 4:07 PM | Feedback (22) | Filed Under [ Technical Computing ]

Differential Equations in Matlab

Matlab may be used to solve differential equations symbolically as well as numerically. Well, actually Maple is being used behind the scenes. This can be seen whenever an error occurs with the solver 'Error using ==> maple at 129'. Regardless, say you wanted to solve for a spring mass damper system under a forced oscillation:  m*d(d(x))+c*d(x)+k*(x)=f*cos(w*t)  The solution is lots of fun to do by hand, but faster and easier in Matlab using dsolve. Dsolve calls Maple to symbolically solve the system. The solver can solve for a single equation with boundary conditions or for systems of...

posted @ Tuesday, October 07, 2008 8:51 AM | Feedback (1) | Filed Under [ Technical Computing ]

A Programmer Takes the GRE

I am currently applying to graduate school (Aerospace Engineering) and need to take (and do well on) the GRE. I took it without preparation and did fairly well, well enough to meet requirements. However, I never like to 'meet requirements'. So back to the GRE for me, and this time I have to study! The most room for improvement was as expected on my verbal. This means studying vocab (oh no!). I talked to a few folks and did some research and found the common knowledge was to use flash cards and the study books. ...

posted @ Thursday, September 25, 2008 8:51 PM | Feedback (2) | Filed Under [ Technical Computing School ]

Visual Studio – Expand All Regions and RockScroll

Scott Hanselman recently made RockScroll available to the public here, http://www.hanselman.com/blog/IntroducingRockScroll.aspx. The add-on, if you haven't tried it, is great. One of its most useful features is highlighting in red a selected keyword both inline and in the scroll bar. It allows you to quickly, and visually find all instances of a term. The add-on has a minor bug though, it doesn't account for collapsed regions. So if regions are collapsed the scrolling will not line up with the code. David Yack posted, http://weblogs.asp.net/mrdave/archive/2004/09/17/230732.aspx, a list of some shortcuts which are particularly handy for...

posted @ Friday, August 22, 2008 9:46 PM | Feedback (4) | Filed Under [ Web Programming Technical Computing ]

SQL Server 2005 Scaling

I came across a great article on MSDN discussing various scaling options for SQL Server 2005, http://msdn.microsoft.com/en-us/library/aa479364.aspx. The article does a great job at relating data types and how they relate to scaling choices. The take away is that scaling choice is highly dependent on how the data is used by the application. For more information regarding the Peer-to-Peer scheme, this article is also a great reference for some design considerations http://technet.microsoft.com/en-us/magazine/cc160974(TechNet.10).aspx.  Table 1. Factors influencing the selection of scaleout solutions   Update FrequencyAbility to Change ApplicationData PartitionabilityData CouplingScalable Shared DatabasesRead Only.Little or no change required.No requirement.No requirement.Peer-to-Peer ReplicationRead mostly, no conflicts.Little...

posted @ Saturday, July 12, 2008 10:42 AM | Feedback (1) | Filed Under [ Web Programming Technical Computing ]

MATLAB Uncertainty Analysis

Performing an uncertainty analysis on a measurement can be tedious, taking the root sum square (RSS) of all of partials with their uncertainty. MATLAB's symbolic toolbox can speed things up, particularly when Excel cells are named the same as the symbols used. I wrote a quick MATLAB function to take the partials and perform the RSS. The first input is the symbolic expression to perform the uncertainty analysis upon. The second two parameters are the symbolic variables in the expression and the symbolic variables for the corresponding uncertainties.  function [f_u_total f_u] = uncertAnalysis(f, vars, vars_u) ...

posted @ Tuesday, May 27, 2008 4:17 PM | Feedback (4) | Filed Under [ Technical Computing ]

Powered by:
Powered By Subtext Powered By ASP.NET