这段程序什么意思啊!c语言中 的意思求大神指导!!!

这段matlab程序什么意思啊,求大神_c语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:513,901贴子:
这段matlab程序什么意思啊,求大神收藏
为医药电商提供源源不断的技术及服务办理
老师一个一个提问啊完全不懂啊
为什么 你会跑到C语言贴吧 问matlab
超松弛迭代法
我来膜拜的。。。。
都什么意思啊,一点不知道啊,谢谢
您要查看的图片已删除
爪机无力!
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或求大神帮我注释一下这段代码:cuda并行计算圆周率的代码
如下这段代码:
在GPU上计算PI的程序,要求块数和块内线程数都是2的幂
前一部分为计算block内归约,最后大小为块数
后一部分为单个block归约,最后存储到*pi中。
& &__global__ void reducePI1(float *d_sum,int num){
& &int id=blockIdx.x*blockDim.x+threadIdx.x;//线程索引
& &int gid=
& &extern float __shared__ s_pi[];//动态分配,长度为block线程数
& &s_pi[threadIdx.x]=0.0f;
& &while(gid&num){ & & & temp=(gid+0.5f)///当前x值 & & & s_pi[threadIdx.x]+=4.0f/(1+temp*temp); & & & gid+=blockDim.x*gridDim.x; &(计算所有的线程数。blockDim.x(每块的线程数) & gridDim.x(没网格的块数) &) & &} & &for(int i=(blockDim.x&&1);i&0;i&&=1){ & & & if(threadIdx.x&i){ & & & & & s_pi[threadIdx.x]+=s_pi[threadIdx.x+i]; & & & } & & & __syncthreads(); & &}
& &if(threadIdx.x==0) & &d_sum[blockIdx.x]=s_pi[0]; & &}
& &__global__ void reducePI2(float *d_sum,int num,float *d_pi){
& &int id=threadIdx.x;
& &extern float __shared__ s_sum[];
& &s_sum[id]=d_sum[id];
& &__syncthreads();
& &for(int i=(blockDim.x&&1);i&0;i&&=1){
& & & if(id&i) & & & s_sum[id]+=s_sum[id+i]; & & & __syncthreads(); & &}
// printf(&%d,%f\n&,id,s_sum[id]);
& &if(id==0){ & &*d_pi=s_sum[0]/ // printf(&%d,%f\n&,id,*pi); & &} }
//这段代码是用把区间面积加和的方法计算【0,1】区间上对1/(1+x^2)进行积分。我看不懂的地方很多,求大神能指点一下,小妹跪谢了~
这不就是数学题么,具体哪里不懂了啊
--- 共有 1 条评论 ---
里面gid循环的时候,为什么要整个的一次性加上所有线程呢?
引用来自“终曲”的答案这不就是数学题么,具体哪里不懂了啊 里面gid循环的时候,为什么要整个的一次性加上所有线程呢?
还有caba并行计算圆周率pi的源代码吗,能不能给我一份,谢谢啦!
--- 共有 1 条评论 ---
不好意思,我早已不做cuda这方面的工作了,代码也早找不见了求大神帮我看看这段程序是什么意思_c语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:513,901贴子:
求大神帮我看看这段程序是什么意思收藏
#if defined(MATLAB_MEX_FILE)#include"tmwtypes.h"#include"simstruc_types.h"#else#include"rtwtypes.h"#endif#include&math.h&#define u_width 1#define y_width 1void nn_hebb_4_Outputs_wrapper(const real_T*u1,
const real_T*u2,
const real_T*u3,
const real_T*u4,
const real_T *xD,
const real_T *deltak1,const int_T p_width0,
const real_T *deltak2,const int_T p_width1,
const real_T *deltak3,const int_T p_width2,
const real_T *k,const int_T p_width3) {
/*单神经元PID控制器的输出*/
real_T real_T a1,a2,a3,b1,b2,b3;
sum=abs(xD[0])+abs(xD[1])+abd(xD[2]);
b1=*u1-*u2;
b3=*u1+*u3-2**u2;
*y=*u4+*k*(b1*a1+b2*a2+b3*a3);}void nn_hebb_4_Outputs_wrapper(const real_T*u1,
const real_T*u2,
const real_T*u3,
const real_T*u4,
const real_T*y,
real_T*xD,
const real_T *deltak1, const int_T p_width0,
const real_T *deltak2, const int_T p_width1,
const real_T *deltak3, const int_T p_width2,
const real_T*k,
const int_T p_width3,){
/*单神经元权值的更新 */
real_T a,b,c;
xD[0]=xD[0]+*deltak1**u1**u4*(2**u1-*u2);
xD[1]=xD[1]+*deltak2**u1**u4*(2**u1-*u2);
xD[0]=xD[0]+*deltak3**u1**u4*(2**u1-*u2);}
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或

我要回帖

更多关于 c语言中 的意思 的文章

 

随机推荐