Change of boundary condition
You are now following this question
- You will see updates in your followed content feed.
- You may receive emails, depending on your communication preferences.
An Error Occurred
Unable to complete the action because of changes made to the page. Reload the page to see its updated state.
0 votes
Share a link to this question
1 Comment
Share a link to this comment
Accepted Answer
0 votes
Share a link to this answer
8 Comments
Share a link to this comment
Share a link to this comment
Share a link to this comment
Share a link to this comment
Share a link to this comment
- there are alpha values that succeed with no warning messages needed
- there are alpha values that succeed with warning -- the warning tells you that something very questionable is going on with the mathematics and yet something at least looks like success came out of it
- there are alpha values for which convergence fails because the b matrix for J\b becomes complex. When b becomes complex, then that "pollutes" the remaining calculations and would inevitably lead to an error about trying to take spline over complex values. There were no cases in which the calculation was able to succeed after b became complex
- there are alpha values for which convergence fails because lambda_u exceeds the built-in safety point that apparently has something to do with the equation being considered to rise too rapidly (I do not know what that is about)
- there are alpha values for which the jacobian ends up with a reciprocal condition number that is small enough to be of distinct concern, that a single bit of round-off difference could result in a change about 3E12 larger than the value associated with the bit. Those cases happened regularly enough that the entire calculation chain should be reviewed as being questionable. But still, I was able to find a boundary where when the reciprocal condition number was above that boundary, the calculations sometimes succeeded. For this range of reciprocal condition number, I just set up a warning, but still have the code path use the J\b calculation.
- there are alpha values for which the jacobian ends up small enough that MATLAB was warning about likely failure of the J\b operation. I was able to find a boundary where when the reciprocal condition number was smaller than the boundary, that the overall calculation has never succeeded. Failure was not typically immediate in such cases, but left to enough iterations, there has always been failure if the reciprocal condition number was smaller. However, when I detect that case, I do not terminate iteration, but I do avoid the singularity warning by switching that one operation from J\b to pinv(J)*b
- 20 iterations was too small. I changed the limit. There were some calculations going at least as high as 55 iterations, and successes over 30.
- So far, every alpha 0.401767 or higher has failed. 0.401766 succeeded even though some entries slighty lower failed.
- In the case where jacobian (near-) singularities were detected, the failures distribute fairly evenly between exceeding lambda_u or b going complex (I thought I had detected a pattern that lambda_u was "nearly always" the failure cause in this situation, but further testing showed that they are pretty balanced.)
More Answers (0)
Categories
Find more on Interpolation in Help Center and File Exchange
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)