MATLAB中用FSOLVE解方程怎么实现循环
我有一个方程组用fsolve来解,总共有4731组数据,每一组数据对应一个方程组(就是方程组中一些常量的值发生变化),需要得到4731组解,这个过程中调用了EXCLE表格...
我有一个方程组用fsolve来解,总共有4731组数据,每一组数据对应一个方程组(就是方程组中一些常量的值发生变化),需要得到4731组解,这个过程中调用了EXCLE表格中的数据,但我怎么才能实现循环呢,让fsolve函数解4731次方程。图中是我的fun函数和fsolve的代码(写在两个M文件里面),运行FSOLVE时,k值不能传递过去。程序运行不了。求大神帮忙~~~
展开
2个回答
展开全部
使用全局变量
先定义函数
function f=fc(y)
global D;
a=50;
b=1;
c=5;
f1=(1+D)*y(1)+3*y(1)*(2*(y(2)+y(1)^2)-y(1)^2);
f2=c*(15*y(1)*y(2)^2+10*y(2)*y(1)^3+y(1)^5)-2*(1+D)*y(1)^3;
f=[f1; f2];
然后循环求解
clear;
clc;
s=[];
global D;
for D=0:0.01:1
s0=fsolve('fc',[rand;rand]);
s=[s;s0'];
end
先定义函数
function f=fc(y)
global D;
a=50;
b=1;
c=5;
f1=(1+D)*y(1)+3*y(1)*(2*(y(2)+y(1)^2)-y(1)^2);
f2=c*(15*y(1)*y(2)^2+10*y(2)*y(1)^3+y(1)^5)-2*(1+D)*y(1)^3;
f=[f1; f2];
然后循环求解
clear;
clc;
s=[];
global D;
for D=0:0.01:1
s0=fsolve('fc',[rand;rand]);
s=[s;s0'];
end
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询