matlab plot函数中plot画图怎么将每个点连线

查看: 33561|回复: 10|关注: 0
Matlab中plot画图,如何改变坐标范围
Q0=[680 640 620 600 630 650 670 720 760 800 740 720 700 730 760 780 740 760 790 800 850 750 730 700];
t=1:length(Q0);
plot(t,Q0)
想把纵坐标的范围设置成[0,900],间距为100;横坐标的范围是[0,24],间距为1.
能否给个完整代码,谢谢。
[ 本帖最后由 mooni 于
17:39 编辑 ]
关注者: 1
关注者: 1
用于控制坐标点。
axis([0 24 0 900]);
set(gca,'xtick',[0 1 2 ...24]);
set(gca,'ytick',[0 100 200 300 400 500 600 700 800 900]);
非常感谢楼主的说
谢谢啊。又学习了
不错,谢谢分享。
Q0=[680 640 620 600 630 650 670 720 760 800 740 720 700 730 760 780 740 760 790 800 850 750 730 700];
t=1:length(Q0);
plot(t,Q0)
axis([0 24 0 900]);
set(gca,'xtick',[0 1 2 ...24]);
set(gca,'ytick',[0 100 200 300 400 500 600 700 800 900]);
多谢分享:)
谢谢解答,正在用
Powered by查看: 11548|回复: 12|关注: 0
关于matlab画图的问题 plot 如何把点连成线..
先贴出小弟的代码:
P0=get(handles.str1,'string');
Cm=get(handles.str2,'string');
Cr1=get(handles.str3,'string');
Cr2=get(handles.str4,'string');
d=get(handles.str5,'string');
for k=0.1:0.002:0.9
Pm2Cr1=(str2num(P0)-str2num(Cm)-str2num(Cr1))*[k/(k+1)+k.^(k+1)/(k+1).^(k+2)]+str2num(Cr1)...
-[((((str2num(P0)-str2num(Cm)-str2num(Cr1)).^(k+1)-(str2num(P0)-str2num(Cm)-str2num(Cr2)).^(k+1)))/(str2num(P0)-str2num(Cm)-str2num(Cr1)).^k)...
*(k.^(k+1)/(k+1).^(k+2))-(((str2num(P0)-str2num(Cm)-str2num(Cr2)).^k*(str2num(Cr2)-str2num(Cr1)))/((str2num(P0)-str2num(Cm)...
-str2num(Cr1)).^k))];
PmCr2=(str2num(P0)-str2num(Cm)-str2num(Cr2))*[k/(k+1)+k.^(k+1)/(k+1).^(k+2)]+str2num(Cr2);
axes(handles.axes1);
plot(k,Pm2Cr1,k,PmCr2);
title('制造商回收价格Pm与价格弹性k的比率')
xlabel('k')
ylabel('Pm')
想请教下各位大侠..应该这么把这很多个点连成平滑的线??
[ 本帖最后由 mooni 于
09:58 编辑 ]
plot(k,Pm2Cr1,k,PmCr2); 應該是單點輸出
將數值全部放在一各矩陣內就可以變呈線了
同意楼上的意见,我早上碰到这个问题。:handshake
2楼说的很对。你应该适时的把两个Pm2Cr1、PmCr2保存在2个向量中。你那样做每次都是画的当前K对应的点,当然你也可以hold on保持前面的点保存在画面中,不过也只是一系列点,呵呵,不建议这么做。另外一个建议,为啥在定义变量是不直接P0=str2num(get(handles.str1,'string')),那样后面就不用写那么多str2num了,显得好长好长啊。
[ 本帖最后由 baobeihulu 于
11:05 编辑 ]
关注者: 1
代码太长,没有仔细看,
如果没哟出现连线,只要plot的时候定义一下线形就可以了。
小弟是初学Matlab的,应该怎么把Pm2Cr1、PmCr2保存在2个向量中呢?
能简单的举个例子吗?
还有至于str2num的问题.. 导致代码过于繁琐..我虚心接受,会改过来的...
今天刚发帖子就有人回贴..大家能这么热心的帮忙 ..真的很感谢..
还有个小小的问题就是,我的代码是个按钮的回调函数,&&我怎么能让他实现如下的功能?
当我重新输入一组数据进行画图的时候,点击该按钮,可以把之前的axes1中的图形清除掉, 或者更新掉?
额..现在画图的问题解决了,果然是先把变量放到向量里就可以了.好神奇..=.=
目前还差 :
当我重新输入一组数据进行画图的时候,点击该按钮,可以把之前的axes1中的图形清除掉, 或者更新掉
的问题了..&&如果有大侠看到,帮忙解决一下..
先在此谢过了..
看好你的程序,hold on的功能就是保存之前的图像,并画新图像,去掉hold on就会自动更新了吧
嗯,问题解决了,原来就这么简单..
多谢各位大侠的帮忙..
不甚感激..
Powered bymatlab 如何在plot画图时标上点的位置?_百度知道
matlab 如何在plot画图时标上点的位置?
提问者采纳
string&#39,y,&#39用text(x
其他类似问题
在X Label后面的Ticks选项里可以调节标尺的间距。同理可以调节Y轴的范围和你所谓的标尺:plot()或者其他命令打开的figure文件中——Edit——Figure Properties——下面的Xlimits项就可以调节X轴范围。具体坐标轴的范围就OK了
matlab的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁matlab中画图,用plot,如下面程序 p=t*x; y=int(p,x,0,1); 我想用plot把积分后的函数y 画出来程序如下:p=t*x; y=int(p,x,0,1);我想用plot把积分后的函数 y 画出来怎么画;直接写plot(t,y)说我没定义t.我定义t=[0:0.2:6] _百度作业帮
matlab中画图,用plot,如下面程序 p=t*x; y=int(p,x,0,1); 我想用plot把积分后的函数y 画出来程序如下:p=t*x; y=int(p,x,0,1);我想用plot把积分后的函数 y 画出来怎么画;直接写plot(t,y)说我没定义t.我定义t=[0:0.2:6] 在用plot(t,y),又出现Conversion to double from sym is not possible 我想问一下,subs(y)是把符号表达式转化为什么?
p=t*x; y=int(p,x,0,1);ezplot(y) ______________subs(y)是把你y中的变量用已定义的值进行替代,书宬这里就是把t替换成了数组0:0.2:6,于是得到就是数值型的数组了.plot的参数是数值型的数组,ezplot的参数是符号变量.
您可能关注的推广

我要回帖

更多关于 matlab plot 的文章

 

随机推荐