简单的matlab解方程问题
有四个未知数,四个方程,一共有五个参数,参数在这个范围内变化,图中括号里面都是参数的变化范围。问题是如何用matlab得到受参数影响的未知数。能不能设置一个五个字母进行赋...
有四个未知数,四个方程,一共有五个参数,参数在这个范围内变化,图中括号里面都是参数的变化范围。问题是如何用matlab得到受参数影响的未知数。能不能设置一个五个字母进行赋值,让我自己赋值?可以写一下解这个方程的代码吗?最好是符合2016版本的。跪谢!!
展开
1个回答
展开全部
p1=180;p2=500;p3=60;p4=15;p5=2;%自己改
options = optimoptions('fsolve','Display','off');
f=@(x)[x(1)*sind(p3)+x(2)*cosd(x(3))-(4700-p1-p2);
x(1)*sind(p4)+x(2)*cosd(x(4))-(2200-p1-p2);
x(1)*cosd(p4)-x(2)*sind(x(4))-(x(1)*cosd(p3)-x(2)*sind(x(3)));
x(1)-p5*x(2)];
x=ones(4,1);
iteration=0;
while 1
iteration=iteration+1;
[x,v,flag]=fsolve(f,x,options);
if flag~=1
fprintf(1,'The solution is: x1 = %f, x2 = %f, x3 = %f, x4 = %f\n',x);
break
elseif iteration>10
disp('Can not find the solution!');
break
end
end
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询