Math 如何通过matlab求解器求解等式方程?

Math 如何通过matlab求解器求解等式方程?,math,matlab,symbolic-math,Math,Matlab,Symbolic Math,我有一个问题与基础数学有关,但用Matlab解决方法。问题是: y = 5; for x=0.01:100 F = 3*x + y - 2*x^2; end 从上面的迭代方程中,我想找到最大[F]值及其相对[x]。是否可以通过matlab解算器进行求解。您能帮我解决这个问题吗?对于无约束非线性优化(根据您上次的编辑),请使用来解决您的问题。应该是这样的: F = @(x) 3*x + y - 2*x^2; xini = 5; %initial value to the solver

我有一个问题与基础数学有关,但用Matlab解决方法。问题是:

y = 5;

for x=0.01:100
    F = 3*x + y - 2*x^2;
end

从上面的迭代方程中,我想找到最大[F]值及其相对[x]。是否可以通过matlab解算器进行求解。您能帮我解决这个问题吗?

对于无约束非线性优化(根据您上次的编辑),请使用来解决您的问题。应该是这样的:

F = @(x) 3*x + y - 2*x^2;
xini = 5; %initial value to the solver
[xsolu Fsolu] = fminsearch(@F,xini)
要控制选项,请参见解算器的参数


根据您的原始配方,解决方案为:

x=0.01:100;
F = zeros(length(x),1);
for ii = 1:length(x)
    F(i) = 3*x(i) + y - 2*x(i)^2;
end

xsolu = max(F);
Fsolu = F(x == xsolu);

这是一种非常低效的方法,更不用说了。

请您更具体一点和/或修改您的问题、代码,好吗?e、 g.
F
不受循环的影响,而且,在给定条件下,
F
是一个线性函数……对不起,我编辑了这个问题。现在F在每次迭代中都在变化,它仍然是一个线性函数,但主要的问题是如何找到函数的最大值及其对应的x值。因为,应用simple max()函数不会显示其响应的x,或者我不知道如何实现它。这是基本方程,真正的问题是非线性的。我想可能会有帮助。真的吗<代码>二次函数的fminsearch?有点过头了…他/她到现在为止已经三次更改了
F
函数,因此我提供了一个通用的解决方案。我同意。OP似乎无法下定决心,所以给他们一个过激的工具,让他们自己解决。谢谢你的解决方案。但是他们有任何简单的方法,我可以使用基本的迭代算法,因为这些算法非常耗时。你们可以使用牛顿方法,但前提是你们的函数是可微的。你可以在这里查看我关于牛顿-拉斐逊方法的帖子:
x=0.01:100;
F = zeros(length(x),1);
for ii = 1:length(x)
    F(i) = 3*x(i) + y - 2*x(i)^2;
end

xsolu = max(F);
Fsolu = F(x == xsolu);