在MATLAB中实现这一点的更好方法?
我正在创建一个3x3的子地块,我想有一些显示选项。每个子图都显示了一个自由度的扭矩与时间的关系(例如膝关节屈曲/伸展),但我试图给出是否显示右侧和左侧、根据受试者质量标准化的扭矩、平均值或否等选项。现在我正在明确地对这些选项进行编码,但有没有更好的方法让我选择,比如说:仅左侧,不标准化,显示平均值?嗯在MATLAB中实现这一点的更好方法?,matlab,graph,plot,Matlab,Graph,Plot,我正在创建一个3x3的子地块,我想有一些显示选项。每个子图都显示了一个自由度的扭矩与时间的关系(例如膝关节屈曲/伸展),但我试图给出是否显示右侧和左侧、根据受试者质量标准化的扭矩、平均值或否等选项。现在我正在明确地对这些选项进行编码,但有没有更好的方法让我选择,比如说:仅左侧,不标准化,显示平均值?嗯 plotRight = 1; normalizeByMass = 0; figure(1); for DOF = 1:9 subplot(3,3,DOF); if
plotRight = 1;
normalizeByMass = 0;
figure(1);
for DOF = 1:9
subplot(3,3,DOF);
if normalizeByMass
if plotRight
plot(x, torqueRnorm(:,:,DOF), 'r');
hold on
end
if plotLeft
plot(x, torqueLnorm(:,:,DOF));
hold on
end
else
if plotRight
plot(x, torqueR(:,:,DOF), 'r');
hold on
end
if plotLeft
plot(x, torqueL(:,:,DOF));
hold on
end
end
end
plot(x, torqueRmean(:,DOF), 'k', 'LineWidth', 2);
hold on
plot(x, torqueLmean(:,DOF), 'k', 'LineWidth', 2);
hold on
ylabel('Hip');
title('X');
axis tight;
下一个子地块也是一样的
谢谢你,你的方法是正确的。与每次要隐藏某些绘图等时手动注释行相比,使用变量和条件要好得多 现在您可以做的是将所有内容包装到函数中。您的参数(
plotLeft
,plotRight
…)将成为此函数的参数。就像这样,你隐藏了复杂性,它让你的思想得以解放,去建造更大的东西
您还可以做一些小事情来提高可读性:
hold-on
只能在子批之后调用一次
true
和false
,而不是0和1图
、子地块
、绘图
、xlabel
、标题
、轴
,以及通常任何不返回任何内容的指令之后,不需要分号所有这些选项仍然需要背后的代码,据我所知,它们对MATLAB不是很友好。我将查看指南。它不是为任何用户,它只是为我-我只是试图学习如何成为一个更好的程序员,并怀疑是否有更好的方式:-请考虑编辑这个职位的标题或选择更翔实的标题下次!好的,太好了!谢谢很高兴知道我在正确的轨道上,我会把你的建议付诸实践。