Making the Trend Equal??
이 질문을 팔로우합니다.
- 팔로우하는 게시물 피드에서 업데이트를 확인할 수 있습니다.
- 정보 수신 기본 설정에 따라 이메일을 받을 수 있습니다.
오류 발생
페이지가 변경되었기 때문에 동작을 완료할 수 없습니다. 업데이트된 상태를 보려면 페이지를 다시 불러오십시오.
이전 댓글 표시
0 개 추천

Line two is upside down as compared to line one

And as shown above,
I want to make Line 2 the same as Line 1.
The picture above is my guess.
Do you have any mathematical methods or other methods?
My English is not good sorry.
채택된 답변
Image Analyst
2019년 12월 25일
0 개 추천
You can fit a line through curve 1. Then subtract the max of curve two and add the fitted line to it.
coefficients = polyfit(x1, y1, 1); % Fit a line.
% Get the line at locations where you have x2.
line1 = polyval(coefficients, x2);
% Find the max of curve 2.
y2max = max(y2);
% Make output curve (curve 3)
y3 = y2 - y2max + line1; % Tilt curve 2 upwards at the slant of curve 1
If you need more help, please attach the two curves in a .mat file with the paper clip icon.
댓글 수: 6
Kang Min Kim
2019년 12월 25일
Thanks for the reply But I want to adopt this answer, but I get an error. What should I do?
Kang Min Kim
2019년 12월 25일
편집: Image Analyst
2019년 12월 25일
>> t = 0:300;
dailyFluct = gallery('normaldata',size(t),2);
sdata = cumsum(dailyFluct) + 20 + t/100;
figure
plot(t,sdata);
legend('Original Data','Location','northwest');
xlabel('Time (days)');
ylabel('data');
I'd like to make this graph the same as the question I posted.
I don't know how to turn the graph upside down.
Please excuse me for that. Thank you.
Image Analyst
2019년 12월 25일
Your code makes this plot:

Tell me which is curve 1 (the top one), which is curve 2 (the middle one), and then I can tell you how to make curve 3 (the bottom one).
Kang Min Kim
2019년 12월 25일
Curve 2 is the upside down of that curve
I don't know how to do the upside down, sorry

This is curve 2
But this is just a change of axis
I'm not inverting the data(value)
I do not know how to do upside down data(value)
sorry
Image Analyst
2019년 12월 25일
Do you mean something like this:
clc; % Clear the command window.
clear all; % Including global variables.
close all force; % Close all figures (except those of imtool.)
workspace; % Make sure the workspace panel is showing.
filebrowser;
format short g;
format compact;
fontSize = 14;
t = 0:300;
dailyFluct = gallery('normaldata',size(t),2);
sdata = cumsum(dailyFluct) + 20 + t/100;
figure
subplot(1, 3, 1);
plot(t, sdata, 'b-', 'LineWidth', 2); % Plot original y data
% legend('Original Data','Location','northwest');
grid on;
xlabel('Time (days)');
ylabel('data');
title('Original data', 'FontSize', fontSize);
coefficients = polyfit(t, sdata, 1); % Fit a line.
% Get the line at locations where you have x2.
line1 = polyval(coefficients, t);
hold on;
plot(t, line1, 'r-', 'LineWidth', 2); % Plot line
legend('original y', 'Line through y');
% Find the max of curve 1.
y1min = sdata(1);
% Make the upside down data.
y2 = -sdata;
subplot(1, 3, 2);
plot(t, sdata, 'b-', 'LineWidth', 2); % Plot original y data
hold on;
plot(t, line1, 'r-', 'LineWidth', 2); % Plot line
plot(t, y2, 'c-', 'LineWidth', 2); % Plot upside down (negative) data
grid on;
title('Upside down data', 'FontSize', fontSize);
% Shift y2 upwards so that the first points start at the same y location.
y2 = y2 + 2 * y1min;
plot(t, y2, 'm-', 'LineWidth', 2); % Plot line
legend('original y', 'Line through y', 'Negative y', 'Negative y shifted upwards');
% Make output curve (curve 3)
y3 = 2 * line1 + y2 - 2 *y1min; % Tilt curve 2 upwards at the slant of curve 1
subplot(1, 3, 3);
plot(t, sdata, 'b-', 'LineWidth', 2); % Plot original y data
hold on;
plot(t, line1, 'r-', 'LineWidth', 2); % Plot line
plot(t, y3, 'm-', 'LineWidth', 2);
grid on;
title('Both original and Upside down data', 'FontSize', fontSize);
legend('original y', 'Line through y', 'y3, tilted upwards');

Kang Min Kim
2019년 12월 30일
thank you for your answer
I want to replace line through y with the moving average(30days) of original y.
I would appreciate it
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Parametric Modeling에 대해 자세히 알아보기
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
