假设我有一组线/曲线,并且想一次找到每个与选定线相交的位置。假设我现在定义了线/曲线的所有方程式,是否可以在matlab中向量化此操作?
与之相交的线:
y_i=m_i*x+b_i; % i integer
主线
y=M*x+B;
就像我显示的数字一样。 我知道我可以通过以下方式一对一进行操作:
M*x_inter+B=m_i*x_inter+b_i;
y_inter=M*x_inter+B;
,然后将其置于for循环中,但是由于此方法的实际使用是针对数百行,因此将操作向量化的效率更高。
答案 0 :(得分:0)
您可以将所有m_i和b_i加入列向量中,然后立即求解。假设您有3行:
nlines = 3;
Bcol = ones(nlines ,1)*B; %your B value put into a column
Mcol = ones(nlines ,1)*M;
x_inter = (b - Bcol)./( Mcol - m); %this b contains all your b_i values, the same for m
y_inter = Mcol .*x_inter + Bcol
显然x_inter
和y_inter
将是数组而不是单个值