在matlab中向量化求解
Vectorizing solve in 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)
它 returns 一个 2x100 矩阵,因为 solve
找到了两个解。
我有以下代码:
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)
它 returns 一个 2x100 矩阵,因为 solve
找到了两个解。