• 回答数

    3

  • 浏览数

    2595

  • 收藏数

    0

作者:逆战 发表于 2018-11-20 10:57:50
跳转到指定楼层
本人在用matlab解多个方程组时遇到了问题,下面是我写的函数和程序,但是在求解时每次都需要估算初值,需要迭代好多次,希望大神能帮我改进matlab代码,或者将误差设置为小于1e-8,谢谢!
函数为:
function F=concen(x)
F(1)=x(1)+x(2)-0.839;
F(2)=x(3)+x(4)+x(5)-0.54136;
F(3)=x(6)+x(7)+x(8)+x(4)+x(5)-50;
F(4)=x(2)+x(7)-x(4)-2*x(5)-x(8);
F(5)=0-(x(7)*x(8)/x(6)^2);
F(6)=0.4786e-6-(x(7)*x(4)/(x(6)^2*x(3)));
F(7)=0.0001e-6-(x(7)*x(5)/(x(6)*x(4)));
F(8)=0.0279e-6-(x(7)*x(1)/(x(6)*x(2)));

x0 = [0.2309;0.6081;0.0010;0.4726;0.0677;49.4596;0.0001;0.0001];  
options = optimoptions('fsolve','Display','iter');
[x,fval] = fsolve(@concen,x0,options)

分享:
回复

使用道具

该用户从未签到

新手上路

Rank: 1

积分
29
极客币
68
主题
9
帖子
25
注册时间
2018-10-23
在线时间
1 小时
性别
保密
发表于 2018-11-20 10:58:11 | 显示全部楼层
请问,您这个问题现在解决了吗?
回复

使用道具 举报

该用户从未签到

新手上路

Rank: 1

积分
20
极客币
50
主题
7
帖子
17
注册时间
2018-10-23
在线时间
1 小时
性别
保密
发表于 2018-11-20 10:58:20 | 显示全部楼层
试试1stOpt,不需要猜初值,使用简单。
回复

使用道具 举报

该用户从未签到

新手上路

Rank: 1

积分
16
极客币
52
主题
8
帖子
21
注册时间
2018-10-23
在线时间
1 小时
性别
保密
 楼主| 发表于 2018-11-20 10:58:27 | 显示全部楼层
回复

使用道具 举报

高级模式 评论
您需要登录后才可以回帖 登录 | 立即注册 微信登录
关于作者
逆战

用户组:新手上路

  • 主题

    8

  • 帖子

    21

  • 关注者

    1