如何使用matlab求解一个二元二次方程组的问题?

2024-11-18 12:25:37
推荐回答(2个)
回答(1):

你有两点错误:
1、你给solve函数输入公式时是不用加单引号的 直接输入就行,加了单引号就变成字符串了,所以MATLAB说你是无效表达
2、在使用solve函数时u、w是两个符号变两,应该先定义:syms u w
程序应改为:
syms u w
aF=0.8;
af=-0.02;
aB=-0.6;
v0=12.26;
T=104;
S=1347.1;
a1=aF+af;
a2=af;
a3=aB+af;
[Su,Sw]=solve((u-v0)/(aF+af)+(w-u)/af-w/(aB+af)==104,(u.^2-v0.^2)/(2*(aF+af))+(w.^2-u.^2)/(2*af)-w.^2/(2*(aB+af))==1347.1)
为了与符号变量u、w相区别,方程解应该重新命名
满意请采纳~☆⌒(*^-゜)v THX!!

回答(2):

aF=0.8; 
af=-0.02; 
aB=-0.6; 
v0=12.26;
T=104;
S=1347.1;
a1=aF+af;
a2=af;
a3=aB+af;
[u,w]=solve('(u-v0)/(aF+af)+(w-u)/af-w/(aB+af)=104',...
    '(u^2-v0^2)/2*(aF+af)+(w^2-u^2)/2*af-w^2/2*(aB+af)=1347.1','u,w');
u = subs(u)
w = subs(w)

u =

   44.7261

  -42.5912

w =

   44.9278

  -47.6136