Matlab求解多元多次方程组 15
求解的方程组如下:1-(1/2*w1)^2/(w1+w2+w3+w4+w5)^2-1.34/w1=01-(w1+1/2*w2)^2/(w1+w2+w3+w4+w5)^2-...
求解的方程组如下:
1-(1/2*w1)^2/(w1+w2+w3+w4+w5)^2-1.34 /w1=0
1-(w1+1/2*w2)^2/(w1+w2+w3+w4+w5)^2-1.34 /w2=0
1-(w1+w2+1/2*w3)^2/(w1+w2+w3+w4+w5)^2-1.34 /w3=0
1-(w1+w2+w3+1/2*w4)^2/(w1+w2+w3+w4+w5)^2-1.34 /w4=0
1-(w1+w2+w3+w4+1/2*w5)^2/(w1+w2+w3+w4+w5)^2-1.34 /w5=0
我编的代码是:
syms w1 w2 w3 w4 w5;
eq1=1-(1/2*w1)^2/(w1+w2+w3+w4+w5)^2-1.34 /w1;
eq2=1-(w1+1/2*w2)^2/(w1+w2+w3+w4+w5)^2-1.34 /w2;
eq3=1-(w1+w2+1/2*w3)^2/(w1+w2+w3+w4+w5)^2-1.34 /w3;
eq4=1-(w1+w2+w3+1/2*w4)^2/(w1+w2+w3+w4+w5)^2-1.34 /w4;
eq5=1-(w1+w2+w3+w4+1/2*w5)^2/(w1+w2+w3+w4+w5)^2-1.34 /w5;
[w1 w2 w3 w4 w5]=solve(eq1, eq2, eq3, eq4, eq5)
为什么一直都是busy…… 展开
1-(1/2*w1)^2/(w1+w2+w3+w4+w5)^2-1.34 /w1=0
1-(w1+1/2*w2)^2/(w1+w2+w3+w4+w5)^2-1.34 /w2=0
1-(w1+w2+1/2*w3)^2/(w1+w2+w3+w4+w5)^2-1.34 /w3=0
1-(w1+w2+w3+1/2*w4)^2/(w1+w2+w3+w4+w5)^2-1.34 /w4=0
1-(w1+w2+w3+w4+1/2*w5)^2/(w1+w2+w3+w4+w5)^2-1.34 /w5=0
我编的代码是:
syms w1 w2 w3 w4 w5;
eq1=1-(1/2*w1)^2/(w1+w2+w3+w4+w5)^2-1.34 /w1;
eq2=1-(w1+1/2*w2)^2/(w1+w2+w3+w4+w5)^2-1.34 /w2;
eq3=1-(w1+w2+1/2*w3)^2/(w1+w2+w3+w4+w5)^2-1.34 /w3;
eq4=1-(w1+w2+w3+1/2*w4)^2/(w1+w2+w3+w4+w5)^2-1.34 /w4;
eq5=1-(w1+w2+w3+w4+1/2*w5)^2/(w1+w2+w3+w4+w5)^2-1.34 /w5;
[w1 w2 w3 w4 w5]=solve(eq1, eq2, eq3, eq4, eq5)
为什么一直都是busy…… 展开
2个回答
推荐于2017-09-22
展开全部
建议用解非线性方程组的方法求解,fsolve()函数,先设定初值,知道解的大致的范围后,再以此值为初值,在设定的精度下求解。
用matlab解一道复杂的多元非线性方程组;
参考如下:
建立 Myfun.m 文件
function F = myfun(x,a)
E = a(1);
I = a(2);
R0 = a(3);
R1 = a(4);
T = a(5);
A = a(6);
v = a(7);
rho = a(8);
F = [ (T - rho * A * v^2) * sin(x(3)) * x(1) - (T * cos(x(3)) + rho * A * v^2 - rho * A * v^2 * cos(x(3))) * x(2) - E*I/(R0 + R1);
(1/3) * (T - rho * A * v^2) * sin(x(3)) * x(1)^3 - (1/2) * (T * cos(x(3)) + rho * A * v^2 - rho * A * v^2 * cos(x(3))) * x(2) * x(1)^2 - E* I * x(2);
(T - rho * A * v^2) * sin(x(3)) * x(1)^2 - (T * cos(x(3)) + rho * A * v^2 - rho * A * v^2 * cos(x(3))) * x(2) * x(1) - E* I * x(3)];
建立一个执行文件
clc
clear
a = zeros(8);
display('# Pls input the known parameters: #')
a(1) = input('E = ');
a(2) = input('I = ');
a(3) = input('R0 = ');
a(4) = input('R1 = ');
a(5) = input('T = ');
a(6) = input('A = ');
a(7) = input('v = ');
a(8) = input('rho = ');
display('# Pls input the initial point: #')
x0 = zeros(3); % Make a starting guess at the solution
x0(1) = input('x1 = ');
x0(2) = input('y1 = ');
x0(3) = input('phi = ');
options = optimset('Display','iter'); % Option to display output
[x,fval] = fsolve(@(x) myfun(x,a),x0,options) % Call solver
运行,输入已知的几个参数,再输入初始搜索点,即可。
用matlab解一道复杂的多元非线性方程组;
参考如下:
建立 Myfun.m 文件
function F = myfun(x,a)
E = a(1);
I = a(2);
R0 = a(3);
R1 = a(4);
T = a(5);
A = a(6);
v = a(7);
rho = a(8);
F = [ (T - rho * A * v^2) * sin(x(3)) * x(1) - (T * cos(x(3)) + rho * A * v^2 - rho * A * v^2 * cos(x(3))) * x(2) - E*I/(R0 + R1);
(1/3) * (T - rho * A * v^2) * sin(x(3)) * x(1)^3 - (1/2) * (T * cos(x(3)) + rho * A * v^2 - rho * A * v^2 * cos(x(3))) * x(2) * x(1)^2 - E* I * x(2);
(T - rho * A * v^2) * sin(x(3)) * x(1)^2 - (T * cos(x(3)) + rho * A * v^2 - rho * A * v^2 * cos(x(3))) * x(2) * x(1) - E* I * x(3)];
建立一个执行文件
clc
clear
a = zeros(8);
display('# Pls input the known parameters: #')
a(1) = input('E = ');
a(2) = input('I = ');
a(3) = input('R0 = ');
a(4) = input('R1 = ');
a(5) = input('T = ');
a(6) = input('A = ');
a(7) = input('v = ');
a(8) = input('rho = ');
display('# Pls input the initial point: #')
x0 = zeros(3); % Make a starting guess at the solution
x0(1) = input('x1 = ');
x0(2) = input('y1 = ');
x0(3) = input('phi = ');
options = optimset('Display','iter'); % Option to display output
[x,fval] = fsolve(@(x) myfun(x,a),x0,options) % Call solver
运行,输入已知的几个参数,再输入初始搜索点,即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一般是因为方程不收敛导致的
你试一下数值解法
你试一下数值解法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |