
使用griddata函数,可进行三维拟合,并求出任意点处的值,之前用过求电流温度和电阻率的函数拟合如下rq=griddata(i,t,r,iq,tq) 。
具体过程如下:
D=[[1,6,92];[4,12,15];[7,4,23];[10,10,25];[13,2,11];[16,8,9];[0,0,3861]]
D =
10000 60000 92000
40000 120000 15000
70000 40000 23000
100000 100000 25000
130000 20000 110000
160000 80000 90000
0 0 3861000
x=D(:,1);y=D(:,2);
z=D(:,3);
T=[x y xy xx yy ones(7,1)]\z
T =-307039
-875047
29042
06209
44429
3861000
所以所求函数为 T(1)x+T(2)y+T(3)xy+T(4)x^2+T(5)y^2+T(6)
即z=-307039x--875047y+29042xy+06209x^2+ 44429y^2+3861000
如何用matlab求解下面这个带三角函数的超定方程组?
这个问题一般可以用非线性最小二乘来求解。求解方法:
1、创建自定义函数,fun(R,θ),即
y=[02872R-Rcos(θ)+00789;
03810R-Rsin(θ)+02137;
08052R-Rcos(θ)+00879;
03522R-Rsin(θ)+02190];
2、初定R,θ的初始值,这个可以先用rand函数初定,然后再用最接近R,θ的值
3、确定R,θ的上下限,即lb、ub的值
4、使用lsqnonlin函数求解,即
[x,resnorm,residual,exitflag] = lsqnonlin(@(x)fun(x),x0,lb,ub)
这里R,θ分别用x(1)和x(2)替代
5、要向得到较理想的近似解,必须反复执行上述过程,其过程中主要调整初值
6、下面是一组近似解结果
从结果来看,是不理想的。不理想的主要原因有,1、方程系数可能有误差;2、本身关系有问题等
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)