How to approximate a curve in a matrix?

3 ビュー (過去 30 日間)
Glypton
Glypton 2022 年 6 月 19 日
回答済み: Ishaan Mehta 2022 年 6 月 25 日
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.

採用された回答

Ishaan Mehta
Ishaan Mehta 2022 年 6 月 25 日
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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeCurve Fitting Toolbox についてさらに検索

製品


リリース

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by