1.读取excel
[A,B]=xlsread('xxx.xlsx','sheet1')
其中A,B为2个二维数组。A保存所有数字信息,B保存所有字符串信息。
2. 二维数组的引用
atlab中数组元素引用有三种方法:
1.下标法(subscripts)
2.索引法(index)
3.布尔法(Boolean)
Matlab中数组元素是按列存储(与Fortran一样),比如说下面的二维数组
A=
Matlab的存储顺序是8,3,4,1,5,9,6,7,2,也就是说先行后列,3维数组就是先行后列再页
Element Index Subscripts
8
3
4
1
5
9
6
7
2
如果我要引用第一列数据:
data = A(1:n, 1:1)
如果要转换成一行:
data = data'
3 函数拟合、绘制
1 多项式函数拟合:a=polyfit(xdata,ydata,n)
其中n表示多项式的最高阶数,xdata,ydata为将要拟合的数据,数组的方式输入.输出参数a为拟合多项式的系数
多项式在x处的值y可用下面程序计算.
y=polyval(a,x)
2 一般的曲线拟合:p=curvefit(‘Fun’,p0,xdata,ydata)
其中Fun表示函数Fun(p,data)的M函数文件,p0表示函数的初值.
若要求解点x处的函数值可用程序f=Fun(p,x)计算.
例:
t=[l:16];
%数据输人
y=[ 4 6.4 8 8.4 9.28 9.5 9.7 9.86 10.2 10.32 10.42 10.5 10.55 10.58 10.6];
画散点图
plot(t,y,’o’)
%(二次多项式拟合)
p=polyfit(t,y,2)
%计算结果:二次多项式的系数
p=-0.0445 1.0711 4.3252
由此得到y与t的拟合函数。
3.多元曲线拟合:
例如有x,y,z,w 这4个自变量的函数fun去拟合数据data,则:
[p,nor] = lsqcurvefit('fun', c, [x;y;z;w], data)
p为fun待定系数初值,nor为方差。
注意这里的x,y,z,w都为行向量!