f**********g 发帖数: 107 | 1 需要做到以下矩阵赋值(其中I,J,K是三个已经赋值的数):
U(I,J,K)=0;
for i=1:I
for j=1:J
for k=1:K
U(i,j,k)=a*i+b*j^2+c*k^3;
end
end
end
程序里有很多这样的循环赋值,很占用时间。请问有没有办法用矩阵运算来解决? | j**u 发帖数: 6059 | 2 1. i,j,k应该都是从1开始吧
2. 用meshgrid
[X,Y,Z]=meshgrid(1:I,1:J,1:K);
U = a.*X + b.*Y.^2 + c.*Z.^3 ;
【在 f**********g 的大作中提到】 : 需要做到以下矩阵赋值(其中I,J,K是三个已经赋值的数): : U(I,J,K)=0; : for i=1:I : for j=1:J : for k=1:K : U(i,j,k)=a*i+b*j^2+c*k^3; : end : end : end : 程序里有很多这样的循环赋值,很占用时间。请问有没有办法用矩阵运算来解决?
| f**********g 发帖数: 107 | |
|