matlab解三元一次方程组,数值解,fsolve()函数?

老师,能否帮我求解这个方程,起中k0,k1,k2为未知数。m=1660,δc、t、v0、v1均已知,可否用fsolve()解出k0,k1,k2数值解,谢谢!!!... 老师,能否帮我求解这个方程,起中k0,k1,k2为未知数。m=1660,δc、t、v0、v1均已知,可否用fsolve()解出k0,k1,k2数值解,谢谢!!! 展开
 我来答
lhmhz
高粉答主

2019-12-18 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7264 获赞数:17014

向TA提问 私信TA
展开全部

分析了题主的三元一次方程组,可以用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 那么程序计算得出来的值分别是多少,程序又该如何设计,请您指导,谢谢
追答

用fsolve解

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式