您的位置:首页 > 编程语言 > MATLAB

Matlab基础

2015-11-01 17:39 316 查看
Matlab 里的基本运算量包括标量、矢量、矩阵和数组。基本运算可分为数组运算和点运算

数组运算要求参与运算的两个数组具有相同的尺寸。特别是数组的乘法要求第一个数组的列数等于第二个数组的行数。比如A*B,是指数组乘法,即按照数组相乘规律进行运算。数组的除法相当于乘法的逆运算,即相当于参与运算的一个数组与另一个数组的逆数组相乘。除法分为左除和右除,即分子分母位置不一样。

点运算,顾名思义运算符中多了个点。如A.*B,表示的是A中的元素分别与B中的元素相乘,即对应位置上的元素相乘所得结果即存放在原来位置坐标中。

特别强调的是,Matlab中有很多内置的运算函数,都是对数组的逐个元素进行运算的。如sqrt、exp、log、sin等。

数组的扩展与剪裁

可以在变量编辑器中对数组尺寸进行更改,也可以用cat函数进行操作。

曲线拟合

Matlab中可以用polyfit()函数采用最小二乘法对给定的数据进行多项式拟合,得到该多项式的系数。

polifit(x,y,n)


找到次数为n的多项式系数,对于数据集合,满足差的平方和最小。


[p,E]=polyfit(x,y,n)


返回同上的多项式P和矩阵E。多项式系数在向量p中,矩阵E用在函数中计算误差。

x=[0.3 0.4 0.7 0.9 1.7 1.9 2.8 3.2 3.7 4.5];
y=[1 2 3 4 5 2 6 9 2 7];
p5=polyfit(x,y,5);
y5=polyval(p5,x);
p5=vpa(poly2sym(p5),5);
p9=polyfit(x,y,9);
y9=polyval(p9,x);
figure;
plot(x,y,'bo');
hold on;
plot(x,y5,'r:');
plot(x,y9,'g--');
legend('原始数据','5阶多项式拟合','9阶多项式拟合');
xlabel('x');
ylabel('y');


运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: