作业帮 > 综合 > 作业

matlab求解一元二次方程,带变量的

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/06 16:50:23
matlab求解一元二次方程,带变量的
matlab设计M文件,以下是部分程序:
x0=1;
for t=0:0.2:2
x=solve('x=x0-0.2x^2+0.2*t','x');
x0=x;
solve那一步应该有问题吧,运行出错,
存在问题:
1、要解的方程不能写在字符串里面,那样变量t不能起作用;
2、方程中0.2x^2项缺乘号;
3、关于x的二次方程有两个根,需要选择其中一个才能进行迭代.
 
建议代码:
x0=1;
syms x
for t=0:0.2:2
    x0 = solve(-x+x0-0.2*x^2+0.2*t,x);
    x0 = max(double(x0))
end
再问: 我还想把每次计算的结果存入矩阵中,下面的程序有什么错误呢
x0=1;
m=1;
syms x;
for t=0:0.2:2
x=solve(-x+x0-0.2*x^2+0.2*t,x);
x=max(double(x));
X(m,:)=x;
再答: 你的m在循环中没有变啊? 参考代码:x0 = 1;
syms x
T = 0:0.2:2;
X = T*0;
for m=1:length(T)
    t = T(m);
    x0 = solve(-x+x0-0.2*x^2+0.2*t,x);
    x0 = max(double(x0));
    X(m) = x0;
end
plot(T,X,'.-')