matlab图论不画边
时间: 2023-08-20 10:09:04 浏览: 48
你可以使用 MATLAB 的图论工具箱来绘制图论中的节点,但默认情况下不会绘制边。要在 MATLAB 中绘制图论中的边,你需要使用 `plot` 函数或其他适合的绘图函数来绘制节点之间的连线。你可以使用节点的坐标和连接关系来绘制边。
以下是一个简单的示例代码,展示如何使用 `plot` 函数在 MATLAB 中绘制一个简单的图论图:
```matlab
% 创建节点坐标
nodes = [0 0; 1 1; 2 0; 1 -1];
% 创建连接关系
edges = [1 2; 2 3; 3 4; 4 1];
% 绘制节点
plot(nodes(:,1), nodes(:,2), 'o');
hold on;
% 绘制边
for i = 1:size(edges, 1)
start_node = nodes(edges(i, 1), :);
end_node = nodes(edges(i, 2), :);
plot([start_node(1), end_node(1)], [start_node(2), end_node(2)], 'k-');
end
% 设置图的标题和坐标轴标签
title('Graph');
xlabel('X');
ylabel('Y');
% 关闭坐标轴的网格
grid off;
% 关闭图的保持模式
hold off;
```
这段代码创建了一个包含四个节点和四条边的图论图,并使用 `plot` 函数绘制出来。你可以根据自己的需求修改节点坐标和连接关系。
相关问题
matlab图论画点整
您可以使用MATLAB的plot函数来绘制点。以下是一个简单的示例:
```matlab
% 创建两个随机点的坐标
x = rand(1, 50);
y = rand(1, 50);
% 绘制点
scatter(x, y, 'filled');
```
在这个例子中,我们创建了50个随机的点,然后使用scatter函数将这些点绘制在图上。'filled'参数使点被填充。您可以根据需要调整点的数量和样式。
图论着色问题matlab
图论着色问题是指在一个图中给每个节点染色,使得相邻的节点颜色不同。以下是图论着色问题的Matlab应用程序:
1. 可以画出任意节点个数的空图和完全图:
```matlab
% 画出n个节点的空图
n = 10; % 节点个数
G = sparse(n,n); % 创建一个空图
gplot(G, [cos((1:n)*2*pi/n); sin((1:n)*2*pi/n)]'); % 画出空图
% 画出n个节点的完全图
n = 10; % 节点个数
G = ones(n,n) - eye(n); % 创建一个完全图
gplot(G, [cos((1:n)*2*pi/n); sin((1:n)*2*pi/n)]'); % 画出完全图
```
2. 可以输入任意矩阵并画图:
```matlab
% 输入一个邻接矩阵并画图
A = [0 1 1 0; 1 0 1 1; 1 1 0 1; 0 1 1 0]; % 邻接矩阵
G = graph(A); % 创建一个图
plot(G); % 画出图
```
3. 可以求出色多项式:
```matlab
% 求出一个图的色多项式
A = [0 1 1 0; 1 0 1 1; 1 1 0 1; 0 1 1 0]; % 邻接矩阵
G = graph(A); % 创建一个图
chrompoly(G); % 求出色多项式
```