求和(i^k)表达式来了

博客给出了求和(i^k)的表达式,还表示若有进一步规律,可由读者自行总结。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

S_{k}=\sum_{i=1}^{n} i^{k}=\frac{1}{k+1}[\sum_{i=1}^{k+1}(C_{k+1}^{i}n^{i})-\sum_{i=0}^{k-1}(C_{k+1}^{i}S_{i})]

S_{0}=n(p=n(n+1),q=n+\frac{1}{2})

S_{1}=\frac{1}{2}n(n+1)=\frac{1}{2}p

S_{2}=\frac{1}{3}n(n+1)(n+\frac{1}{2})=\frac{1}{3}pq

 S_{3}=\frac{1}{4}n(n+1)n(n+1)=\frac{1}{4}pp

S_{4}=\frac{1}{5}n(n+1)(n+\frac{1}{2})[n(n+1)-\frac{1}{3}]=\frac{1}{5}pq(p-\frac{1}{3})

S_{5}=\frac{1}{6}n(n+1)n(n+1)[n(n+1)-\frac{1}{2}]=\frac{1}{6}pp(p-\frac{1}{2})

S_{6}=\frac{1}{7}n(n+1)(n+\frac{1}{2})\left \{n(n+1)[n(n+1)-1]+\frac{1}{3}\right \}=\frac{1}{7}pq(p(p-1)+\frac{1}{3})

S_{7}=\frac{1}{8}pp(p^{2}-\frac{4}{3}p+\frac{2}{3})

S^{8}=\frac{1}{9}pq(p^{3}-2p^{2}+\frac{9}{5}p-\frac{3}{5})

S_{9}=\frac{1}{10}pp(p^{3}-\frac{5}{2}p^{2}+3p-\frac{3}{2})

S_{10}=\frac{1}{11}pq(p^{4}-\frac{10}{3}p^{3}+\frac{17}{3}p^{2}-5p+\frac{5}{3})

S_{25}=\frac{1}{26}pp(p^{11}-\frac{143}{6}p^{10}+\frac{1079}{3}p^{9}-\frac{8437}{2}p^{8}+\frac{119405}{3}p^{7}-\frac{897676}{3}p^{6}+\frac{12228332}{7}p^{5}-7629346p^{4}+23651185p^{3}-\frac{673689375}{14}p^{2}+\frac{1181820455}{21}p-\frac{1181820455}{42})

若有再进一步的规律就交给大家去总结了。

优化这段HLS代码,尽量不要使用for循环,采用流水线设计,不能阻塞,优化LUT资源:#include "SmoothProfileOnXAxisMean.h" void SmoothProfileOnXAxisMean(hls::stream<float>& points_in_z, hls::stream<float>& smoothed_z, ap_uint<6> mean_win_size, float invalid_z ) { // #pragma HLS DATAFLOW #pragma HLS INTERFACE axis port=points_in_z #pragma HLS INTERFACE axis port=smoothed_z #pragma HLS INTERFACE ap_none port=mean_win_size #pragma HLS INTERFACE ap_none port=invalid_z #pragma HLS INTERFACE ap_ctrl_none port=return float result = 0.0f; float mean_registers [33]; #pragma HLS ARRAY_PARTITION dim=1 type=complete variable=mean_registers // 上一周期window size static ap_uint<6> last_mean_win_size = 0; // 新周期刷新window size if (mean_win_size != last_mean_win_size) { last_mean_win_size = mean_win_size; } // 使用稳定window size ap_uint<6> stable_mean_win_size = 0; stable_mean_win_size = last_mean_win_size; int half_window = stable_mean_win_size / 2; // 初始化寄存器 for (int i = 0; i < 33; i++) { #pragma HLS UNROLL mean_registers[i] = 0.0f; } // 主循环 for (int i = 0; i < 3200 + half_window; i++) { #pragma HLS PIPELINE II=1 bool data_available = (i < 3200); // 数据读使能 float new_value = 0.0f; ap_uint<8> gray_new_value = 0; // 接收数据流 if (data_available) { new_value = points_in_z.read(); } // 数据移位寄存 for (int j = 32; j > 0; j--) { mean_registers[j] = mean_registers[j - 1]; } mean_registers[0] = data_available ? new_value : mean_registers[0]; // 如果窗口中心点是无效值,则直接输出无效值 if (mean_registers[half_window] == invalid_z) { smoothed_z.write(invalid_z); continue; } // 边界处直接输出源值 if (((i >= half_window) && (i < stable_mean_win_size - 1)) || (i >= 3200)) { smoothed_z.write(mean_registers[half_window]); continue; } // 窗口填满后开始滤波处理 else if ((i >= stable_mean_win_size - 1) && (i <= 3200)) { float sum = 0.0f; int valid_count = 0; if (stable_mean_win_size == 1) { for (int k = 0; k < 1; k++) { if (mean_registers[k] != invalid_z) { sum += mean_registers[k]; valid_count++; } } } if (stable_mean_win_size == 3) { for (int k = 0; k < 3; k++) { if (mean_registers[k] != invalid_z) { sum += mean_registers[k]; valid_count++; } } } if (stable_mean_win_size == 5) { for (int k = 0; k < 5; k++) { if (mean_registers[k] != invalid_z) { sum += mean_registers[k]; valid_count++; } } } else if (stable_mean_win_size == 9) { for (int k = 0; k < 9; k++) { if (mean_registers[k] != invalid_z) { sum += mean_registers[k]; valid_count++; } } } else if (stable_mean_win_size == 17) { for (int k = 0; k < 17; k++) { if (mean_registers[k] != invalid_z) { sum += mean_registers[k]; valid_count++; } } } else if (stable_mean_win_size == 33) { for (int k = 0; k < 33; k++) { if (mean_registers[k] != invalid_z) { sum += mean_registers[k]; valid_count++; } } } // 计算并输出均值 result = (valid_count > 0) ? sum / valid_count : invalid_z; smoothed_z.write(result); } } }
最新发布
07-23
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值