% 输出结果 for i = 1:length(I) fprintf('第%d个最重要的节点是 %d 具有流动中介中心性 %f\n',i,I(i),M(i)); node_coordinates = importdata('node_coordinates.txt'); fprintf('该节点的坐标:\n'); disp(node_coordinates(I(i),:)); end怎么讲这个结果中的坐标保存到txt中
时间: 2024-02-04 16:02:10 浏览: 29
你可以在for循环内部使用fprintf函数将坐标信息写入到txt文件中,具体代码如下:
```
fid = fopen('node_coordinates_result.txt', 'w');
for i = 1:length(I)
fprintf(fid, '第%d个最重要的节点是 %d 具有流动中介中心性 %f\n', i, I(i), M(i));
node_coordinates = importdata('node_coordinates.txt');
fprintf(fid, '该节点的坐标:\n');
fprintf(fid, '%f %f %f\n', node_coordinates(I(i),:));
end
fclose(fid);
```
这段代码会在当前目录下生成一个名为node_coordinates_result.txt的文件,其中包含了每个最重要节点的坐标信息。
相关问题
% 找到最大的10个节点 [M,I] = sort(flow_betweenness,'descend'); I = I(1:10); M = M(1:10); % 输出结果 for i = 1:length(I) fprintf('第%d个最重要的节点是 %d 具有流动中介中心性 %f\n',i,I(i),M(i)); node_coordinates = importdata('node_coordinates2.txt'); fprintf('该节点的坐标:\n'); disp(node_coordinates(I(i),:)); end如何将最后的节点坐标保存在txt文件中
你已经问过相同的问题了,我已经回答了。下面是代码:
```matlab
% 找到最大的10个节点
[M,I] = sort(flow_betweenness,'descend');
I = I(1:10);
M = M(1:10);
% 输出结果
for i = 1:length(I)
fprintf('第%d个最重要的节点是 %d 具有流动中介中心性 %f\n',i,I(i),M(i));
node_coordinates = importdata('node_coordinates2.txt');
fprintf('该节点的坐标:\n');
disp(node_coordinates(I(i),:));
end
% 保存节点坐标
dlmwrite('top10_nodes.txt', node_coordinates(I,:), 'delimiter', ' ');
```
这段代码会将最重要的十个节点的坐标保存在 `top10_nodes.txt` 文件中,每行为一个节点,节点坐标之间以空格分隔。你可以根据自己的需要修改文件名和分隔符。
fid = fopen('liujieshu1.txt', 'w'); for i = 1:length(I) fprintf(fid, '第%d个最重要的节点是 %d 具有流动中介中心性 %f\n', i, I(i), M(i)); node_coordinates = importdata('node_coordinates.txt'); fprintf(fid, '该节点的坐标:\n'); fprintf(fid, '%f %f %f\n', node_coordinates(I(i),:)); end fclose(fid); 误使用 fprintf 没有为 'cell' 输入定义函数。 出错 oooo (line 422) fprintf(fid, '%f %f %f\n', node_coordinates(I(i),:));
这个错误可能是因为node_coordinates被识别为一个cell数组,而不是一个double数组。你可以尝试使用cell2mat函数将其转换为double数组,然后再进行坐标信息的输出。具体代码如下:
```
fid = fopen('liujieshu1.txt', 'w');
for i = 1:length(I)
fprintf(fid, '第%d个最重要的节点是 %d 具有流动中介中心性 %f\n', i, I(i), M(i));
node_coordinates = importdata('node_coordinates.txt');
fprintf(fid, '该节点的坐标:\n');
fprintf(fid, '%f %f %f\n', cell2mat(node_coordinates(I(i),:)));
end
fclose(fid);
```
这段代码会将node_coordinates转换为double数组,然后将每个最重要节点的坐标信息写入到liujieshu1.txt文件中。