使用for循环和fsolve的非线性方程

时间:2019-01-14 06:40:16

标签: matlab

我目前正在从事一个项目,该项目需要我解决一个常数在设定极限之间变化的函数,然后绘制该函数。

我已经运行了这段代码,但是会弹出此错误:“未定义的函数或变量'x'。

  

basicfun中的错误(第4行)      p(i)= x。^ 3-27。* a“

a=0:0.1:1;
for i=1:length(a)

   p(i)=x.^3-27.*a
end
x0=1;
[x,fval]=fsolve(prob,x0);
disp(p)
plot(p)

预计会发生的是“ a”从0开始,并给出x在p(0)到p(11)到a = 1的解,此时x = 3。

1 个答案:

答案 0 :(得分:0)

从我的看到,这是因为指令的位置:

x0=1;
[x,fval]=fsolve(prob,x0);
a=0:0.1:1;
for i=1:length(a)
   p(i)=x.^3-27.*a
end
disp(p)
plot(p)

您在给x赋值之前就使用了它。