如何避免写作中的for循环\ b在a和b是不同的尺寸吗
1视图(30天)
显示旧的评论
我正在解决
在哪里
一个
是一个三维复杂的数组的维度
和
b
是一个二维的数组维度
。为了做到这一点,我创建一个for循环调用linsolve ()
次了。
我可以避免写这个for循环,这样我就不用花费额外的计算调用linsolve ()
次?看起来,pagemldivide()函数可能这样做的方法之一。
清晰的所有;关闭所有;
%原方法
Nx = 32;
=复杂(兰德(Nx + 1, Nx + 1, Nx),兰德(Nx + 1, Nx + 1, Nx));%是一个3 d复杂的数组中
b =兰德(Nx + 1, Nx);% b是一个二维数组
溶液= 0 (Nx Nx + 1);%的解决方案将是一个2 d复杂的数组
为j = 1: Nx
概率= linsolve ((:,:, j)、b (:, j));% \ b
溶液(j) =概率。';%的大小(Nx Nx + 1)
结束
%的新方法
soln_tilde = pagemldivide ((:,:)。, b (:));%的大小(Nx + 1, - 1)
有一种使用pagemldivide()(或一个独立的Matlab函数)来避免编写一个for循环,得到相同的最终解决方案的尺寸吗
吗?