当前位置: 首页 > news >正文

使用Mathematica观察多形式根的分布随参数的变化

有两种方式观察多项式的根随着参数变化:(1)直接制作一个小的动态视频;(2)绘制所有根形成的痕迹(locus)。

制作动态视频:

(*Arg-plane plotting routine with plotting range and point size*)
CRPlot[z_List, range_List, size_] :=Module[{r},r = Map[{Re[#], Im[#]} &, z];ListPlot[r, PlotStyle -> PointSize[size],AspectRatio -> 1, PlotRange -> {range, range},PlotRegion -> {{0.05, 0.95}, {0.05, 0.95}}]](* function, to extract complex roots of a polynomial equation*)
PolySolver[poly_] := z /. NSolve[poly == 0, z](*pylynomial: a simple quintic*)
mypoly[z_, \[Lambda]_] := z^5 + z^3 + z^2 + z + \[Lambda];(*to create a movie*)
Manipulate[CRPlot[PolySolver[mypoly[z, \[Lambda]]], {-2, 2}, 0.05],{\[Lambda], 0, 4, 0.2}]

这里有个好处:可以直接观察到根的分布随着参数改变是怎样变化的。

绘制Root Locus:将二维的复数点列延展成一维的复数点列,然后使用CRPLot进行绘制。

CRPlot[Flatten[Table[PolySolver[mypoly[z, \[Lambda]]], {\[Lambda], 0, 4, 0.2}]],{-2, 2}, 0.008]

http://www.xdnf.cn/news/770887.html

相关文章:

  • mysql数据库实现分库分表,读写分离中间件sharding-sphere
  • 数据库MySQL集群MGR
  • NiceGUI 是一个基于 Python 的现代 Web 应用框架
  • PyTorch——卷积层(3)
  • MapReduce(期末速成版)
  • 检索器组件深入学习与使用技巧 VectorStoreRetriever 检索器
  • android binder(二)应用层编程实例
  • 基于 Android 和 JBox2D 的简单小游戏
  • 【短距离通信】【WiFi】精讲WLAN 驱动结构
  • Android Studio 之基础代码解析
  • wow Warlock shushia [Dreadsteed]
  • 【Java EE初阶 --- 多线程(初阶)】多线程的实现案例
  • 《Effective Python》第六章 推导式和生成器——使用 yield from 组合多个生成器
  • 嵌入式学习笔记 - FreeRTOS关于vApplicationGetIdleTaskMemory
  • AI书签管理工具开发全记录(九):用户端页面集成与展示
  • opencv 可视化函数
  • 苹果电脑深度清理,让老旧Mac重焕新生
  • MySQL 全量 增量备份与恢复
  • 揭秘 NextJS Script 组件
  • HealthBench医疗AI评估基准:技术路径与核心价值深度分析(上)
  • Redis-6.2.9 cluster集群部署和扩容缩容
  • Flask中secret_key设置解析
  • Spring Boot Starter 自动装配原理全解析:从概念到实践
  • 通用优势估计函数(GAE,Generalized Advantage Estimation)详解
  • unity开发棋牌游戏
  • 力扣第452场周赛
  • Matlab绘图
  • odoo17 windows server布署错误分析
  • Spark-TTS: AI语音合成的“变声大师“
  • 一种在SQL Server中传递多行数据的方法