{"id":3834,"date":"2024-01-12T09:37:00","date_gmt":"2024-01-12T01:37:00","guid":{"rendered":"https:\/\/www.im-zu.cn\/?p=3834"},"modified":"2026-06-12T10:44:39","modified_gmt":"2026-06-12T02:44:39","slug":"%e8%ae%ba%e6%96%87%e7%a0%94%e7%a9%b6%e6%89%8b%e8%ae%b0%ef%bc%882%ef%bc%89%ef%bc%9a%e5%88%9b%e5%bb%ba%e5%8d%95%e7%8b%ac%e7%9a%84%e6%97%b6%e9%97%b4%e6%8e%a7%e5%88%b6%e7%a8%8b%e5%ba%8f","status":"publish","type":"post","link":"https:\/\/www.im-zu.cn\/?p=3834","title":{"rendered":"\u8bba\u6587\u7814\u7a76\u624b\u8bb0\uff082\uff09\uff1a\u521b\u5efa\u5355\u72ec\u7684\u65f6\u95f4\u63a7\u5236\u7a0b\u5e8f"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\"><strong>\u914d\u7f6e\u6587\u4ef6<\/strong>\u3001<strong>\u65f6\u95f4\u63a7\u5236\u6a21\u5757<\/strong>\u3001<strong>\u8c03\u7528\u793a\u4f8b<\/strong> \u4e09\u90e8\u5206\uff0c\u57fa\u4e8e Python + NumPy \u5b9e\u73b0\uff0c\u4ee3\u7801\u5b8c\u6574\u53ef\u76f4\u63a5\u8fd0\u884c\u3002<\/h3>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e00\u3001\u7b2c\u4e00\u6b65\uff1a\u521b\u5efa <code>config_time.json<\/code> \u914d\u7f6e\u6587\u4ef6<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u5728\u9879\u76ee\u540c\u7ea7\u76ee\u5f55\u65b0\u5efa <code>config_time.json<\/code>\uff0c\u5b58\u50a8\u4eff\u771f\u65f6\u95f4\u53c2\u6570\uff1a<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"\u590d\u5236\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>{\n  \"total_simulation_time\": 100,\n  \"time_step\": 0.5\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">total_simulation_time<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">100<\/span><span style=\"color: #ECEFF4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">time_step<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0.5<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>total_simulation_time<\/code>\uff1a\u4eff\u771f<strong>\u603b\u65f6\u957f<\/strong>\uff08\u6574\u578b\uff09<\/li>\n\n\n\n<li><code>time_step<\/code>\uff1a\u4eff\u771f<strong>\u6b65\u957f<\/strong>\uff08\u6d6e\u70b9\u578b\uff09<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e8c\u3001\u7b2c\u4e8c\u6b65\uff1a\u521b\u5efa <code>time_control.py<\/code> \u65f6\u95f4\u63a7\u5236\u6a21\u5757<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b9e\u73b0<strong>\u8bfb\u53d6\u914d\u7f6e\u3001\u4eff\u771f\u65f6\u95f4\u8bb0\u5f55\u3001\u65f6\u95f4\u5e8f\u5217\u751f\u6210\u3001\u5bf9\u5916\u63a5\u53e3<\/strong>\uff0c\u4ee3\u7801\u6ce8\u91ca\u8be6\u7ec6\uff1a<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"\u590d\u5236\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>import json\nimport numpy as np\nimport os\n\n\nclass SimTimeControl:\n    \"\"\"\u4eff\u771f\u65f6\u95f4\u63a7\u5236\u7c7b\"\"\"\n    def __init__(self):\n        # 1. \u52a0\u8f7djson\u914d\u7f6e\u6587\u4ef6\n        self._load_config()\n\n        # 2. \u4ece\u914d\u7f6e\u8bfb\u53d6\u53c2\u6570\n        self.total_time: int = self.config&#91;\"total_simulation_time\"&#93;  # \u603b\u65f6\u957f int\n        self.time_step: float = self.config&#91;\"time_step\"&#93;             # \u6b65\u957f float\n\n        # 3. \u5f53\u524d\u4eff\u771f\u65f6\u95f4\uff08\u521d\u59cb\u5316\u4e3a0\uff0c\u7528\u4e8e\u5b9e\u65f6\u8bb0\u5f55\uff09\n        self.current_time: float = 0.0\n\n        # 4. \u751f\u6210\u5b8c\u6574\u65f6\u95f4\u5e8f\u5217 t = np.arange(0, \u603b\u65f6\u957f, \u6b65\u957f)\n        self.time_array = np.arange(0, self.total_time, self.time_step)\n\n    def _load_config(self):\n        \"\"\"\u79c1\u6709\u65b9\u6cd5\uff1a\u52a0\u8f7dconfig_time.json\u914d\u7f6e\"\"\"\n        config_path = \"config_time.json\"\n        if not os.path.exists(config_path):\n            raise FileNotFoundError(\"\u672a\u627e\u5230 config_time.json \u914d\u7f6e\u6587\u4ef6\uff01\")\n\n        with open(config_path, \"r\", encoding=\"utf-8\") as f:\n            self.config = json.load(f)\n\n    # ========== \u5bf9\u5916\u63a5\u53e3 ==========\n    def get_current_time(self) -> float:\n        \"\"\"\u63a5\u53e31\uff1a\u83b7\u53d6\u5f53\u524d\u4eff\u771f\u65f6\u95f4\"\"\"\n        return self.current_time\n\n    def update_current_time(self, delta: float):\n        \"\"\"\u63a5\u53e32\uff1a\u66f4\u65b0\u5f53\u524d\u4eff\u771f\u65f6\u95f4\uff08\u5355\u6b65\u63a8\u8fdb\uff09\"\"\"\n        self.current_time += delta\n\n    def get_total_time(self) -> int:\n        \"\"\"\u63a5\u53e33\uff1a\u83b7\u53d6\u4eff\u771f\u603b\u65f6\u957f\"\"\"\n        return self.total_time\n\n    def get_time_step(self) -> float:\n        \"\"\"\u63a5\u53e34\uff1a\u83b7\u53d6\u4eff\u771f\u6b65\u957f\"\"\"\n        return self.time_step\n\n    def get_time_array(self) -> np.ndarray:\n        \"\"\"\u63a5\u53e35\uff1a\u83b7\u53d6\u5b8c\u6574\u65f6\u95f4\u5e8f\u5217\u6570\u7ec4\"\"\"\n        return self.time_array\n\n\n# \u5168\u5c40\u5b9e\u4f8b\uff08\u65b9\u4fbf\u5916\u90e8\u76f4\u63a5\u5bfc\u5165\u4f7f\u7528\uff09\ntime_controller = SimTimeControl()<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #81A1C1\">import<\/span><span style=\"color: #D8DEE9FF\"> json<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">import<\/span><span style=\"color: #D8DEE9FF\"> numpy <\/span><span style=\"color: #81A1C1\">as<\/span><span style=\"color: #D8DEE9FF\"> np<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">import<\/span><span style=\"color: #D8DEE9FF\"> os<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">class<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">SimTimeControl<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&quot;&quot;&quot;<\/span><span style=\"color: #A3BE8C\">\u4eff\u771f\u65f6\u95f4\u63a7\u5236\u7c7b<\/span><span style=\"color: #ECEFF4\">&quot;&quot;&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">__init__<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #ECEFF4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #616E88\"># 1. \u52a0\u8f7djson\u914d\u7f6e\u6587\u4ef6<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">_load_config<\/span><span style=\"color: #ECEFF4\">()<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #616E88\"># 2. \u4ece\u914d\u7f6e\u8bfb\u53d6\u53c2\u6570<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">total_time<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">int<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">config<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">total_simulation_time<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #616E88\"># \u603b\u65f6\u957f int<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">time_step<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">float<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">config<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">time_step<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #D8DEE9FF\">             <\/span><span style=\"color: #616E88\"># \u6b65\u957f float<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #616E88\"># 3. \u5f53\u524d\u4eff\u771f\u65f6\u95f4\uff08\u521d\u59cb\u5316\u4e3a0\uff0c\u7528\u4e8e\u5b9e\u65f6\u8bb0\u5f55\uff09<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">current_time<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">float<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0.0<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #616E88\"># 4. \u751f\u6210\u5b8c\u6574\u65f6\u95f4\u5e8f\u5217 t = np.arange(0, \u603b\u65f6\u957f, \u6b65\u957f)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">time_array <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> np<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">arange<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">total_time<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">time_step<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">_load_config<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #ECEFF4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #ECEFF4\">&quot;&quot;&quot;<\/span><span style=\"color: #A3BE8C\">\u79c1\u6709\u65b9\u6cd5\uff1a\u52a0\u8f7dconfig_time.json\u914d\u7f6e<\/span><span style=\"color: #ECEFF4\">&quot;&quot;&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        config_path <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">config_time.json<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">not<\/span><span style=\"color: #D8DEE9FF\"> os<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">path<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">exists<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">config_path<\/span><span style=\"color: #ECEFF4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #81A1C1\">raise<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">FileNotFoundError<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">\u672a\u627e\u5230 config_time.json \u914d\u7f6e\u6587\u4ef6\uff01<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">with<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">open<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">config_path<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">r<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">encoding<\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">utf-8<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">as<\/span><span style=\"color: #D8DEE9FF\"> f<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">config <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> json<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">load<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">f<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #616E88\"># ========== \u5bf9\u5916\u63a5\u53e3 ==========<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">get_current_time<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">-&gt;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">float<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #ECEFF4\">&quot;&quot;&quot;<\/span><span style=\"color: #A3BE8C\">\u63a5\u53e31\uff1a\u83b7\u53d6\u5f53\u524d\u4eff\u771f\u65f6\u95f4<\/span><span style=\"color: #ECEFF4\">&quot;&quot;&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">return<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">current_time<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">update_current_time<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">delta<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">float<\/span><span style=\"color: #ECEFF4\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #ECEFF4\">&quot;&quot;&quot;<\/span><span style=\"color: #A3BE8C\">\u63a5\u53e32\uff1a\u66f4\u65b0\u5f53\u524d\u4eff\u771f\u65f6\u95f4\uff08\u5355\u6b65\u63a8\u8fdb\uff09<\/span><span style=\"color: #ECEFF4\">&quot;&quot;&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">current_time <\/span><span style=\"color: #81A1C1\">+=<\/span><span style=\"color: #D8DEE9FF\"> delta<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">get_total_time<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">-&gt;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">int<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #ECEFF4\">&quot;&quot;&quot;<\/span><span style=\"color: #A3BE8C\">\u63a5\u53e33\uff1a\u83b7\u53d6\u4eff\u771f\u603b\u65f6\u957f<\/span><span style=\"color: #ECEFF4\">&quot;&quot;&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">return<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">total_time<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">get_time_step<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">-&gt;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">float<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #ECEFF4\">&quot;&quot;&quot;<\/span><span style=\"color: #A3BE8C\">\u63a5\u53e34\uff1a\u83b7\u53d6\u4eff\u771f\u6b65\u957f<\/span><span style=\"color: #ECEFF4\">&quot;&quot;&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">return<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">time_step<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">get_time_array<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">-&gt;<\/span><span style=\"color: #D8DEE9FF\"> np<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">ndarray<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #ECEFF4\">&quot;&quot;&quot;<\/span><span style=\"color: #A3BE8C\">\u63a5\u53e35\uff1a\u83b7\u53d6\u5b8c\u6574\u65f6\u95f4\u5e8f\u5217\u6570\u7ec4<\/span><span style=\"color: #ECEFF4\">&quot;&quot;&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">return<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">time_array<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #616E88\"># \u5168\u5c40\u5b9e\u4f8b\uff08\u65b9\u4fbf\u5916\u90e8\u76f4\u63a5\u5bfc\u5165\u4f7f\u7528\uff09<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">time_controller <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">SimTimeControl<\/span><span style=\"color: #ECEFF4\">()<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\u6a21\u5757\u529f\u80fd\u8bf4\u660e<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u914d\u7f6e\u8bfb\u53d6<\/strong>\uff1a\u81ea\u52a8\u52a0\u8f7d <code>config_time.json<\/code>\uff0c\u6587\u4ef6\u4e0d\u5b58\u5728\u5219\u629b\u51fa\u5f02\u5e38\uff1b<\/li>\n\n\n\n<li><strong>\u53c2\u6570\u5b58\u50a8<\/strong>\uff1a\u603b\u65f6\u957f\uff08int\uff09\u3001\u6b65\u957f\uff08float\uff09\u4e25\u683c\u5339\u914d\u7c7b\u578b\u8981\u6c42\uff1b<\/li>\n\n\n\n<li><strong>\u5f53\u524d\u4eff\u771f\u65f6\u95f4<\/strong>\uff1a<code>current_time<\/code> \u53d8\u91cf\u8bb0\u5f55\uff0c\u652f\u6301\u624b\u52a8\u66f4\u65b0\uff1b<\/li>\n\n\n\n<li><strong>\u65f6\u95f4\u5e8f\u5217<\/strong>\uff1a\u901a\u8fc7 <code>np.arange(0, \u603b\u65f6\u957f, \u6b65\u957f)<\/code> \u751f\u6210\u65f6\u95f4\u8f74\uff1b<\/li>\n\n\n\n<li><strong>\u5bf9\u5916\u63a5\u53e3<\/strong>\uff1a\u63d0\u4f9b\u8bfb\u53d6\/\u66f4\u65b0\u65f6\u95f4\u3001\u83b7\u53d6\u53c2\u6570\u3001\u83b7\u53d6\u65f6\u95f4\u6570\u7ec4\u7684\u516c\u5f00\u65b9\u6cd5\u3002<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e09\u3001\u7b2c\u4e09\u6b65\uff1a\u5916\u90e8\u8c03\u7528\u793a\u4f8b\uff08test_demo.py\uff09<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u6f14\u793a\u5982\u4f55\u5728\u5176\u4ed6\u4ee3\u7801\u4e2d\u4f7f\u7528 <code>time_control.py<\/code> \u7684\u63a5\u53e3\uff1a<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"\u590d\u5236\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly># \u5bfc\u5165\u65f6\u95f4\u63a7\u5236\u5168\u5c40\u5b9e\u4f8b\nfrom time_control import time_controller\n\nif __name__ == \"__main__\":\n    # 1. \u8bfb\u53d6\u57fa\u7840\u53c2\u6570\n    print(\"\u4eff\u771f\u603b\u65f6\u957f\uff1a\", time_controller.get_total_time())\n    print(\"\u4eff\u771f\u6b65\u957f\uff1a\", time_controller.get_time_step())\n\n    # 2. \u83b7\u53d6\u5b8c\u6574\u65f6\u95f4\u5e8f\u5217\n    t_arr = time_controller.get_time_array()\n    print(\"\u65f6\u95f4\u5e8f\u5217\u524d5\u4e2a\u503c\uff1a\", t_arr&#91;:5&#93;)\n\n    # 3. \u5b9e\u65f6\u66f4\u65b0\u5e76\u67e5\u770b\u5f53\u524d\u4eff\u771f\u65f6\u95f4\n    print(\"\u521d\u59cb\u5f53\u524d\u65f6\u95f4\uff1a\", time_controller.get_current_time())\n    # \u5355\u6b65\u63a8\u8fdb\u65f6\u95f4\n    time_controller.update_current_time(time_controller.get_time_step())\n    print(\"\u63a8\u8fdb\u4e00\u6b65\u540e\u5f53\u524d\u65f6\u95f4\uff1a\", time_controller.get_current_time())<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #616E88\"># \u5bfc\u5165\u65f6\u95f4\u63a7\u5236\u5168\u5c40\u5b9e\u4f8b<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">from<\/span><span style=\"color: #D8DEE9FF\"> time_control <\/span><span style=\"color: #81A1C1\">import<\/span><span style=\"color: #D8DEE9FF\"> time_controller<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #D8DEE9FF\"> __name__ <\/span><span style=\"color: #81A1C1\">==<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">__main__<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #616E88\"># 1. \u8bfb\u53d6\u57fa\u7840\u53c2\u6570<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #88C0D0\">print<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">\u4eff\u771f\u603b\u65f6\u957f\uff1a<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> time_controller<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">get_total_time<\/span><span style=\"color: #ECEFF4\">())<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #88C0D0\">print<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">\u4eff\u771f\u6b65\u957f\uff1a<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> time_controller<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">get_time_step<\/span><span style=\"color: #ECEFF4\">())<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #616E88\"># 2. \u83b7\u53d6\u5b8c\u6574\u65f6\u95f4\u5e8f\u5217<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    t_arr <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> time_controller<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">get_time_array<\/span><span style=\"color: #ECEFF4\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #88C0D0\">print<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">\u65f6\u95f4\u5e8f\u5217\u524d5\u4e2a\u503c\uff1a<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> t_arr<\/span><span style=\"color: #ECEFF4\">&#91;:<\/span><span style=\"color: #B48EAD\">5<\/span><span style=\"color: #ECEFF4\">&#93;)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #616E88\"># 3. \u5b9e\u65f6\u66f4\u65b0\u5e76\u67e5\u770b\u5f53\u524d\u4eff\u771f\u65f6\u95f4<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #88C0D0\">print<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">\u521d\u59cb\u5f53\u524d\u65f6\u95f4\uff1a<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> time_controller<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">get_current_time<\/span><span style=\"color: #ECEFF4\">())<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #616E88\"># \u5355\u6b65\u63a8\u8fdb\u65f6\u95f4<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    time_controller<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">update_current_time<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">time_controller<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">get_time_step<\/span><span style=\"color: #ECEFF4\">())<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #88C0D0\">print<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">\u63a8\u8fdb\u4e00\u6b65\u540e\u5f53\u524d\u65f6\u95f4\uff1a<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> time_controller<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #88C0D0\">get_current_time<\/span><span style=\"color: #ECEFF4\">())<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u56db\u3001\u9879\u76ee\u76ee\u5f55\u7ed3\u6784<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u4fdd\u8bc1\u6587\u4ef6\u5728<strong>\u540c\u4e00\u6587\u4ef6\u5939<\/strong>\u4e0b\uff0c\u7ed3\u6784\u5982\u4e0b\uff1a<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"\u590d\u5236\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>\u9879\u76ee\u6587\u4ef6\u5939\/\n\u251c\u2500 config_time.json   # \u65f6\u95f4\u914d\u7f6e\u6587\u4ef6\n\u251c\u2500 time_control.py    # \u65f6\u95f4\u63a7\u5236\u6838\u5fc3\u6a21\u5757\n\u2514\u2500 test_demo.py       # \u6d4b\u8bd5\u8c03\u7528\u6587\u4ef6<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9FF\">\u9879\u76ee\u6587\u4ef6\u5939<\/span><span style=\"color: #81A1C1\">\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u251c\u2500 config_time<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">json   <\/span><span style=\"color: #616E88\"># \u65f6\u95f4\u914d\u7f6e\u6587\u4ef6<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u251c\u2500 time_control<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">py    <\/span><span style=\"color: #616E88\"># \u65f6\u95f4\u63a7\u5236\u6838\u5fc3\u6a21\u5757<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u2514\u2500 test_demo<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">py       <\/span><span style=\"color: #616E88\"># \u6d4b\u8bd5\u8c03\u7528\u6587\u4ef6<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u4e94\u3001\u5173\u952e\u8865\u5145\u8bf4\u660e<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u7c7b\u578b\u4fdd\u8bc1<\/strong><br><code>config_time.json<\/code> \u4e2d <code>total_simulation_time<\/code> \u5199\u6574\u6570\uff0c\u8bfb\u53d6\u540e\u5f3a\u5236\u4e3a <code>int<\/code>\uff1b<code>time_step<\/code> \u5199\u5c0f\u6570\uff0c\u8bfb\u53d6\u540e\u4e3a <code>float<\/code>\uff0c\u7b26\u5408\u9700\u6c42\u3002<\/li>\n\n\n\n<li><strong>\u65f6\u95f4\u63a8\u8fdb\u903b\u8f91<\/strong><br>\u4eff\u771f\u5faa\u73af\u4e2d\u53ef\u53cd\u590d\u8c03\u7528 <code>update_current_time(\u6b65\u957f)<\/code> \u5b9e\u73b0\u4eff\u771f\u65f6\u95f4\u9010\u5e27\u8fd0\u884c\u3002<\/li>\n\n\n\n<li><strong>\u8def\u5f84\u95ee\u9898\uff08\u8fdb\u9636\uff09<\/strong><br>\u5982\u679c\u914d\u7f6e\u6587\u4ef6\u548c\u4ee3\u7801\u4e0d\u5728\u540c\u7ea7\u76ee\u5f55\uff0c\u53ef\u4fee\u6539 <code>_load_config<\/code> \u4e2d\u7684 <code>config_path<\/code> \u4e3a<strong>\u7edd\u5bf9\u8def\u5f84<\/strong>\u3002<\/li>\n\n\n\n<li><strong>\u4f9d\u8d56\u5b89\u88c5<\/strong><br>\u9700\u63d0\u524d\u5b89\u88c5 numpy\uff1a<\/li>\n<\/ol>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"\u590d\u5236\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>   pip install numpy<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9FF\">   pip install numpy<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u516d\u3001\u8fd0\u884c\u6548\u679c<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u6267\u884c <code>test_demo.py<\/code> \u8f93\u51fa\u793a\u4f8b\uff1a<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"\u590d\u5236\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>\u4eff\u771f\u603b\u65f6\u957f\uff1a 100\n\u4eff\u771f\u6b65\u957f\uff1a 0.5\n\u65f6\u95f4\u5e8f\u5217\u524d5\u4e2a\u503c\uff1a &#91;0.  0.5 1.  1.5 2. &#93;\n\u521d\u59cb\u5f53\u524d\u65f6\u95f4\uff1a 0.0\n\u63a8\u8fdb\u4e00\u6b65\u540e\u5f53\u524d\u65f6\u95f4\uff1a 0.5<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9FF\">\u4eff\u771f\u603b\u65f6\u957f\uff1a <\/span><span style=\"color: #B48EAD\">100<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u4eff\u771f\u6b65\u957f\uff1a <\/span><span style=\"color: #B48EAD\">0.5<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u65f6\u95f4\u5e8f\u5217\u524d5\u4e2a\u503c\uff1a <\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">  0<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">5 <\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">  1<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\">5 <\/span><span style=\"color: #B48EAD\">2<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#93;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u521d\u59cb\u5f53\u524d\u65f6\u95f4\uff1a <\/span><span style=\"color: #B48EAD\">0.0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u63a8\u8fdb\u4e00\u6b65\u540e\u5f53\u524d\u65f6\u95f4\uff1a <\/span><span style=\"color: #B48EAD\">0.5<\/span><\/span><\/code><\/pre><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u5982\u4f55\u8bbe\u7f6e\u5355\u72ec\u7684\u4eff\u771f\u65f6\u95f4\u63a7\u5236\u7a0b\u5e8f\uff1f<\/p>\n","protected":false},"author":2,"featured_media":3460,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[546,682],"tags":[750,111,751,687,686,570],"class_list":["post-3834","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-academic","category-682","tag-numpy","tag-python","tag-751","tag-687","tag-686","tag-570"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u8bba\u6587\u7814\u7a76\u624b\u8bb0\uff082\uff09\uff1a\u521b\u5efa\u5355\u72ec\u7684\u65f6\u95f4\u63a7\u5236\u7a0b\u5e8f - Skylighter | \u5411\u5149\u8005<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.im-zu.cn\/?p=3834\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u8bba\u6587\u7814\u7a76\u624b\u8bb0\uff082\uff09\uff1a\u521b\u5efa\u5355\u72ec\u7684\u65f6\u95f4\u63a7\u5236\u7a0b\u5e8f - Skylighter | \u5411\u5149\u8005\" \/>\n<meta property=\"og:description\" content=\"\u5982\u4f55\u8bbe\u7f6e\u5355\u72ec\u7684\u4eff\u771f\u65f6\u95f4\u63a7\u5236\u7a0b\u5e8f\uff1f\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.im-zu.cn\/?p=3834\" \/>\n<meta property=\"og:site_name\" content=\"Skylighter | \u5411\u5149\u8005\" \/>\n<meta property=\"article:published_time\" content=\"2024-01-12T01:37:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-12T02:44:39+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.im-zu.cn\/wp-content\/uploads\/2026\/05\/1868728.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"853\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Editor\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"Editor\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.im-zu.cn\\\/?p=3834#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.im-zu.cn\\\/?p=3834\"},\"author\":{\"name\":\"Editor\",\"@id\":\"https:\\\/\\\/www.im-zu.cn\\\/#\\\/schema\\\/person\\\/64e69bc34a83d4ee17b6e12c086f98a4\"},\"headline\":\"\u8bba\u6587\u7814\u7a76\u624b\u8bb0\uff082\uff09\uff1a\u521b\u5efa\u5355\u72ec\u7684\u65f6\u95f4\u63a7\u5236\u7a0b\u5e8f\",\"datePublished\":\"2024-01-12T01:37:00+00:00\",\"dateModified\":\"2026-06-12T02:44:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.im-zu.cn\\\/?p=3834\"},\"wordCount\":8,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.im-zu.cn\\\/#\\\/schema\\\/person\\\/64e69bc34a83d4ee17b6e12c086f98a4\"},\"image\":{\"@id\":\"https:\\\/\\\/www.im-zu.cn\\\/?p=3834#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.im-zu.cn\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/1868728.webp\",\"keywords\":[\"numpy\",\"Python\",\"\u65f6\u95f4\",\"\u8bba\u6587\u6742\u8bb0\",\"\u8bba\u6587\u7814\u7a76\u624b\u8bb0\",\"\u8bba\u6587\u7f16\u7a0b\u6280\u672f\"],\"articleSection\":[\"\u5b66\u672f Academic\",\"\u8bba\u6587\u6742\u8bb0\"],\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.im-zu.cn\\\/?p=3834#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.im-zu.cn\\\/?p=3834\",\"url\":\"https:\\\/\\\/www.im-zu.cn\\\/?p=3834\",\"name\":\"\u8bba\u6587\u7814\u7a76\u624b\u8bb0\uff082\uff09\uff1a\u521b\u5efa\u5355\u72ec\u7684\u65f6\u95f4\u63a7\u5236\u7a0b\u5e8f - Skylighter | \u5411\u5149\u8005\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.im-zu.cn\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.im-zu.cn\\\/?p=3834#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.im-zu.cn\\\/?p=3834#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.im-zu.cn\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/1868728.webp\",\"datePublished\":\"2024-01-12T01:37:00+00:00\",\"dateModified\":\"2026-06-12T02:44:39+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.im-zu.cn\\\/?p=3834#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.im-zu.cn\\\/?p=3834\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\\\/\\\/www.im-zu.cn\\\/?p=3834#primaryimage\",\"url\":\"https:\\\/\\\/www.im-zu.cn\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/1868728.webp\",\"contentUrl\":\"https:\\\/\\\/www.im-zu.cn\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/1868728.webp\",\"width\":1280,\"height\":853,\"caption\":\"\u8bba\u6587\u7814\u7a76\u624b\u8bb0\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.im-zu.cn\\\/?p=3834#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\\\/\\\/www.im-zu.cn\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u8bba\u6587\u7814\u7a76\u624b\u8bb0\uff082\uff09\uff1a\u521b\u5efa\u5355\u72ec\u7684\u65f6\u95f4\u63a7\u5236\u7a0b\u5e8f\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.im-zu.cn\\\/#website\",\"url\":\"https:\\\/\\\/www.im-zu.cn\\\/\",\"name\":\"Skylighter | \u5411\u5149\u8005\",\"description\":\"\u987a\u5149\u800c\u751f \u4ece\u5584\u800c\u884c\uff08\u539f\u9633\u5149\u7684\u8bfb\u535a\u65e5\u5fd7\uff09\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.im-zu.cn\\\/#\\\/schema\\\/person\\\/64e69bc34a83d4ee17b6e12c086f98a4\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.im-zu.cn\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"zh-Hans\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.im-zu.cn\\\/#\\\/schema\\\/person\\\/64e69bc34a83d4ee17b6e12c086f98a4\",\"name\":\"Editor\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\\\/\\\/www.im-zu.cn\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/\u5c4f\u5e55\u622a\u56fe-2025-02-11-171316.png\",\"url\":\"https:\\\/\\\/www.im-zu.cn\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/\u5c4f\u5e55\u622a\u56fe-2025-02-11-171316.png\",\"contentUrl\":\"https:\\\/\\\/www.im-zu.cn\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/\u5c4f\u5e55\u622a\u56fe-2025-02-11-171316.png\",\"width\":1323,\"height\":500,\"caption\":\"Editor\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.im-zu.cn\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/\u5c4f\u5e55\u622a\u56fe-2025-02-11-171316.png\"},\"url\":\"https:\\\/\\\/www.im-zu.cn\\\/?author=2\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u8bba\u6587\u7814\u7a76\u624b\u8bb0\uff082\uff09\uff1a\u521b\u5efa\u5355\u72ec\u7684\u65f6\u95f4\u63a7\u5236\u7a0b\u5e8f - Skylighter | \u5411\u5149\u8005","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.im-zu.cn\/?p=3834","og_locale":"zh_CN","og_type":"article","og_title":"\u8bba\u6587\u7814\u7a76\u624b\u8bb0\uff082\uff09\uff1a\u521b\u5efa\u5355\u72ec\u7684\u65f6\u95f4\u63a7\u5236\u7a0b\u5e8f - Skylighter | \u5411\u5149\u8005","og_description":"\u5982\u4f55\u8bbe\u7f6e\u5355\u72ec\u7684\u4eff\u771f\u65f6\u95f4\u63a7\u5236\u7a0b\u5e8f\uff1f","og_url":"https:\/\/www.im-zu.cn\/?p=3834","og_site_name":"Skylighter | \u5411\u5149\u8005","article_published_time":"2024-01-12T01:37:00+00:00","article_modified_time":"2026-06-12T02:44:39+00:00","og_image":[{"width":1280,"height":853,"url":"http:\/\/www.im-zu.cn\/wp-content\/uploads\/2026\/05\/1868728.webp","type":"image\/jpeg"}],"author":"Editor","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"Editor","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"1 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.im-zu.cn\/?p=3834#article","isPartOf":{"@id":"https:\/\/www.im-zu.cn\/?p=3834"},"author":{"name":"Editor","@id":"https:\/\/www.im-zu.cn\/#\/schema\/person\/64e69bc34a83d4ee17b6e12c086f98a4"},"headline":"\u8bba\u6587\u7814\u7a76\u624b\u8bb0\uff082\uff09\uff1a\u521b\u5efa\u5355\u72ec\u7684\u65f6\u95f4\u63a7\u5236\u7a0b\u5e8f","datePublished":"2024-01-12T01:37:00+00:00","dateModified":"2026-06-12T02:44:39+00:00","mainEntityOfPage":{"@id":"https:\/\/www.im-zu.cn\/?p=3834"},"wordCount":8,"commentCount":0,"publisher":{"@id":"https:\/\/www.im-zu.cn\/#\/schema\/person\/64e69bc34a83d4ee17b6e12c086f98a4"},"image":{"@id":"https:\/\/www.im-zu.cn\/?p=3834#primaryimage"},"thumbnailUrl":"https:\/\/www.im-zu.cn\/wp-content\/uploads\/2026\/05\/1868728.webp","keywords":["numpy","Python","\u65f6\u95f4","\u8bba\u6587\u6742\u8bb0","\u8bba\u6587\u7814\u7a76\u624b\u8bb0","\u8bba\u6587\u7f16\u7a0b\u6280\u672f"],"articleSection":["\u5b66\u672f Academic","\u8bba\u6587\u6742\u8bb0"],"inLanguage":"zh-Hans","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.im-zu.cn\/?p=3834#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.im-zu.cn\/?p=3834","url":"https:\/\/www.im-zu.cn\/?p=3834","name":"\u8bba\u6587\u7814\u7a76\u624b\u8bb0\uff082\uff09\uff1a\u521b\u5efa\u5355\u72ec\u7684\u65f6\u95f4\u63a7\u5236\u7a0b\u5e8f - Skylighter | \u5411\u5149\u8005","isPartOf":{"@id":"https:\/\/www.im-zu.cn\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.im-zu.cn\/?p=3834#primaryimage"},"image":{"@id":"https:\/\/www.im-zu.cn\/?p=3834#primaryimage"},"thumbnailUrl":"https:\/\/www.im-zu.cn\/wp-content\/uploads\/2026\/05\/1868728.webp","datePublished":"2024-01-12T01:37:00+00:00","dateModified":"2026-06-12T02:44:39+00:00","breadcrumb":{"@id":"https:\/\/www.im-zu.cn\/?p=3834#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.im-zu.cn\/?p=3834"]}]},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.im-zu.cn\/?p=3834#primaryimage","url":"https:\/\/www.im-zu.cn\/wp-content\/uploads\/2026\/05\/1868728.webp","contentUrl":"https:\/\/www.im-zu.cn\/wp-content\/uploads\/2026\/05\/1868728.webp","width":1280,"height":853,"caption":"\u8bba\u6587\u7814\u7a76\u624b\u8bb0"},{"@type":"BreadcrumbList","@id":"https:\/\/www.im-zu.cn\/?p=3834#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.im-zu.cn\/"},{"@type":"ListItem","position":2,"name":"\u8bba\u6587\u7814\u7a76\u624b\u8bb0\uff082\uff09\uff1a\u521b\u5efa\u5355\u72ec\u7684\u65f6\u95f4\u63a7\u5236\u7a0b\u5e8f"}]},{"@type":"WebSite","@id":"https:\/\/www.im-zu.cn\/#website","url":"https:\/\/www.im-zu.cn\/","name":"Skylighter | \u5411\u5149\u8005","description":"\u987a\u5149\u800c\u751f \u4ece\u5584\u800c\u884c\uff08\u539f\u9633\u5149\u7684\u8bfb\u535a\u65e5\u5fd7\uff09","publisher":{"@id":"https:\/\/www.im-zu.cn\/#\/schema\/person\/64e69bc34a83d4ee17b6e12c086f98a4"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.im-zu.cn\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"zh-Hans"},{"@type":["Person","Organization"],"@id":"https:\/\/www.im-zu.cn\/#\/schema\/person\/64e69bc34a83d4ee17b6e12c086f98a4","name":"Editor","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.im-zu.cn\/wp-content\/uploads\/2025\/02\/\u5c4f\u5e55\u622a\u56fe-2025-02-11-171316.png","url":"https:\/\/www.im-zu.cn\/wp-content\/uploads\/2025\/02\/\u5c4f\u5e55\u622a\u56fe-2025-02-11-171316.png","contentUrl":"https:\/\/www.im-zu.cn\/wp-content\/uploads\/2025\/02\/\u5c4f\u5e55\u622a\u56fe-2025-02-11-171316.png","width":1323,"height":500,"caption":"Editor"},"logo":{"@id":"https:\/\/www.im-zu.cn\/wp-content\/uploads\/2025\/02\/\u5c4f\u5e55\u622a\u56fe-2025-02-11-171316.png"},"url":"https:\/\/www.im-zu.cn\/?author=2"}]}},"_links":{"self":[{"href":"https:\/\/www.im-zu.cn\/index.php?rest_route=\/wp\/v2\/posts\/3834","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.im-zu.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.im-zu.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.im-zu.cn\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.im-zu.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3834"}],"version-history":[{"count":1,"href":"https:\/\/www.im-zu.cn\/index.php?rest_route=\/wp\/v2\/posts\/3834\/revisions"}],"predecessor-version":[{"id":3835,"href":"https:\/\/www.im-zu.cn\/index.php?rest_route=\/wp\/v2\/posts\/3834\/revisions\/3835"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.im-zu.cn\/index.php?rest_route=\/wp\/v2\/media\/3460"}],"wp:attachment":[{"href":"https:\/\/www.im-zu.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3834"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.im-zu.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3834"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.im-zu.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3834"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}