作业帮 > 综合 > 作业

matlab 画图分段涂色

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/29 07:37:16
matlab 画图分段涂色
我的样本是一个矩阵 假如是40乘以20 现在我只想要里面的一列把它画出来假设这一列是k=7 本来我直接plot(X(:,k))就可以出来的 但是我想要第7列的这个向量 的前20行是红色 后20行是默认的蓝色 怎么实现?
很高兴为你解答这个问题.我觉得你可以分两个步骤来画图.
(1)使用红色线 画X的第七列的前20个元素.
(2)使用蓝色线 画X的第七列的后20个元素.
具体命令示例如下:
plot(X(1:20,k),'r') % ‘r’表示用红色线画
hold on %这个语句是必须的,否则后面的图像会覆盖掉前面的图像
plot(X(21:40,k)) %默认使用蓝色线,也可以显示指定用蓝色线 'b'
有问题还可以继续讨论!
再问: 谢谢你的 回答 可是我运行的还是不对 后来想了一晚上 你的hold on 叠加的第二个的图形向量 还是成索引为1开始 的横坐标 所以图形是横坐标是叠加的 这样不对 不满足我要的要求哦···
再答: 还是成索引为1开始 的横坐标? plot(X(21:40,k)) 我使用的是X的21:41的索引呀,怎么会是从索引1开始的呢? 我不太明白您的意思了。
再问:    我弄的分段是100  你看看 后面的出不来  因为他100啊重新按的索引是1开始算的  hold on  叠加的是一个从100开始的向量 但是并没有累加索引  不之图形你看懂了吗 呵呵 可以q交流466413507
再答: 哦,我明白了,那你为什么不直接制定横坐标呢?可以这样改,你试试对不对。 plot(1:20,X(1:20,k),'r') % ‘r’表示用红色线画 hold on %这个语句是必须的,否则后面的图像会覆盖掉前面的图像 plot(21:40,X(21:40,k)) %默认使用蓝色线,也可以显示指定用蓝色线 'b' 其中,我增加了X横坐标的范围,当然你可以根据自己的需求进行改变。 本质为: plot(x,y) 先前我们画图的时候,只制定了y,没有制定x,现在需要制定x,使得两个plot的x不重叠,而且需要保证x与y的维数是相同的。 这么说,你明白了吗?