2
我有以下代码:矢量化解决MATLAB
syms y
x=linspace(0,1000,100);
b=solve((1/(x-y))-(1/y)=2,y)
,它不工作。我想要矢量化解决方案,但不知何故,我失去了一些东西。我不想用for来单独解决每个值。
非常感谢帮助。
我有以下代码:矢量化解决MATLAB
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)
它返回一个2×100矩阵,因为solve
发现了两个解决方案。
非常感谢。当仅将c定义为最大值时,它将返回“输入参数必须可转换为浮点数字”。感谢您滥用您的帮助。 –
当你遇到错误时,你使用了什么代码?你不能在符号输入中使用'max',你只对正解有兴趣吗? – Daniel
我想现在我明白你的问题了。最后应用'max'来获得最大的解决方案:'max(c(linspace(0,1000,100)))' – Daniel