我有以下代码:
syms y
x=linspace(0,1000,100);
b=solve((1/(x-y))-(1/y)=2,y)
而且它不起作用。我想对解决方案进行矢量化,但不知何故我遗漏了一些东西。我不想使用 for 单独求解每个值。
非常感谢您的帮助。
最佳答案
想想如何用笔和纸解决这个问题。你不会替换 x 100 次,然后解决它 100 次。相反,对 y 求解一次,然后输入 x 值:
syms x y
%use solve once
b=solve((1/(x-y))-(1/y)==2,y)
%generate anonymous function from the solution
c=matlabFunction(b)
%evaluate anonymous function 100 times
result=c(linspace(0,1000,100))
%to get only the highest solution
max(result)
它返回一个 2x100 矩阵,因为 solve
找到了两个解。
关于matlab - Matlab 中的向量化求解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35722709/