Internship22

构建动态网站

修改wamp的deny
接受其他主机访问

  1. 找到配置文件
  2. Deny form all 改为 allow form al

wamp配置文件查找错误

1.找到路径 D:\develop\wamp\bin\apache\Apache2.4.4\bin

2.cmd 执行httpd

3.更正错误

4.重启服务

常见的后端编程语言

  • php 相对简单 快速构造网站
  • JavaScript nodeJS
  • java jsp 处理高并发
  • .net 微软
  • python 蟒蛇

PHP

php是世界上最好的语言 简单

html构造静态网站 php构造动态网站

预定义变量

不需要声明就可以使用的变量

简单的动态网站

html部分

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	
</head>
<body>
	<!-- 传递的两种方式
		1.URL
		2.表单
	 -->
	 <!-- 输入考号查询成绩 -->
	<div>
		<form action="demophp4.php" method="post">
			考号: <input type="text" name="code">
			<br />
			<input type="submit" value='查询'>

		</form>
	</div>
</body>
</html>

php部分

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>成绩</title>
</head>
<body>
	<h1>欢迎</h1>

	<?php 
		//静态网站的可维护非常低
		// 1.复用性高   2.维护性高
		
		//服务器渲染界面
		$arr = array();
		$arr['123'] = array('username' => '张三', 'math' => '140', 'english' => '60', 'chinese' => '80');
		$arr['124'] = array('username' => '王五', 'math' => '40', 'english' => '40', 'chinese' => '100');
		$arr['125'] = array('username' => '赵六', 'math' => '140', 'english' => '120', 'chinese' => '110');

		$code = $_POST['code'];

		if($code == 'admin') {
			foreach ($arr as $value) {
				echo "
			<ul>
				<li>姓名:$value[username]</li>
				<li>数学:$value[math]</li>
				<li>英语:$value[english]</li>
				<li>语文:$value[chinese]</li>
			</ul>


				";
			}
		}else {
			$score = $arr[$code];
			echo "
				<ul>
					<li>姓名:$score[username]</li>
					<li>数学:$score[math]</li>
					<li>英语:$score[english]</li>
					<li>语文:$score[chinese]</li>
				</ul>

			";
		}



	 ?>
</body>
</html>
import math import numpy as np import matplotlib.pyplot as plt def AWGN_channel(x, sigma2): noise = np.sqrt(sigma2) * np.random.randn(x.size) return x + noise def AWGNdemapper(y, const, varN): apps = np.exp(-np.abs(np.transpose([y]) - const) ** 2 / (2 * varN)) return apps / np.transpose([np.sum(apps, 1)]) def sampler(prob, n): samples = np.empty(0) for idx, p in enumerate(prob): occurrences = np.round(n * p) samples = np.concatenate((samples, np.ones(occurrences.astype(int)) * idx)) indexes = np.random.permutation(samples.shape[0]) return samples[indexes] def xesmd(apps, idx): ''' Estimates symbolwise equivocation from reference symbols indices and a posteriori probabilities. ''' eq = -np.log(np.take_along_axis(apps, idx[:, None], axis=1) / np.transpose([np.sum(apps, 1)])) eq[eq == np.inf] = 1000 return np.mean(eq) n = 100_000 SNR_dBs = np.arange(5,22) np.arange(0,2.5,0.01).shape M = 8 plots_dict = np.empty(shape=(17,25000)) for idx, shaping in enumerate(np.arange(0,2.5,0.0001)): alphabet = np.arange(-7,8,2) alphabet = alphabet / np.sqrt(np.mean(alphabet**2)) scaling = (alphabet[1]-alphabet[0])/2 # scaling = 0.21821789023599236 # print('Scaling: ', scaling) denominator = np.sum(np.exp(-shaping*np.square(alphabet))) probs = 1/denominator * np.exp(-shaping*np.square(alphabet)) power = np.sum(np.square(np.arange(-7,8,2)*(scaling))*probs) # print('Power: ', power) indices = sampler(probs, n).astype(int) norm_factor = np.sqrt(np.sum(np.square(alphabet) * probs)) alphabet = alphabet / norm_factor symbols = alphabet[indices] scaling = (alphabet[1]-alphabet[0])/2 # print('Scaling: ', scaling) H = np.sum(-np.log2(probs)*probs) # print('Entropy: ',H) power = np.mean(symbols**2) # print('Power: ', power) # plt.rcParams['figure.figsize'] = [4, 4] # plt.hist(symbols, bins=100) # plt.show() for jdx, snrdB in enumerate(SNR_dBs): sigma2 = 1/(10**(snrdB/10)) sigma2 = sigma2 y = AWGN_channel(symbols, sigma2) apps = AWGNdemapper(y, alphabet, sigma2) xe = xesmd(apps, indices) plots_dict[jdx][idx] = (2*(H - (xe) / np.log(2))) print(np.max(plots_dict, 1).tolist()) mb = np.max(plots_dict, 1) mb = [2.0193916630846918, 2.2654022278277393, 2.5231306887622242, 2.7943201472250596, 3.0806359602235873, 3.3809640408051758, 3.69383842699387, 4.010358520455199, 4.318829495451576, 4.61704902872525, 4.895880050688773, 5.151007989533582, 5.376996748960784, 5.569021543421744, 5.722730806499707, 5.841398311333901, 5.9200053405287045] from numpy import genfromtxt my_data = genfromtxt('/home/ddeandres/Projects/internship_pcs/documentation/figs/mb_8_ask.csv', delimiter=',') plt.plot(my_data[:,0], my_data[:,1]) # Plot plt.rcParams['figure.figsize'] = [8, 6] for value in plots_dict: # print(key, value) plt.plot(SNR_dBs, mb) plt.plot(my_data[:,0], 2*my_data[:,1]) plt.plot(SNR_dBs, np.log2(1+10**(SNR_dBs/10)), color='black', label='Capacity') plt.grid() 解释代码,并进行注释,请注意,可以对代码进行规范化,但不要修改原本的结构。另外,将原本的信噪比SNR_dBs = np.arange(5,22)修改为仅包含5,10,15,20.增加星座点可视化,可参考下列代码: 3. 星座图可视化 plt.figure(figsize=(4, 4)) # 计算二维网格点(实部+虚部,本例为实数调制) alph = alphabet_norm.detach().numpy() a = np.array([(d, c) for c in np.flip(alph) for d in alph]) # 计算联合概率 joint_probs = (probs.reshape(-1, 1) * probs.reshape(1, -1)).flatten().detach().numpy() # 绘制散点图(点大小表示概率) plt.scatter(a[:, 0], a[:, 1], s=joint_probs * 2000, alpha=0.6) plt.title(“Constellation Diagram”) plt.xlabel(“In-phase”) plt.ylabel(“Quadrature”) # 保存为TikZ格式(用于LaTeX文档) tikzplotlib_save(f"aref_pcs_{SNR_dB}dB.tex") plt.show()
08-13
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值