如何增加范围设置中的数字,直到给出具体答案?

时间:2019-04-16 16:28:47

标签: matlab runge-kutta

我已经编写了一个rungekutta代码,它应该计算出一个特定的x范围。问题是教授。想要一个代码,不断增加自身,直到达到所需的答案。

我尝试使用'if'函数,但是它只能运行一次,并且不再工作(因此,甚至会导致数组长度不匹配。

代码:

orderDetails

数组长度错误(表明如果函数只能运行一次)

null

它应该在'z'变量中继续增加+1,直到y(i + 1)的答案小于11。(正确的z应该是9.5)

1 个答案:

答案 0 :(得分:1)

按照@medicine_man的建议,您需要一个while循环:

h=0.5;% step size
z=0.5;
x = 0;
y = 50;% initial condition
F_xy = @(t,x) (37.5-3.5*x);%function


m = 0;
while y(m+1) > 11
    m = m+1;
    x = x+h;
    k_1 = F_xy(x,y(m));
    k_2 = F_xy(x+h,y(m)+h*k_1);

    y(m+1) = y(m) + (h/2)*(k_1+k_2);% main equation

end

figure;
plot(0:h:x, y);

y(m+1) > 11循环的每次迭代开始时检查终止条件while。在循环中,您可以增加x的值并更新y数组。循环运行直到满足终止条件。

以上代码的结果:

enter image description here