当前位置: 首页 > news >正文

低价网站制作顺德php网站开发教程网

低价网站制作顺德,php网站开发教程网,建设公司网站入账,学校网站建设好么这两天一直在琢磨如下矩阵计算问题。 已知dm矩阵X和hq矩阵Y#xff0c;求如下矩阵#xff1a; 其中X(:,i), Y(:,j)分别表示矩阵X, Y的第i列和第j列#xff0c;易知Z为dh矩阵。 如果直接串行计算矩阵Z#xff0c;两个循环共有mq#xff0c;则会很慢#xff0c;能不能并行化…        这两天一直在琢磨如下矩阵计算问题。 已知d×m矩阵X和h×q矩阵Y求如下矩阵 其中X(:,i), Y(:,j)分别表示矩阵X, Y的第i列和第j列易知Z为d×h矩阵。 如果直接串行计算矩阵Z两个循环共有m×q则会很慢能不能并行化呢 实际上是可以的为便于理解我们先把Z写成如下形式 对于矩阵Z中的第(r,s)个元素 . 注意到第一个括号是X的第r行之和第二个括号是Y的第s行之和。 也就是说矩阵Z中的第(r,s)个元素等于X的第r行之和乘以Y的第s行之和。因此可以先分别将X和Y所有列对应相加得到长为d的列向量Xsum和长为h的列向量Ysum则Z等于Xsum乘以Ysum的转置。实际上推导可以不用这么麻烦对于目标计算式 注意到第一个括号是将X所有列对应相加第二个括号是将Y所有列对应相加因此Z也就是前面提到的Xsum乘以Ysum的转置。 Matlab代码如下 function [ Z ] Mtx_Col_Multi( X, Y ) % Mtx_Col_Multi returns Z \sum_{i1}^{m}\sum_{j1}^{q} X(:,i)*Y(:,j) % Here, X(:,i) and Y(:,j) denote the i-th and j-th column of X and Y, respectively % INPUT: % X - A dxm matrix % Y - A hxq matrix % OUTPUT: % Z - A dxh matrixX_sum sum(X,2);Y_sum sum(Y,2);Z X_sum*Y_sum;%dxh% %This function implements the following procedure in parallel % Z zeros(d,h);%dxh % for ii1:m % x_i X(:,ii); % for jj1:q % y_j Y(:,jj); % Z Z x_i*y_j; % end % end end 其实我真正想计算的是如下运算里面包含一个系数 其中C(i,j)是一个系数是矩阵C中的第(i,j)个元素。那么这个运算能不能并行化呢 使用类似的思想 因此可以编写如下函数 function [ Z ] Mtx_Coef_Col_Multi( X, Y, C ) % Mtx_Coef_Col_Multi returns Z \sum_{i1}^{m}\sum_{j1}^{q} C(i,j)*X(:,i)*Y(:,j) % Here, X(:,i) and Y(:,j) denote the i-th and j-th column of X and Y, respectively % C(i,j) denotes the item in i-th row and j-th column of C. % INPUT: % X - A dxm matrix % Y - A hxq matrix % C - A mxq matrix % OUTPUT: % Z - A dxh matrixd size(X,1);h size(Y,1);[m,q] size(C);if qmZ zeros(d,h);%dxhfor jj1:qy_j Y(:,jj);%1xhc_j C(:,jj);%1xmX_c bsxfun(times, X, c_j);%dxmX_sum sum(X_c,2);%dx1Z Z X_sum*y_j;%dxhend elseZ zeros(d,h);%dxhfor ii1:mx_i X(:,ii);%dx1c_i C(ii,:);%1xqY_c bsxfun(times, Y, c_i);%hxqY_sum sum(Y_c,2);%hx1Z Z x_i*Y_sum;%dxhend end% %This function implements the following procedure in parallel % Z zeros(d,h);%dxh % for ii1:m % x_i X(:,ii); % for jj1:q % y_j Y(:,jj); % Z Z C(ii,jj)*x_i*y_j; % end % end end 可以使用如下代码测试一下上述并行化实现方法与串行实现的效率差异 %demo for Mtx_Coef_Col_Multi clc;clear;close; d 5; m 10000; h 8; q 50; X rand(d,m); Y rand(h,q); C rand(m,q);tic; Z_serial zeros(d,h);%dxh for ii1:mx_i X(:,ii);for jj1:qy_j Y(:,jj);Z_serial Z_serial C(ii,jj)*x_i*y_j;end end toc; tic; Z Mtx_Coef_Col_Multi(X, Y, C); toc; norm(Z_serial-Z,fro) 命令行窗口输出如下信息有一定的随机性每次运行结果有些差异 时间已过 1.011418 秒。 时间已过 0.009981 秒。 ans 6.5505e-09 也就是在当前设置下并行实现版本的效率提交了100倍左右。
http://www.zqtcl.cn/news/252458/

相关文章:

  • 个人网站开发 服务器货源之家官网
  • 教育培训学校网站建设策划局域网 wordpress
  • 重庆建网站有哪些网站做曲线的源代码
  • 龙岩网站设计找哪家公司网站建设没有业务怎么办
  • 网站建设专业学什么建材 团购 网站怎么做
  • 电器工程东莞网站建设wordpress虚拟资源下载源码
  • 无限个网站虚拟空间网站运行维护
  • 宝思哲手表网站关于计算机网站建设的论文
  • uc投放广告网站要自己做吗dw制作企业网站
  • 山东网站制作南京软件外包公司
  • 铁岭建设银行网站网站验证码原理
  • 做网站需要什么专业方向的员工钱多网站
  • 网站建设合同要存档几年7星彩网站开发
  • 网站建设好后 如何验收什么网站可以做护考题
  • 网站安全怎么做wordpress代币插件
  • 吉林网站建设电话龙华网站建设专业定制企业
  • 个人导航网站怎么备案js调用wordpress文章列表
  • 网站微信推广方案衡水外贸网站建设
  • 怎么打造自己的网站如何做自已网站
  • 美容美发网站模板wordpress适合优化吗
  • 网站开发的著作权和版权沧州市做网站价格
  • 优客逸家网站源码酒吧装修
  • 深圳网站制作的公司怎么样开工作室做网站怎样找资源
  • 大连城乡建设局网站seo编辑招聘
  • 网站建设意见怎么在中国移动做网站备案
  • 做内贸哪个网站找客户网络外包
  • 古玩网站建设意义钟山县住房和城乡建设局网站
  • 网站开发微信公众号自定义菜单规则网站建设
  • 营销网站建设工作教育培训wordpress主题
  • 温州地区做网站公司如何注册新公司