Matlab的基本应用3

本小节主要分享利用matlab来编程绘图,如绘制曲线、圆、点以及直线拟合等。

 

例1、进行最小二乘直线拟合

x=1:15;
y=3*x+6+rand(1,15)*5;
plot(x,y,'r*');
hold on
p=polyfit(x,y,1);
y1=polyval(p,x);
plot(x,y1,'color','b','linewidth',2)
xlabel('x');
ylabel('y');
legend('rand number','fitted line');

结果如下:

plot()函数为绘图函数,需要了解更详细的,可以在matlab的command window 输入doc plot 了解详细使用方法。

hold on 是在绘图过程中,保存之前所绘制的线或者点,在此基础上继续绘制,而不是重新展开一张画幅。

polyfit这个函数完成了数据的最小二乘拟合,该函数可以完成任意阶次的多项式拟合,其形式为polyfit(x,y,n),上述例子为一次拟合。

polyval这个函数为多项式求值。

plot(x,y1,'color','b','linewidth',2)中,color后跟的‘b’代表颜色的选取,线宽为2,可以修改。

xlabel('x')和ylabel('y')显示x,y坐标分别代表什么,如上图。

legend('rand number','fitted line')可以标出图中点或线分别代表什么,可以再图中移动其位置。

 

例2、一个平面上的椭圆可以表示成下列方程式: (x/a)^2+(y/b)^2=1。我们也可以用参数将椭圆表示成:x=a*cos(sita)  y=b*sin(sita),请利用上述参数式,画出一个椭圆,其中a=5,b=3,而且椭圆上共有100个点。

编写一个小程序如下:

 

function plotellipse(a,b,n)

for sita=linspace(0,2*pi,n)

    x=a*cos(sita);

    y=b*sin(sita);

    plot(x,y,'r.-')

    hold on

end

 

end

 

因需要根据所输入的a,b,n值绘图,所以再编写程序如下:

 

a=input('请输入a=');

b=input('请输入b=');

n=input('请输入n=');

plotellipse(a,b,n);

运行主程序,并输入a,b,n值,得到如下结果图:

其实,在上述的小程序中,不用for循环完全可以的,大家可以省去。

linspace(0,2*pi,n)这个函数是线性输出0到2*pi的n个点。

 plot(x,y,'r.-')函数为绘图函数,‘r.-’代表绘制红色的.-图。

a=input('请输入a='),这里input函数很有用,大家可以记忆一下,很多地方可能都会用到,简单常用。

 

例3、一条参数式的曲线可由下列方程式表示:x=sin(-t)+t  y=1-cos(-t),当t由0变化到4*pi时,画出此曲线在XY平面的轨迹。

编写程序如下:

 

function quxian(t)

for t=0:0.01:4*pi

x=sin(-t)+t;

y=1-cos(-t);

plot(x,y);

hold on

axis([-1,14,-1,2.5]);

end

 

xlabel('x');

ylabel('y');

end

结果如下:

axis([-1,14,-1,2.5]),规定了图中x,y轴的范围。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值