degree = sum(a1~=0, 2); % 计算每个节点的度数 [~, idx] = sort(degree, 'descend'); % 按度数大小排序 x1_new = x1(idx); y1_new = y1(idx); z1_new = z1(idx); % 输出每个节点的坐标及编号 fid = fopen('node_coordinates.txt', 'w'); for i = 1:N fprintf(fid, 'Node %d: (%f,%f,%f)\n', idx(i), x1_new(i), y1_new(i), z1_new(i)); end fclose(fid);怎么把这个改成只输出xyz坐标
时间: 2023-11-28 10:50:02 浏览: 48
你只需要修改 fprintf 函数的格式化字符串即可,将 'Node %d: (%f,%f,%f)\n' 改成 '%f,%f,%f\n' 即可:
```
degree = sum(a1~=0, 2); % 计算每个节点的度数
[~, idx] = sort(degree, 'descend'); % 按度数大小排序
x1_new = x1(idx); y1_new = y1(idx); z1_new = z1(idx);
% 输出每个节点的坐标
fid = fopen('node_coordinates.txt', 'w');
for i = 1:N
fprintf(fid, '%f,%f,%f\n', x1_new(i), y1_new(i), z1_new(i));
end
fclose(fid);
```
这样修改之后,输出的文件中每行只包含一个节点的坐标,以逗号分隔,不再包含节点编号。
阅读全文