How to approximate a curve in a matrix?

8 views (last 30 days)
Hello everyone,
I want to find a curve which fits in the following way for the whole width of the matrix but I really have no idea of how to do this. I tried to rotate the matrix by 180 degree and apply a mask but it is just not working. You can find a part of the matrix attached to this post.

Accepted Answer

Ishaan Mehta
Ishaan Mehta on 25 Jun 2022
Hi Glypton
I understand that you want to plot the maximum values of each row in the matrix, over a plot of the matrix itself.
This can be done using MATLAB's plot function and max function.
Here is a code snippet for the same, applied on the matrix file you have attached.
plot(matrix);
maxVals = max(matrix, [], 2);
hold on
plot(maxVals, "r", "LineWidth",2);
hold off
This is the output plot generated:
If you wish to fit a smoother curve as an approximation for the data, you can use the smooth function.
plot(matrix);
maxVals = max(matrix, [], 2);
smoothMaxVals = smooth(double(maxVals));
hold on
plot(smoothMaxVals, "r", "LineWidth",2);
hold off
This is the output plot generated:
Hope it helps
Ishaan

More Answers (0)

Categories

Find more on Line Plots in Help Center and File Exchange

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!