matlab解三元一次方程组,数值解,fsolve()函数?
分析了题主的三元一次方程组,可以用vpasolve()函数求解,而用fsolve()来求解,需要找到k0,k1,k2附近值,否则可能得到的结果并不是你想要的结果。
该三元一次方程组求解过程如下:
m=1660;
t=[14.34 17.43 21.49];
delta_c=[1.04 1.05 1.05];
V0=[34.72 30.56 26.39];
V1=[29.17 25 20.83];
syms k0 k1 k2
alpha=sqrt(4*k0*k2-k1^2);
beta=2*k2/alpha*(V0(1)+k1/(2*k2));
gamma=2*k2/alpha*(V1(1)+k1/(2*k2));
t1=sym(t(1));delta=delta_c(1);
eq1=t1-2*delta*m/alpha*(atan(beta)-atan(gamma));
alpha=sqrt(4*k0*k2-k1^2);
beta=2*k2/alpha*(V0(2)+k1/(2*k2));
gamma=2*k2/alpha*(V1(2)+k1/(2*k2));
t1=sym(t(2));delta=delta_c(2);
eq2=t1-2*delta*m/alpha*(atan(beta)-atan(gamma));
alpha=sqrt(4*k0*k2-k1^2);
beta=2*k2/alpha*(V0(3)+k1/(2*k2));
gamma=2*k2/alpha*(V1(3)+k1/(2*k2));
t1=sym(t(3));delta=delta_c(3);
eq3=t1-2*delta*m/alpha*(atan(beta)-atan(gamma));
[k0 k1 k2]=vpasolve(eq1,eq2,eq3)
老师您好,非常感谢您的作答,若ko k1 k2 的初值分别为133.975 3.572 0.404 那么程序计算得出来的值分别是多少,程序又该如何设计,请您指导,谢谢
2024-10-28 广告