如何将数学式子或matlab程序转换成建模语言

如题所述

二、常用数学计算范例
2.1.复数运算;
a) 除法:z=(1.5+i*0.5)/ (2.4+i*2.8) 得z=0.3676 - 0.2206i
b) 指数: z=exp(1+i*pi/4) 得z= 1.9221 + 1.9221i
c) 对数:z=log(1.4243e2+i*7.433) 得z= 4.9602 + 0.0521i
d) 模:abs ,用法类似
e) 平方根:sqrt
f) 三角函数:sin cos tan sinh cosh tanh

2.2.插值(具体的程序附后)
a) 拉格朗日插值—— 一元全区间不等距插值lagr11
x0=[0.0 0.1 0.195 0.3 0.401 0.5];%插值节点
y0=[0.3234 0.39423 0.3954 0.38211 0.36331 0.35222];% 插值节点上相应的函数值
n=6;%节点个数
y = lagr11(x0,y0,n,0.15)%0.15为插值点
b) 一元三点不等距插值 lagr12
c) 埃尔密特插值hmt
d) 三次样条插值
x = 0:10; y = sin(x);
xi = 0:.25:10;
yi = spline(x,y,xi);
plot(x,y,'o',xi,yi)
e) 其他的插值函数还有 INTERP1, INTERP2, PPVAL, MKPP, UNMKPP
2.3.数值积分;
a) 变步长辛普生法quad
求 :
先定义函数 fun.m
function y = fun(x)
y = log(1+x)
然后
a=0;b=1;tol=1e-006;trace=1;
[q,cnt]=quad('fun',a,b,tol,trace)
得函数的积分值q=0.3863,函数的估计值cnt=77
b) quad8比quad更精确。
c) 梯形法trapz
x=-1:0.17:2;
y=humps(x);
area=trapz(x,y)
得:area=25.9174
2.4.线形代数,特征值和特征向量
a) 线性方程组
A=[1 2 3; 4 5 6;7 8 9];b=[366; 804; 351];
x=inv(A)*b % 或x=A\b
b) 行列式det(A)
c) 矩阵求幂expm(A)
d) 矩阵对数logm(A)
e) 范数 norm
f) 正交化 orth(A)
g) 迹 trace(A)
h) 秩 rank(A)
i) 特征值与特征向量
[v,d]=eig(A)
得v =
0.2320 0.7858 0.4082
0.5253 0.0868 -0.8165
0.8187 -0.6123 0.4082
d =
16.1168 0 0
0 -1.1168 0
0 0 0.0000
特征多项式
poly(A)
得ans =
1.0000 -15.0000 -18.0000 0.0000
表示
2.5.常微分方程;
龙格库塔法ode23,ode45
求 :
先定义函数 vdpol.m
function y = vdpol(t,x)
y(1)=x(1).*(1-x(2)).^2)-x(2);
y(2)=x(1);
然后
t0=0;tf=20;
x0=[0 0.25];
[t,x]=ode45('vdpol',t0,tf,x0);
plot(t,x); %得图像
2.6.曲线拟合;
x=[0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1];
y=[-.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2]
n=2; %多项式阶数
p=polyfit(x,y,n)
得p =
-9.8108 20.1293 -0.0317
三、工具
3.1.最优化
a) 线性规划 lp
b) 二次规划 qp
c) 非线性最小二乘
d) 非负最小二乘 nnls
e) 约束极小化constr
f) 无约束极小化(标量情况)fmin('F',x1,x2,OPTIONS)
g) 利用梯度搜索的无约束极小化 fminu
h) 利用单纯形搜索的无约束极小化fmins('F',X0,OPTIONS)
i) 非线性方程求解 fslove
j) 达到多目标attgoal
3.2.信号处理
a) 卷积 conv
b) 快速傅立叶变换fft,fft2,ifft,ifft2
c) 离散余弦变换 dct
d) 希而伯特变换 hilbert
e) Z变换 czt
3.3.数据分析
a) 最大值max
b) 最小值min
c) 均值mean
d) 中值median
e) 标准差std
f) 排序sort
g) 累加sum
h) 累积 prod
i) 差分 diff
温馨提示:答案为网友推荐,仅供参考