I need to perform element by element subtractions within a matrix.

1 view (last 30 days)
I have a 21x2 matrix for a given row say row 12, I need to calculate the errors by using the following numerical schemes; backwards - ((y(12)-y(11)/x(12)-x(11)), forwards - (y(13)-y(12))/(x(13)-x(12), and central (y(13)-y(11))/(x(12)-x(11)). My program needs to use matrix based calculations to solve for each element of the matrix. The following code works for the forward but I cant get the backwards or central working.
yn1 =y(2:length(y));
yn = y(1:length(y)-1);
xn1 =x(2:length(x));
xn = x(1:length(x)-1);
Thanks for the help
Sean Flanagan
Sean Flanagan on 28 Sep 2022
This is the series of equations I need to satisfy. The matlab script that I have posted solves the forward equation. But I am stuck on the backwards and central equation.

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 27 Sep 2022
Edited: Image Analyst on 27 Sep 2022
Not sure what you mean by the 11, 12, and 13, but why not use the built in diff, conv, and, if you have to flip?
Give an short actual numerical example (inputs and outputs) if you still need help.
Steven Lord
Steven Lord on 28 Sep 2022
Edited: Steven Lord on 28 Sep 2022
It's one of the building blocks you need.
x = (1:5).^2
x = 1×5
1 4 9 16 25
y = diff(x)
y = 1×4
3 5 7 9
check = [y(3), x(4)-x(3)] % should match
check = 1×2
7 7
Read carefully through the diff documentation page, paying specific attention to the "Approximate Derivatives with diff" example and the description of the dim input argument.

Sign in to comment.




Community Treasure Hunt

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

Start Hunting!