【Matlab 控制】解方程solve() 或代入函数求值 eval() subs()
解方程用 solve()
syms x
eqn=sin(x)==1;
solve(eqn,x)
得出方程结果
ans =pi/2
From: MATLAB的solve函数
代入求值用 eval()
配合 subs()
(一)前言
本文简单介绍如何使用matlab中的 eval()
函数与 subs()
函数进行表达式(含参/不含参)的求值。
(二)不含参表达式
对于一个表达式的求值运算,我们使用 eval()
函数求解,如
eval('1+2*3')
可以算得式子的具体结果。
(三)含参表达式的符号运算
符号运算,即不代入具体的值进行符号间的运算,我们也可以用 eval()
求解,如
eval('a+a+b*c+a')
这样可能可以对一个表达式进行一定的简化,但是实际上可能用到的情况不多。
(四)含参表达式的数值代入运算
这才是主要想记录的地方,我们平时做题可能会先计算出一个带符号的表达式,后面再将具体的值代入,这该怎么做呢?
基本的运算过程就是将对应的符号用对应的数值代替,再用 eval()
进行求值,这个替换的过程可以用 subs()
函数。
subs()
调用的形式为:
subs(表达式, y, x)
调用例子如下:
1、直接对表达式求值:
subs(x^2+1,x,1)
得到的结果为2。
2、对变量表达式的代入:
f1=x+1;
f2=x+2;
f3=f1*f2;
subs(f3,x,-4)
得到的结果为6。
3、多变量的代入:
f1=x+y;
f2=x^2+y;
f3=f1*f2;
subs(f3,[x,y],[1,2])
得到的结果为9。
4、使用其它变量代入:
f1=x+y;
f2=x^2+y;
f3=f1*f2;
a=1;
b=2;
subs(f3,[x,y],[a,b])
得到的结果为9。
5、直接使用eval()求解即可(5.26updata):
f=x+1;
x=1;
eval(f);
结果为2, 即使用 eval()
计算时会将值代入。
(五)说明:
函数调用的更多细节可以使用 help eval
或者 help subs()
。
From: Matlab进行表达式求值(含参变量代入求值)
【Matlab 控制】解方程solve() 或代入函数求值 eval() subs()相关推荐
- matlab解方程的程序,matlab算法程序解方程.ppt
<matlab算法程序解方程.ppt>由会员分享,可在线阅读,更多相关<matlab算法程序解方程.ppt(10页珍藏版)>请在人人文库网上搜索. 1.一 般 的 代 数 方 ...
- MATLAB#4解方程
clc; clear; for循环格式 循环语句不用加括号 for i=0:1:10 disp('hello world'); end a=input('请输入:')%不能加分号switch格式swi ...
- 【C语言】分段函数求值 控制输出格式 float精确到小数点后几位
案例如下 //分段函数求值 #include <stdio.h> //#include <math.h> int main() {float x,y;printf(" ...
- 1035: 分段函数求值 C语言
1035: 分段函数求值 时间限制: 1 Sec 内存限制: 30 MB 提交: 33715 解决: 23213 [状态] [讨论版] [提交] [命题人:admin] 题目描述 已知:y是x的函数, ...
- Python分支基础题练习(1. 英制单位和公制单位互换 2.掷骰子决定做什么 3.分段函数求值 4.输入三条边的长度如果能构成三角形就计算周长和面积)
Python 分支基础题练习二 练习一 英制单位和公制单位互换: 代码分析: 使用Input()函数获取到数值和单位 根据输入的单位按照相应的计算方法计算出结果 输出结果 程序示例: "&q ...
- 26 利用switch语句解决问题 【项目1:投票表决器】【项目2:成绩等级】【项目3:分段函数求值switch语句版】【项目4:本月有几天?】【项目5:个人所得税计算器switch语句版】
/*项目1:投票表决器] 设计一个投票表决器,其功能是: 输入Y.y,打印agree 输入N.n,打印disagree 输入其他,打印lose */#include <stdio.h>in ...
- matlab solve 解的范围,matlab怎么解方程,如何规定解的范围?
方法/步骤: 一.解一元方程 1.先举一例,解方程"x^2+100*x+99=0". 在Matlab "Command Window"中输入如下命令:x=sol ...
- matlab解行列式方程,如何用fsolve函数求一个含参矩阵行列式等于0的方程
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 矩阵如下: 令det(A)=0,求w的值. >> syms w; >> A=[exp(i*w*(-1.18)/404),-exp( ...
- matlab牛顿迭代法 方程的根,牛顿迭代法求方程解 程序如下
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 function [x_reality,n_reality] = Newt( f_name,x_start,tolerance,n_limit) %% % ...
最新文章
- 24.Interpreter-解释器模式
- 无人配送的Nuro再融5亿美元,为啥中国复刻者们没它这么火
- C#interface定义及使用浅析
- python标准输入_Python 处理标准输入
- 一个Linux USB驱动:USB Skeleton driver - 2.0
- 【干货】2021新消费品牌STEP增长方法论:品牌营销与生意增长Playbook.pdf(附下载链接)...
- tomcat本地部署war包的方式
- 2021-07-01css常用字体代码
- Seurat | 强烈建议收藏的单细胞分析标准流程(细胞周期的影响去除)(三)
- 火狐插件 打开html 死机,Firefox火狐Flash插件卡死问题完美解决方法
- Python中的爬虫
- 计算机课英语怎么读音标,英语的48个音标有哪些?英语的48个音标怎么读?
- java mail 群发邮件_javamail群发邮件
- 相对湿度与绝对湿度_如何监视家里的湿度水平
- DataV-数据-api方式
- 软件需求工程 高校教学平台 项目总结报告
- 激光传感器构建栅格地图
- Python中scatter函数参数搞懂之新手上路
- 如何利用网络技术赚钱的
- squid 备忘[1]:根据域名选择上游代理