Solving equation system of piecewise defined function to guarantee continuity

In a scientific paper I have given a model that calculates temperature (in kelvin) to a certain x-value (distance from the center point) of a transistor.
That model consists of 5 functions distributing the x-range into 5 regions as follows:
My problem now is that those 5 functions all in all contain 8 unknown coefficients that I need to know (which is my main goal) and then further calculate temperatures. That's why I first need to solve the following equation system consisting of 8 equations (see below (30) - (37)) to keep the function steady at those boundaries where two functions "collide":
The functions and necessary variables that are used inside this model are defined in the following:
  • Functions T1 & T5 (missing coefficients: beta_S in the A_ns term and beta_D in the A_nd term)
  • Variable lambda (valid for region 1,2, 4 & 5)
  • Functions T2 & T4 (unknown coefficients: C2, D2 for T2 and C4, D4 in T4)
  • For function T3
  • Variable lambda (valid for region 3)
  • Variable m
The rest of the variables (e.g. wFin, wSD) is given in my MATLAB code above my post.
So my approach was:
1.) Set up the above declared 8 equations (30)-(37) using the function and variable definitions.
2.) Use the MATLAB 'solve' function to receive values for the unknown coefficients.
3.) Calculate temperatures over a sample of which I know the values approximately.
My results look like that:
My concrete questions are:
a) There are 2 major concerns regarding my results:
  • In region 1 and region 5 (flat orange lines on the left and right side) the actual values are severely underestimated.
  • Between region 2 and 3 as well as between region 3 and 4 the curve are not steady.
Can you take a guess on what could possibly be wrong when having such errors?
If somebody checked my code and could even tell me concrete errors I would be very thankful. I have already spent too much time on it and wasn't able to further proceed.
b) I approximated each of the infinite series (for example the one in function T1) by using a finite series (as you can see in the for-loops in my code) and tested it with different amounts of summands (using variable 'lengthOfMySeries'). I always had the same bad results so I hope that doesn't contribute too much to the error.
Am I correct in the assumption that this infinite series approximation by using a finite series shouldn't be solely responsible for the bad results in my diagram?

Answers (0)

Categories

Find more on Language Fundamentals in Help Center and File Exchange

Asked:

on 24 Dec 2018

Edited:

on 24 Dec 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!