a_thru_j.c

本文介绍了一个使用C语言创建并初始化字符串的例子。通过循环为字符数组赋值,将字母A到Z依次分配给数组元素,并在第10个位置设置空终止符。最后,程序输出了该字符串。

  name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-5572165936844014&dt=1194442938015&lmt=1194190197&format=336x280_as&output=html&correlator=1194442937843&url=file%3A%2F%2F%2FC%3A%2FDocuments%2520and%2520Settings%2Flhh1%2F%E6%A1%8C%E9%9D%A2%2FCLanguage.htm&color_bg=FFFFFF&color_text=000000&color_link=000000&color_url=FFFFFF&color_border=FFFFFF&ad_type=text&ga_vid=583001034.1194442938&ga_sid=1194442938&ga_hid=1942779085&flash=9&u_h=768&u_w=1024&u_ah=740&u_aw=1024&u_cd=32&u_tz=480&u_java=true" frameborder="0" width="336" scrolling="no" height="280" allowtransparency="allowtransparency"> #include <stdio.h>

void main(void)
 {
   char string[256];
   int i;

   for (i = 0; i < 26; i++)
     string[i] = 'A' + i;

   string[10] = NULL;

   printf ("The string contains %s/n", string);
 }

%% 光学微环链路传输谱仿真 clear all; clc; % ========== 参数设置 ========== c = 3e8; % 光速(m/s) f0 = 193.075e12; % 中心频率(193.075 THz) n_eff = 1.0; % 波导有效折射率 a = 0.98; % 微环损耗因子(振幅) L_ring = 2.5e-5; % 微环周长(m) L_wg = 1e-5; % 直波导长度(m) k1 = 0.05; % 微环1耦合系数 k2 = 0.05; % 微环2耦合系数 % ========== 频率扫描设置 ========== f_range = linspace(f0-4e12, f0+4e12, 1000); % ±0.5THz扫描 T1 = zeros(size(f_range)); % 输出端口1传输谱 T2 = zeros(size(f_range)); % 输出端口2传输谱 % ========== 主循环 ========== for i = 1:length(f_range) f = f_range(i); lambda = c / f; % 当前波长 % === 第一个微环 === E_in = 1; % 输入光场(归一化) [E_thru1, E_drop1] = microring(E_in, k1, a, L_ring, n_eff, lambda); % === 直波导传输 === beta = 2*pi*n_eff/lambda; % 传播常数 E_drop1_wg = E_drop1 .* exp(-1i*beta*L_wg); % 直波导相位延迟 % === 第二个微环 === [E_thru2, E_drop2] = microring(E_thru1, k2, a, L_ring, n_eff, lambda); % === 交叉波导合束 === % 假设理想3dB合波器 E_out2 = (E_drop1_wg + E_drop2) / sqrt(2); % === 输出功率计算 === T1(i) = abs(E_thru2)^2; % 输出端口1: 微环2直通端 T2(i) = abs(E_out2)^2; % 输出端口2: 交叉波导合束 end % ========== 结果可视化 ========== figure('Position', [100, 100, 800, 500]) plot(f_range/1e12, T1, 'LineWidth', 2, 'DisplayName', '输出端口1'); hold on; plot(f_range/1e12, T2, 'LineWidth', 2, 'DisplayName', '输出端口2'); xline(193.075, '--r', '193.075 THz', 'LabelVerticalAlignment','middle'); title('光学微环链路传输谱'); xlabel('频率 (THz)'); ylabel('归一化传输功率'); legend('Location', 'best'); grid on; set(gca, 'FontSize', 12); %% 定义微环传输函数(局部函数) function [E_thru, E_drop] = microring(E_in, k, a, L, n_eff, lambda) % 微环传输模型 % E_in: 输入光场 % k: 振幅耦合系数 % a: 环内损耗因子(0<a<1) % L: 微环周长 % n_eff: 有效折射率 % lambda: 波长 t = sqrt(1 - k^2); % 直通系数 phi = 2*pi * n_eff * L / lambda; % 相位延迟 denominator = 1 - t*sqrt(a)*exp(1i*phi); E_thru = (t - sqrt(a)*exp(1i*phi)) / denominator * E_in; E_drop = (-1i*k*sqrt(sqrt(a))*exp(1i*phi/2)) / denominator * E_in; end 这个代码得到的传输谱峰值超过一了,不对,修改一下
最新发布
11-26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值