news 2026/6/9 19:52:31

Matlab学习记录18

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Matlab学习记录18

书籍:Matlab实用教程
外出回来,还是用Matlab2021a
电脑信息:Intel® Xeon® CPU E5-2603 v3 @ 1.60GHz

系统类型:64位操作系统,基于X64的处理器 windows10 专业版

第3章MATLAB的符号计算
3.1 符号表达式的建立
3.1.1 创建符号常量

>>a=sym(sin(2))a=4095111552621091/4503599627370496>>a1=2*sqrt(5)+pi a1=7.6137

Matlab2021a与之前的版本也不同,sym改为str2sym

>>a2=sym('2*sqrt(5)+pi')错误使用 sym>convertChar(1580)Character vectorsandstrings in the first argument can only specify a variableornumber.To evaluate character vectorsandstrings representing symbolic expressions,use'str2sym'.出错 sym>tomupad(1296)S=convertChar(x);出错sym(234)S.s=tomupad(x);>>a2=str2sym('2*sqrt(5)+pi')a2=pi+2*5^(1/2)>>a3=sym(2*sqrt(5)+pi)a3=2143074082783949/281474976710656>>a4=sym(2*sqrt(5)+pi,'d')a4=7.613728608589372726100918953307>>a31=a3-a1 a31=0>>a5='2*sqrt(5)+pi'a5='2*sqrt(5)+pi'

3.1.2 创建符号变量和表达式
1、使用sym命令创建符号变量和表达式

>>sym('x','real')ans=x>>sym('y','real')ans=y>>z=str2sym('x+iy')z=iy+x>>real(z)ans=x+real(iy)>>sym('x','unreal')错误使用 sym/assume(590)输入 应与以下值之一匹配:'integer','rational','real','positive','clear'输入'unreal'与任何有效值均不匹配。 出错sym(253)assume(S,n);>>f1=str2sym('a*x^2+b*x+c')f1=a*x^2+b*x+c

2、使用syms命令创建符号变量和符号表达式

>>syms a b c x>>f2=a*x^2+b*x+c f2=a*x^2+b*x+c>>syms('a','b','c','x')>>f3=a*x^2+b*x+c f3=a*x^2+b*x+c

3.1.3 符号矩阵

>>A=str2sym('[a,b;c,d]')A=[a,b][c,d]>>syms a b c d>>A=[a b;c d]A=[a,b][c,d]>>B='[a,b;c,d]'B='[a,b;c,d]'>>C=str2sym(B)C=[a,b][c,d]

3.2 符号表达式的代数运算
3.2.1 符号表达式的代数运算

>>syms a11 a12 a21 a22>>A=[a11 a12;a21 a22]A=[a11,a12][a21,a22]>>det(A)ans=a11*a22-a12*a21>>eig(A)ans=a11/2+a22/2-(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)/2a11/2+a22/2+(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)/2>>f=str2sym('2*x^2+3*x+4')f=2*x^2+3*x+4>>g=str2sym('5*x+6')g=5*x+6>>f+g ans=2*x^2+8*x+10>>f*g ans=(5*x+6)*(2*x^2+3*x+4)

3.2.2 符号数值任意精度控制和运算

>>a=str2sym('2*sqrt(5)+pi')a=pi+2*5^(1/2)>>digits Digits=32>>vpa(a)ans=7.6137286085893726312809907207421>>vpa(a,20)ans=7.6137286085893726313>>digits(15)>>vpa(a)ans=7.61372860858937>>a1=2/3a1=0.6667>>a2=sym(2/3)a2=2/3>>digits Digits=15>>a3=vpa('2/3',32)a3=0.66666666666666666666666666666667>>formatlong>>a1 a1=0.666666666666667

3.2.3 符号对象与数值对象的转换

>>a1=str2sym('2*sqrt(5)+pi')a1=pi+2*5^(1/2)>>b1=double(a1)b1=7.613728608589373>>a2=vpa(str2sym('2*sqrt(5)+pi'),32)a2=7.6137286085893726312809907207421>>b2=numeric(a2)函数或变量'numeric'无法识别。>>b3=eval(a1)b3=7.613728608589373
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 14:52:39

Anaconda Prompt替代方案:Miniconda-Python3.10命令行快捷激活技巧

Miniconda-Python3.10:轻量级Python环境管理实战 在数据科学和AI开发的世界里,你有没有遇到过这样的场景?刚跑通一个项目的模型训练代码,结果一升级某个库,整个环境就“崩了”——依赖冲突、版本不兼容、路径错乱……更…

作者头像 李华
网站建设 2026/6/10 14:55:10

手把手教你使用Miniconda-Python3.11安装PyTorch GPU

手把手教你使用 Miniconda-Python3.11 安装 PyTorch GPU 在深度学习项目开发中,最让人头疼的往往不是模型设计本身,而是环境配置——明明代码没问题,却因为 torch.cuda.is_available() 返回 False 而卡住数小时。这种“本该能跑”的挫败感&a…

作者头像 李华
网站建设 2026/6/10 14:51:23

PCB高速信号布线的全面讲解:超详细版

高速PCB设计的实战密码:从阻抗失配到信号完好的全过程解析你有没有遇到过这样的场景?系统明明在仿真中跑得通,板子一做出来却频频死机;PCIe链路训练失败、DDR内存时序崩塌、千兆以太网误码率飙升……而所有问题的背后,…

作者头像 李华
网站建设 2026/6/8 6:08:59

STM32项目启动:Keil5安装包下载核心要点

从零开始搭建STM32开发环境:Keil5安装与配置实战指南 你是不是也经历过这样的场景?刚买回一块STM32最小系统板,满心期待地打开电脑准备“点灯”,却发现连开发工具都装不明白——百度搜“keil5安装包下载”跳出一堆带毒链接&#…

作者头像 李华
网站建设 2026/6/10 14:52:33

【神经网络基础】-神经网络优化方法全解析

神经网络优化方法全解析:从数学原理到生活智慧 目录 优化方法专业特点生活比喻图表特征SGD:随机梯度下降简单直接,可能陷入局部最优盲人摸象式探索📉 波动大,收敛慢Momentum:动量法保留历史更新方向&…

作者头像 李华
网站建设 2026/6/10 15:35:20

避免Python安装陷阱:Miniconda-Python3.11优势解析

避免Python安装陷阱:Miniconda-Python3.11优势解析 在人工智能和数据科学项目日益复杂的今天,你是否曾遇到过这样的场景:刚写好的模型代码,在同事的机器上运行时却报出“ModuleNotFoundError”?或者因为系统中多个项目…

作者头像 李华