Python Scientific Computing: Method of Undetermined Coefficients in Python

AI Thread Summary
The discussion revolves around translating MATLAB code from a self-learning project into Python due to the high cost of MATLAB. A specific function, fdcoeffF.m, is highlighted, with suggestions on how to convert it to Python. Users are encouraged to copy the MATLAB code into a Jupyter notebook and adapt it line by line, noting the differences in syntax between MATLAB and Python, such as using 'len()' instead of 'length()'. One participant shares their progress by defining an array in Python and obtaining specific results, seeking verification from someone with MATLAB access. Alternatives to MATLAB, such as Wolfram Alpha and GNU Octave, are recommended for those looking for free options. The conversation also touches on the release of Octave version 6.2 and mentions Pandas DataFrame operations as a relevant topic.
the_dane
Messages
29
Reaction score
0
TL;DR Summary
I am asking if anyone have some Python code to compute coefficients
In a self learning project I am fooling around book https://faculty.washington.edu/rjl/fdmbook/

I want to do some of the computation myself to better understand the concepts but the book is Matlab based and Matlab is too expensive.
Does anyone by any chance have some of the codes provided by the book translated into Python?

Specifically I am looking at this function here which I want in Python:
https://faculty.washington.edu/rjl/fdmbook/matlab/fdcoeffF.m
 
Technology news on Phys.org
You can almost literally use that MATLAB script in python. Just copy the entire contents of the function into e.g. a jupyter notebook cell and run it (not as a function but just the contents of the function). Then start at line 1 and fix it line by line into python code.

For instance, the first line is n=length(x), so before this line you start by defining the inputs. Define an array of coordinates called x:
Python:
import numpy as np
x = np.array([0.0, 0.1, 0.2])

and then you find out that the command for length() is called len() in python
Python:
n = len(x)

etc. It is a very basic code, so some self-learning of python and numpy for an hour should give you enough background to finish the porting to python. You can start here and follow the basic python tutorial and then the numpy tutorial:

https://www.w3schools.com/python/python_syntax.asp
 
I have now typed something in Python.
for k = 2, xbar = pi/2, and x =[pi/2-0.2 , pi/2-0.1, pi/2, pi/2 + 0.1, pi/2 + 0.2]

I get the results:

C = [-8.33333333, 133.33333333, -250. , 133.33333333, -8.33333333]Can someone with MATLAB license please verify this result. I will be extremely helpfull, thanks!
 
the_dane said:
Can someone with MATLAB license please verify this result. I will be extremely helpfull, thanks!
You can use Wolfram Alpha.
 
Octave, https://www.gnu.org/software/octave/index, is a freeware Matlab clone. I have been using it for several years, and it has worked very well. The only real difference is that many of the help files are a little less helpful than those in Matlab.

I see that version 6.2 has been released. Time to upgrade.
 
  • Like
Likes jim mcnamara and Stephen Tashi
Dear Peeps I have posted a few questions about programing on this sectio of the PF forum. I want to ask you veterans how you folks learn program in assembly and about computer architecture for the x86 family. In addition to finish learning C, I am also reading the book From bits to Gates to C and Beyond. In the book, it uses the mini LC3 assembly language. I also have books on assembly programming and computer architecture. The few famous ones i have are Computer Organization and...
I have a quick questions. I am going through a book on C programming on my own. Afterwards, I plan to go through something call data structures and algorithms on my own also in C. I also need to learn C++, Matlab and for personal interest Haskell. For the two topic of data structures and algorithms, I understand there are standard ones across all programming languages. After learning it through C, what would be the biggest issue when trying to implement the same data...

Similar threads

Replies
10
Views
3K
Replies
5
Views
1K
Replies
13
Views
3K
Replies
9
Views
3K
Replies
8
Views
2K
Back
Top