全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
3393 1
2008-06-26
请教一下,如何在matlab中画出直角坐标的全部象限(通常都是画的第一象限的图)?如果不行的话,有没有其它的方法,另外如何画出分段函数?谢谢大家帮助.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-1-18 21:20:32
一个分段拟合的例子:可作参考

clear;clc;
x=[-11.8 -11.6 -11.4 -11.2 -11.0 -10.8 -10.6 -10.4 -10.2 -10.0 -9.8 -9.6 -9.4 -9.2 -9.0...
-8.8 -8.6 -8.4 -8.2 -8.0 -7.8 -7.6 -7.4 -7.2 -7.0 -6.8 -6.6 -6.4 -6.2 -6.0...
-5.8 -5.6 -5.4 -5.2 -5.0 -4.8 -4.6 -4.4 -4.2 -4.0 -3.8 -3.6 -3.4 -3.2 -3.0 ...
-2.8 -2.6 -2.4 -2.2 -2.0 -1.8 -1.6 -1.4 -1.2 -1.0 -0.8 -0.6 -0.4 -0.2 0.0];
y=[0.581 0.957 1.348 1.769 2.170 2.304 2.993 3.396 3.819 4.232 4.638 4.566 4.485 4.402 4.321...
4.239 4.158 4.076 3.994 3.913 3.830 3.749 3.668 3.586 3.504 3.423 3.341 3.260 3.178 3.096 ...
3.015 2.933 2.852 2.770 2.668 2.607 2.526 2.444 2.362 2.281 2.199 2.118 2.036 1.955 1.873 ...
1.791 1.711 1.629 1.551 1.469 1.389 1.248 1.096 0.944 0.793 0.641 0.489 0.337 0.186 0.000];
p1=polyfit(x(1:11),y(1:11),1);
p2=polyfit(x(11:51),y(11:51),1);
p3=polyfit(x(51:end),y(51:end),1);
Y1=vpa(poly2sym(p1,'x'),6)
Y2=vpa(poly2sym(p2,'x'),6)
Y3=vpa(poly2sym(p3,'x'),6)
x1=min(x(1:11)):0.1:max(x(1:11));
x2=min(x(11:51)):0.1:max(x(11:51));
x3=min(x(51:end)):0.1:max(x(51:end));
y1=polyval(p1,x1);
y2=polyval(p2,x2);
y3=polyval(p3,x3);
plot(x,y,'o',x1,y1,x2,y2,x3,y3)

结果:
Y1 = 2.03977*x+24.5938
Y2 =-.407621*x+.650578
Y3 =-.765061*x+.237455e-1
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群