展开全部
>> syms a1 a2 b1 b2
>> [a1,a2,b1,b2]=solve('2*10^(-4)=a1*16^(-b1)+a2*16^(-b2),10^(-3)=a1*14^(-b1)+a2*14^(-b2),5*10^(-3)=a1*12^(-b1)+a2*12^(-b2),2*10^(-2)=a1*10^(-b1)+a2*10^(-b2)','a1,a2,b1,b2')
>>digits(6)%设置精度
>> a1,a2,b1,b2
a1 =
-60.3076
a2 =
0
b1 =
-44.1543
b2 =
-158.399
此时得到的解a1,a2 b1,b2为符号sym型
要转换为数值型直接用a1=double(a1),.......其他类似转换为数值解即可!
希望解决了你的问题!
>> [a1,a2,b1,b2]=solve('2*10^(-4)=a1*16^(-b1)+a2*16^(-b2),10^(-3)=a1*14^(-b1)+a2*14^(-b2),5*10^(-3)=a1*12^(-b1)+a2*12^(-b2),2*10^(-2)=a1*10^(-b1)+a2*10^(-b2)','a1,a2,b1,b2')
>>digits(6)%设置精度
>> a1,a2,b1,b2
a1 =
-60.3076
a2 =
0
b1 =
-44.1543
b2 =
-158.399
此时得到的解a1,a2 b1,b2为符号sym型
要转换为数值型直接用a1=double(a1),.......其他类似转换为数值解即可!
希望解决了你的问题!
展开全部
方程数大于未知量个数,属于超定方程组,一般没有精确解,只能求最小二乘解。matlab中可以利用左除或伪逆法求解。
clear
c1=10496.108;
c2=10500.275;
c3=10504.442;
c4=10508.609;
c5=10512.776;
a=[1,c1,c1^2,c1^3;
1,c2,c2^2,c2^3;
1,c3,c3^2,c3^3;
1,c4,c4^2,c4^3;
1,c5,c5^2,c5^3;];
b=[-3043766.03
;-3042809.53;-3041787.84;-3040701.05;-3039549.25];
xyzt=pinv(a)*b
%伪逆法求解
%xyzt=a\b
%左除法
xyzt
=
1.0e+004
*
0.0005
1.8316
-0.0004
0.0000
clear
c1=10496.108;
c2=10500.275;
c3=10504.442;
c4=10508.609;
c5=10512.776;
a=[1,c1,c1^2,c1^3;
1,c2,c2^2,c2^3;
1,c3,c3^2,c3^3;
1,c4,c4^2,c4^3;
1,c5,c5^2,c5^3;];
b=[-3043766.03
;-3042809.53;-3041787.84;-3040701.05;-3039549.25];
xyzt=pinv(a)*b
%伪逆法求解
%xyzt=a\b
%左除法
xyzt
=
1.0e+004
*
0.0005
1.8316
-0.0004
0.0000
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用solve解啊
>> [a1,a2,b1,b2]=solve('2e-4=a1*16^-b1+a2*16^-b2','1e-3=a1*14^-b1+a2*14^-b2','5e-3=a1*12^-b1+a2*12^-b2','2e-2=a1*10^-b1+a2*10^-b2')
a1 =
-60.307644690770010597955876658558
a2 =
0
b1 =
-44.154311705071953306668493652236
b2 =
-158.39895587078478179364249633322
>> [a1,a2,b1,b2]=solve('2e-4=a1*16^-b1+a2*16^-b2','1e-3=a1*14^-b1+a2*14^-b2','5e-3=a1*12^-b1+a2*12^-b2','2e-2=a1*10^-b1+a2*10^-b2')
a1 =
-60.307644690770010597955876658558
a2 =
0
b1 =
-44.154311705071953306668493652236
b2 =
-158.39895587078478179364249633322
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询