フィルターのクリア

How to get multiple slopes from a file.

6 ビュー (過去 30 日間)
Minions
Minions 2021 年 2 月 5 日
コメント済み: Minions 2021 年 2 月 5 日
I have files, where the first column represent as x axis and the other columns are for y axis. I can get different XY curves by plotting them. For example, by plotting the first column with the second column I get one graph, again by plotting the first column with the third column I get another curve and so on. I need to calculated the slopes of each curves. Until now I have the programming to calculate the slop for one curve and to get all of the slopes together, I have to change some values again and again, but I prefer to do it manually and save them as a csv file. Can any one help me with this? I am totally new at matlab, any kind of help would be appreciated.
reading = csvread("test.csv");
x = reading(:,1);
y = reading (:,7);
x1q = find((x >= -0.6) & (x <=-0.45))% range -0.6 and -0.45
p=polyfit(x(x1q), y(x1q),1)
slope= p(1)
figure(2)
plot(x, y, '-b')
hold on
plot(x(x1q), y(x1q),'ok');

採用された回答

KSSV
KSSV 2021 年 2 月 5 日
編集済み: KSSV 2021 年 2 月 5 日
You have to run a loop for each column for which you want to get slopes.
data = csvread("test.csv");
[m,n] = size(data) ;
slope = zeros(n-1,1) ;
x = data(:,1);
for i = 2:n
y = data (:,i); % pick each column
idx = find((x >= -0.6) & (x <=-0.45))% range -0.6 and -0.45
p=polyfit(x(idx), y(idx),1) ;
slope(i-1) = p(1)
end
  5 件のコメント
KSSV
KSSV 2021 年 2 月 5 日
Yes you are right......edited the code...loop should be from 2 to n....
Minions
Minions 2021 年 2 月 5 日
ok, thank you so much for the help.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSpecifying Target for Graphics Output についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by