在Matlab中绘制矩阵
我的任务是绘制两个算法的计算时间成本,并将其与所解矩阵的大小成函数关系 到目前为止,我所做的是制作一种方法,对每个算法执行x次并存储时间 最后,我得到了这样一个矩阵:在Matlab中绘制矩阵,matlab,matrix,plot,Matlab,Matrix,Plot,我的任务是绘制两个算法的计算时间成本,并将其与所解矩阵的大小成函数关系 到目前为止,我所做的是制作一种方法,对每个算法执行x次并存储时间 最后,我得到了这样一个矩阵: T = 1.248008000000027e-003 9.360059999994519e-004 7.488048000004710e-003 1.456009333332986e-002 4.992032000000109e-002 2.808017999999492e-002 1.809611600000
T =
1.248008000000027e-003 9.360059999994519e-004
7.488048000004710e-003 1.456009333332986e-002
4.992032000000109e-002 2.808017999999492e-002
1.809611600000039e-001 1.489809550000018e-001
5.740836800000352e-001 5.865637599999672e-001
4.748670439999978e+000 4.714350220000005e+000
第一行是尺寸为20x20的矩阵的两种算法的计算成本,第二行是尺寸为40x40的矩阵的两种算法的成本,然后是80x80、160x160、320x320和640x640的成本
这两列几乎相同的原因是因为我还没有编写第二个算法,并且只使用了第一个算法两次
我现在需要做的是绘制这两种算法的成本,在同一个图中,随着矩阵大小的增加。
然而,我仍然停留在绘图语法上,一直未能获得一个漂亮的图形。
有人能帮忙吗?就这样吧:
plot(T)
或者,如果需要x值,请定义x,然后
plot(x,T(:,1))
hold all
plot(x,T(:,2))
就这样吧:
plot(T)
或者,如果需要x值,请定义x,然后
plot(x,T(:,1))
hold all
plot(x,T(:,2))
如果第一列属于不同大小的第一个算法的计算时间,第二列属于第二个算法的计算时间,则可以漂亮地绘制它: 假设存储计算时间的矩阵为TimeComputation
figure(1)
plot(TimeComputation(:,1),'-.r')
hold on
plot(TimeComputation(:,2),'--.b')
legend('Function 1','Function 2')
如果您还有任何问题,请告诉我 如果第一列属于不同大小的第一个算法的计算时间,而第二列属于第二个算法的计算时间,则可以漂亮地绘制它: 假设存储计算时间的矩阵为TimeComputation
figure(1)
plot(TimeComputation(:,1),'-.r')
hold on
plot(TimeComputation(:,2),'--.b')
legend('Function 1','Function 2')
如果您还有任何问题,请告诉我 怎么样
T = [
1.248008000000027e-003 9.360059999994519e-004
7.488048000004710e-003 1.456009333332986e-002
4.992032000000109e-002 2.808017999999492e-002
1.809611600000039e-001 1.489809550000018e-001
5.740836800000352e-001 5.865637599999672e-001
4.748670439999978e+000 4.714350220000005e+000];
figure, hold on
% column 1
plot(1:size(T,1), T(:,1), 'r.-');
% column 2
plot(1:size(T,1), T(:,2), 'b.-');
% nicer labels at the X-tick locations
set(gca, 'xticklabel', {...
'20×20',...
'40×40',...
'80×80',...
'160×160',...
'320×320',...
'640×640'}...
);
% finish plot
grid on
ylabel('Execution time required [s]')
xlabel('Matrix size [-]')
legend(...
'Algorithm 1',...
'Algorithm 2',...
'location', 'NorthWest'...
);
结果:
怎么样
T = [
1.248008000000027e-003 9.360059999994519e-004
7.488048000004710e-003 1.456009333332986e-002
4.992032000000109e-002 2.808017999999492e-002
1.809611600000039e-001 1.489809550000018e-001
5.740836800000352e-001 5.865637599999672e-001
4.748670439999978e+000 4.714350220000005e+000];
figure, hold on
% column 1
plot(1:size(T,1), T(:,1), 'r.-');
% column 2
plot(1:size(T,1), T(:,2), 'b.-');
% nicer labels at the X-tick locations
set(gca, 'xticklabel', {...
'20×20',...
'40×40',...
'80×80',...
'160×160',...
'320×320',...
'640×640'}...
);
% finish plot
grid on
ylabel('Execution time required [s]')
xlabel('Matrix size [-]')
legend(...
'Algorithm 1',...
'Algorithm 2',...
'location', 'NorthWest'...
);
结果:
您能告诉我们您尝试过但失败的代码吗?您能告诉我们您尝试过但失败的代码吗?谢谢!事实证明,有些事情我不太懂。这个很好用,谢谢!事实证明,有些事情我不太懂。这很好用。谢谢,这和下面的建议差不多,但是那一个更广泛。谢谢,这和下面的建议差不多,但是那一个更广泛。