Перевернутые значения массива данных - Matlab - PullRequest
1 голос
/ 13 октября 2019

Как я могу перевернуть значения данных массива (основанные на значениях Y), чтобы при построении графика это было похоже на зеркальный график? (вместо того, чтобы выглядеть как «гора», он будет выглядеть как «долина»)

Код:

clc
clear 
close all

y   = [4 5 6 9 10 20 22 25 22 20  15 10 0];
x  = 0:12;
data = rot90(cat(1, x, y));
flipData = flip(data);
figure('Name','Data','NumberTitle','off');
plot(data(:,1),data(:,2),'r','LineWidth',2); 
figure('Name','Flip Data','NumberTitle','off');
plot(flipData(:,1),flipData(:,2),'r','LineWidth',2);  

Ответы [ 2 ]

1 голос
/ 13 октября 2019

Вы можете построить max(y) - y:

y2 = max(y) - y;
plot(x, y2, 'r', 'LineWidth', 2);
0 голосов
/ 13 октября 2019

Вы можете изменить направление оси так, чтобы ваш график был перевернут, но значения Y по-прежнему верны.

y   = [4 5 6 9 10 20 22 25 22 20 15 10 0];
x  = 0:12;
data = rot90(cat(1, x, y));

figure('Name','Data','NumberTitle','off');
plot(data(:,1),data(:,2),'r','LineWidth',2); 

figure('Name','max(y) - y','NumberTitle','off');
y2 = max(y) - y;
plot(x, y2, 'r', 'LineWidth', 2);

figure('Name','ax.YDir reverse','NumberTitle','off');
plot(data(:,1),data(:,2),'r','LineWidth',2);
ax = gca;
ax.YDir = 'reverse';

matlab graphs

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...