用MATLAB计算满足条件的所有整数

用MATLAB计算满足条件的所有整数,matlab,Matlab,我想用MATLAB计算所有的整数x,这样x^2-2x=10^-6 x=x-20; 如果x^2+2x-2000如果您添加一些括号,并使用正确的语法表示2*x,则它可以工作 x=100; while (x^2+2*x-2000)>= (10^-6) x=(x-20); if (x^2+2*x-2000) <10^-6 disp(x) end end x=100; 而(x^2+2*x-2000)>=(10^-6) x=(x-20); 如果(x^2+2*x

我想用MATLAB计算所有的整数
x
,这样
x^2-2x=10^-6
x=x-20;

如果x^2+2x-2000如果您添加一些括号,并使用正确的语法表示
2*x
,则它可以工作

x=100;
while (x^2+2*x-2000)>= (10^-6)
    x=(x-20);
if (x^2+2*x-2000) <10^-6
        disp(x)
    end

end
x=100;
而(x^2+2*x-2000)>=(10^-6)
x=(x-20);

如果(x^2+2*x-2000)如果您添加一些括号,并使用正确的语法表示
2*x
,则它可以工作

x=100;
while (x^2+2*x-2000)>= (10^-6)
    x=(x-20);
if (x^2+2*x-2000) <10^-6
        disp(x)
    end

end
x=100;
而(x^2+2*x-2000)>=(10^-6)
x=(x-20);

如果(x^2+2*x-2000)如果您添加一些括号,并使用正确的语法表示
2*x
,则它可以工作

x=100;
while (x^2+2*x-2000)>= (10^-6)
    x=(x-20);
if (x^2+2*x-2000) <10^-6
        disp(x)
    end

end
x=100;
而(x^2+2*x-2000)>=(10^-6)
x=(x-20);

如果(x^2+2*x-2000)如果您添加一些括号,并使用正确的语法表示
2*x
,则它可以工作

x=100;
while (x^2+2*x-2000)>= (10^-6)
    x=(x-20);
if (x^2+2*x-2000) <10^-6
        disp(x)
    end

end
x=100;
而(x^2+2*x-2000)>=(10^-6)
x=(x-20);

如果(x^2+2*x-2000)在计算上,找到满足此条件的所有整数需要快速了解此问题的帮助。否则,您必须测试所有整数,这是不可能的,因为整数的数量是无限的。分析而言,找到满足条件
x^2-2x<2000
的所有整数意味着找到位于曲线
x^2-2x
y=2000
交点内的整数

让我们首先通过绘制图来查看问题:

x = -500:.1:500;
y = x.^2 - 2*x;
plot(x, y, 'color', 'g')
hold on
line([-200 200], [2000 2000], 'color', 'r')

您可以很容易地看到,您可以将搜索限制在至少-100到100之间。可以将值存储在数组中

results = []    % Declare empty array first and append value later. 
for x = -100:100
    if x^2 - 2*x < 2000
        disp(x)
        results = [results,x];  % Using a bracket to append value to the array.
    end
end
results=[]%首先声明空数组,然后追加值。
对于x=-100:100
如果x^2-2*x<2000
显示(x)
结果=[结果,x];%使用括号将值附加到数组中。
结束
结束
以及一种更快的方法来获得结果使用

x=-100:100

结果=x(x.^2-2*x计算上,找到满足此条件的所有整数需要快速了解此问题的帮助。否则,您必须测试所有整数,这是不可能的,因为整数的数量是无限的。分析上,找到满足此条件的所有整数
x^2-2x<2000
ns查找位于曲线
x^2-2x
y=2000
交点内的整数

让我们首先通过绘制图来查看问题:

x = -500:.1:500;
y = x.^2 - 2*x;
plot(x, y, 'color', 'g')
hold on
line([-200 200], [2000 2000], 'color', 'r')

您可以很容易地看到,您可以将搜索限制在至少-100到100之间。您可以将值存储在数组中

results = []    % Declare empty array first and append value later. 
for x = -100:100
    if x^2 - 2*x < 2000
        disp(x)
        results = [results,x];  % Using a bracket to append value to the array.
    end
end
results=[]%首先声明空数组,然后追加值。
对于x=-100:100
如果x^2-2*x<2000
显示(x)
结果=[results,x];%使用括号将值附加到数组中。
结束
结束
以及一种更快的方法来获得结果使用

x=-100:100

结果=x(x.^2-2*x计算上,找到满足此条件的所有整数需要快速了解此问题的帮助。否则,您必须测试所有整数,这是不可能的,因为整数的数量是无限的。分析上,找到满足此条件的所有整数
x^2-2x<2000
ns查找位于曲线
x^2-2x
y=2000
交点内的整数

让我们首先通过绘制图来查看问题:

x = -500:.1:500;
y = x.^2 - 2*x;
plot(x, y, 'color', 'g')
hold on
line([-200 200], [2000 2000], 'color', 'r')

您可以很容易地看到,您可以将搜索限制在至少-100到100之间。您可以将值存储在数组中

results = []    % Declare empty array first and append value later. 
for x = -100:100
    if x^2 - 2*x < 2000
        disp(x)
        results = [results,x];  % Using a bracket to append value to the array.
    end
end
results=[]%首先声明空数组,然后追加值。
对于x=-100:100
如果x^2-2*x<2000
显示(x)
结果=[results,x];%使用括号将值附加到数组中。
结束
结束
以及一种更快的方法来获得结果使用

x=-100:100

结果=x(x.^2-2*x计算上,找到满足此条件的所有整数需要快速了解此问题的帮助。否则,您必须测试所有整数,这是不可能的,因为整数的数量是无限的。分析上,找到满足此条件的所有整数
x^2-2x<2000
ns查找位于曲线
x^2-2x
y=2000
交点内的整数

让我们首先通过绘制图来查看问题:

x = -500:.1:500;
y = x.^2 - 2*x;
plot(x, y, 'color', 'g')
hold on
line([-200 200], [2000 2000], 'color', 'r')

您可以很容易地看到,您可以将搜索限制在至少-100到100之间。您可以将值存储在数组中

results = []    % Declare empty array first and append value later. 
for x = -100:100
    if x^2 - 2*x < 2000
        disp(x)
        results = [results,x];  % Using a bracket to append value to the array.
    end
end
results=[]%首先声明空数组,然后追加值。
对于x=-100:100
如果x^2-2*x<2000
显示(x)
结果=[results,x];%使用括号将值附加到数组中。
结束
结束
以及一种更快的方法来获得结果使用

x=-100:100

结果=x(x.^2-2*x基于@User3667217的解决方案,您还可以将其矢量化:

x = -100:100;
y = x.^2-2*x;
tmp = y<2000;
results = y(tmp);
x=-100:100;
y=x.^2-2*x;

tmp=y基于@User3667217的解决方案,您还可以将其矢量化:

x = -100:100;
y = x.^2-2*x;
tmp = y<2000;
results = y(tmp);
x=-100:100;
y=x.^2-2*x;

tmp=y基于@User3667217的解决方案,您还可以将其矢量化:

x = -100:100;
y = x.^2-2*x;
tmp = y<2000;
results = y(tmp);
x=-100:100;
y=x.^2-2*x;

tmp=y基于@User3667217的解决方案,您还可以将其矢量化:

x = -100:100;
y = x.^2-2*x;
tmp = y<2000;
results = y(tmp);
x=-100:100;
y=x.^2-2*x;

tmp=I我试过了,但它给了我40,事实上我想要一个整数列表,在这种情况下我能做什么?在while循环外声明一个数组,并在满足条件时向其追加元素。对此我很抱歉,但我不记得comand追加并声明数组:)提前感谢我已经尝试过了,但它给了我40,事实上我想要一个整数列表,在这种情况下我能做什么?在while循环外声明一个数组,并在满足条件时向其追加元素。对此我很抱歉,但我不记得comand追加并声明数组:)提前谢谢,我已经试过了,但它给了我40个,实际上我想要一个整数列表,在这种情况下我能做什么?在while之外声明一个数组