x轴从1开始,matlab
时间: 2023-08-31 17:57:28 浏览: 89
如果你想要将x轴从1开始绘制图形,你可以在绘制关系图之前修改x轴的数据范围。下是修改后的代码示例:
```matlab
[data1, text, raw] = xlsread('振型','Sheet1');
ZX = data1;
m = size(ZX, 1);
c_values = [1:15]; % 指定要改变的c值
max_non_diag_MAC_values = []; % 存储新的max_non_diag_MAC值的数组
for c = c_values
d = [1:m];
for i = 1:m-c
E = ZX * (ZX' * ZX)^(-1) * ZX';
EA = diag(E);
[~, b] = min(EA);
ZX(b, :) = [];
d(:, b) = [];
end
M = ZX;
[m, n] = size(M);
MAC = zeros(n, n);
for i = 1:n
for j = 1:n
a = M(:, i);
b = M(:, j);
MAC(i, j) = (a' * b)^2 / ((a' * a) * (b' * b));
end
end
diag_MAC = diag(MAC);
non_diag_MAC = MAC - diag(diag_MAC);
max_non_diag_MAC = max(non_diag_MAC(:));
max_non_diag_MAC_values = [max_non_diag_MAC_values, max_non_diag_MAC]; % 将新的max_non_diag_MAC添加到数组中
end
% 创建x轴数据(从1开始)
x = 1:numel(max_non_diag_MAC_values);
% 绘制关系图
plot(x, max_non_diag_MAC_values, '-o');
% 添加标题和轴标签
title('max_non_diag_MAC值与c之间的关系');
xlabel('c值');
ylabel('max_non_diag_MAC值');
```
在修改后的代码中,我们首先创建了一个从1开始递增的x轴数据,使用`numel`函数获取`max_non_diag_MAC_values`数组的长度作为x轴数据的范围。
然后,我们使用修改后的x轴数据和`max_non_diag_MAC_values`数组绘制关系图。
最后,我们使用`title`、`xlabel`和`ylabel`函数添加标题和轴标签。
请注意,以上代码仅提供了一个示例,你可能需要根据具体情况进行适当的修改和调整。如果有任何进一步的问题,请随时提问。
阅读全文