matlab学习笔记(3)

2019-04-16 20:27

逐步回归stepwise(x,y,inmodel,alpha)例: >> x1=[4.46 4.11 3.58 4.42 4.62]'; >> x2=[4.42 3.82 3.31 4.37 4.47]'; >> x3=[4.23 3.29 3.24 4.34 4.53]'; >> X=[x1 x2 x3];

>> y=[4.41 3.38 3.17 4.39 4.69]'; >> stepwise(X,y)

区分回归与拟合!! 18

二、网格法(半穷举法) 算法略。(类似下面的代码格式) 网格法实现代码参考:

s1=0.01;%变量x1搜索步长 s2=0.01;%变量x2搜索步长

opt_value =inf;%预置一个足够大的数 %二重嵌套循环进行“穷举” for x1=-5:s1:5, for x2=0:s2:10,

v = 100*(x2-x1^2)^2+(1-x1)^2; if v< opt_value, opt_value = v; opt_x = [x1,x2]; end????? end end

%显示结果 opt_value opt_x

计算机模拟:

追逐模拟: v=1; dt=0.05;

x=[0 0 10 10]; y=[0 10 10 0]; d=20; while (d>0.1)

x(5)=x(1);y(5)=y(1); for i=1:4

d=sqrt((x(i+1)-x(i))^2+(y(i+1)-y(i))^2); x(i)=x(i)+v*dt*(x(i+1)-x(i))/d; y(i)=y(i)+v*dt*(y(i+1)-y(i))/d; plot(x(i),y(i),'.'),hold on end end

数 值 函 数

N[expr]表达式的机器精度近似值

N[expr, n] 表达式的n位近似值,n为任意正整数 NSolve[lhs==rhs, var] 求方程数值解

NSolve[eqn, var, n] 求方程数值解,结果精度到n位 NDSolve[eqns, y, {x, xmin, xmax}]微分方程数值解 NDSolve[eqns, {y1,y2,...}, {x, xmin, xmax}] 微分方程组数值解

FindRoot[lhs==rhs, {x,x0}] 以x0为初值,寻找方程数值解 FindRoot[lhs==rhs, {x, xstart, xmin, xmax}] NSum[f, {i,imin,imax,di}] 数值求和,di为步长 NSum[f, {i,imin,imax,di}, {j,..},..] 多维函数求和 NProduct[f, {i, imin, imax, di}]函数求积 NIntegrate[f, {x, xmin, xmax}] 函数数值积分

优化函数:

FindMinimum[f, {x,x0}] 以x0为初值,寻找函数最小值 FindMinimum[f, {x, xstart, xmin, xmax}] ConstrainedMin[f,{inequ},{x,y,..}]

inequ为线性不等式组,f为x,y..之线性函数,得到最小值及此时的x,y..取值

ConstrainedMax[f, {inequ}, {x, y,..}]同上

LinearProgramming[c,m,b] 解线性组合c.x在m.x>=b&&x>=0约束下的

最小值,x,b,c为向量,m为矩阵

LatticeReduce[{v1,v2...}] 向量组vi的极小无关组

数据处理:

Fit[data,funs,vars]用指定函数组对数据进行最小二乘拟和 data可以为{{x1,y1,..f1},{x2,y2,..f2}..}多维的情况 emp: Fit[{10.22,12,3.2,9.9}, {1, x, x^2,Sin[x]}, x] Interpolation[data]对数据进行差值,

data同上,另外还可以为{{x1,{f1,df11,df12}},{x2,{f2,.}..}指定各阶导数

InterpolationOrder默认为3次,可修改

ListInterpolation[array]对离散数据插值,array可为n维 ListInterpolation[array,{{xmin,xmax},{ymin,ymax},..}] FunctionInterpolation[expr,{x,xmin,xmax}, {y,ymin,ymax},..] 以对应expr[xi,yi]的为数据进行插值 Fourier[list] 对复数数据进行付氏变换 InverseFourier[list] 对复数数据进行付氏逆变换 Min[{x1,x2...},{y1,y2,...}]得到每个表中的最小值 Max[{x1,x2...},{y1,y2,...}]得到每个表中的最大值

Select[list, crit] 将表中使得crit为True的元素选择出来 Count[list, pattern] 将表中匹配模式pattern的元素的个数 Sort[list] 将表中元素按升序排列

Sort[list,p] 将表中元素按p[e1,e2]为True的顺序比较list 的任两个元素e1,e2,实际上Sort[list]中默认p=Greater 集合论:

Union[list1,list2..] 表listi的并集并排序 Intersection[list1,list2..] 表listi的交集并排序 Complement[listall,list1,list2...]从全集listall中对listi的差集

九、虚数函数

Re[expr] 复数表达式的实部

Im[expr] 复数表达式的虚部 Abs[expr] 复数表达式的模 Arg[expr] 复数表达式的辐角 Conjugate[expr] 复数表达式的共轭

十、数的头及模式及其他操作

Integer _Integer 整数 Real _Real 实数 Complex _Complex 复数 Rational_Rational 有理数 (*注:模式用在函数参数传递中,如MyFun[Para1_Integer,Para2_Real]

规定传入参数的类型,另外也可用来判断If[Head[a]==Real,...]*) IntegerDigits[n,b,len] 数字n以b近制的前len个码元 RealDigits[x,b,len] 类上

FromDigits[list] IntegerDigits的反函数

Rationalize[x,dx] 把实数x有理化成有理数,误差小于dx Chop[expr, delta] 将expr中小于delta的部分去掉,dx默认为10^-10

Accuracy[x] 给出x小数部分位数,对于Pi,E等为无限大 Precision[x] 给出x有效数字位数,对于Pi,E等为无限大 SetAccuracy[expr, n] 设置expr显示时的小数部分位数 SetPrecision[expr, n] 设置expr显示时的有效数字位数

十一、区间函数


matlab学习笔记(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:公路工程内业资料整理填写及归档范例

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: