solve求解简单代数方程:

>> syms x;
>> quea=x+2==0;
>> x=solve(quea)
 
x =
 
-2

求解二次方程

>> syms x;
que=x^2-6*x+10==0;
solve(que)
 
ans =
 
3 - 1i
3 + 1i

>> s=solve(que)
 
s =
 
3 - 1i
3 + 1i

这两个根分别存在s(1)和s(2)中。

>> y=s(1)+3
 
y =
 
6 - 1i

symbolic:符号

detour:绕行

ezplot:绘制符号曲线

ezplot:方便的为顶部显示的绘图生成了标题并为我们标注了x轴

>> syms x
>> d='x^2-7*x+10';
>> ezplot(d)

 ezplot(f,[]):给自变量选取一个变化范围并绘图

ezplot(d,[-2,10])

ezplot(z,[x1,x2,y1,y2])

>> y=x+3;
>> ezplot(y,[0,2,1,5])

>> q=x^2+x-sqrt(2);
>> x=solve(q)
 
x =
 
- (4*2^(1/2) + 1)^(1/2)/2 - 1/2
  (4*2^(1/2) + 1)^(1/2)/2 - 1/2

>> ezplot(q)

为了确定x1和x2的数值,需要将其转换为double类型。

>> z=double(x(1))

z =

-1.79

>> s=double(x(2))

s =

0.79

求解高阶方程:

>> syms x;
>> q=(x+1).^2*(x-2);
>> solve(q)
 
ans =
 
-1
-1
 2

>>  
syms  x;
q=x^4-5*x^3+4*x^2-5*x+6;
x=solve(q)
 
 
x =
 
root(z^4 - 5*z^3 + 4*z^2 - 5*z + 6, z, 1)
root(z^4 - 5*z^3 + 4*z^2 - 5*z + 6, z, 2)
root(z^4 - 5*z^3 + 4*z^2 - 5*z + 6, z, 3)
root(z^4 - 5*z^3 + 4*z^2 - 5*z + 6, z, 4)
 
>> i1=double(x(1))

i1 =

1.12

>> i2=double(x(2))

i2 =

-0.19

>> i3=double(x(3))

i3 =

-0.19

>> i4=double(x(4))

i4 =

4.26

>> ezplot(q,[-10,10])

?????不应该是虚根吗???

工作区里面i2和i3是虚根,在显示的时候只显示了根的实部。

>> syms x;
>> q=x^3+3*x^2-2*x-6;
>> solve(q)
 
ans =
 
      -3
 2^(1/2)
-2^(1/2)
 
>> ezplot(q,[-8,8,-8,8])

求解方程组:

依然用solve求解,此时要注意方程写的 方法

>> syms x y;
q=[5*x+4*y==3,x-6*y==2];
s=solve(q)

s =

包含以下字段的 struct:

x: [1×1 sym]
    y: [1×1 sym]

>> s.x
 
ans =
 
13/17
 
>> s.y
 
ans =
 
-7/34

用solve求解更大的线性方程组:

>> syms w x y z;
>> q=[w+x+4*y+3*z==5,2*w+3*x+y-2*z==1,w+2*x-5*y+4*z==3,w-3*z==9];
>> s=solve(q)

s =

包含以下字段的 struct:

w: [1×1 sym]
    x: [1×1 sym]
    y: [1×1 sym]
    z: [1×1 sym]

>> s.w
 
ans =
 
1404/127
 
>> s.x
 
ans =
 
-818/127
 
>> s.y
 
ans =
 
-53/127
 
>> s.z
 
ans =
 
87/127

方程的展开与合并

展开:expand

>> expand((x-2)*(x-5))
 
ans =
 
x^2 - 7*x + 10

>> expand(cos(x+y))
 
ans =
 
cos(x)*cos(y) - sin(x)*sin(y)

要使用新的符号时,必须要先对该符号定义:syms 

>> expand((y-1)*(y-8))
函数或变量 'y' 无法识别。
 
>> syms y;
>> expand((y-1)*(y-8))
 
ans =
 
y^2 - 9*y + 8

collect:与expand作用相似

>> syms x;
>> collect(x*(x^2-2))
 
ans =
 
x^3 - 2*x

>> expand((x*(x^2-2)))
 
ans =
 
x^3 - 2*x

>> syms t;
>> collect((x+3)*sin(t))
 
ans =
 
sin(t)*x + 3*sin(t)
 
>> expand((x+3)*sin(t))
 
ans =
 
3*sin(t) + x*sin(t)

factor:因式分解

>> factor((x^2-y^2))
 
ans =
 
[x - y, x + y]

simplify:用于多项式的除法

>> simplify((x^4-81)/(x^2-9))
 
ans =
 
x^2 + 9

>> simplify(exp(2*log(3*x)))
 
ans =
 
9*x^2

>> simplify(cos(x)^2-sin(x)^2)
 
ans =
 
cos(2*x)

求解指数函数(exponential functions)和对数函数(log functions)

同样用solve求解

>> syms x;
>> q=(log10(x)-log10(x-3)==1);
>> solve(q)
 
ans =
 
10/3

>> syms y
 q=[y==3^(2*x),y==5^x+1];
s=solve(q)
警告: Unable to solve symbolically. Returning a numeric solution
using vpasolve. 
> 位置:sym/solve (第 304 行)

s =

包含以下字段的 struct:

x: [1×1 sym]
    y: [1×1 sym]

>> s.x
 
ans =
 
0.57107246071180090433600366899982
 
>> s.y
 
ans =
 
3.5070472569953984356582573486301

函数的级数表达

taylor(function):对函数进行泰勒级数展开

>> syms x;
>> s=taylor(sin(x))
 
s =
 
x^5/120 - x^3/6 + x

>> ezplot(s)

 taylor(function,x,'Order',n):对函数进行泰勒级数展开至第n项

s=taylor(sin(x),x,'Order',20)
 
s =
 
- x^19/121645100408832000 + x^17/355687428096000 - x^15/1307674368000 + x^13/6227020800 - x^11/39916800 + x^9/362880 - x^7/5040 + x^5/120 - x^3/6 + x

>> ezplot(s)

>> x=7*sqrt(2)-5*sqrt(60)+5*sqrt(8)

x =

-14.6882

>> syms x;
>> q=(3*x^2+2*x==7);
>> s=solve(q)
 
s =
 
- 22^(1/2)/3 - 1/3
  22^(1/2)/3 - 1/3
 
>> d1=double(s(1))

d1 =

-1.8968

>> d2=double(s(2))

d2 =

1.2301

>> syms x;
>> q=(x^2+sqrt(5)*x-pi==0);
>> s=slove(q)
函数或变量 'slove' 无法识别。
 
是不是想输入:
>> s=solve(q)
 
s =
 
- 5^(1/2)/2 - (4*pi + 5)^(1/2)/2
  (4*pi + 5)^(1/2)/2 - 5^(1/2)/2
 
>> d1=double(s(1))

d1 =

-3.2136

>> d2=double(s(2))

d2 =

0.9776

>> q=(sqrt(2*x-4)-1);
ezplot(q,[2 4 0 1])

>> syms x y;
syms z;q=[x-3*y-2*z==6,2*x-4*y-3*z==8,-3*x+6*y+8*z==-5];
s=solve(q)

s =

包含以下字段的 struct:

x: [1×1 sym]
    y: [1×1 sym]
    z: [1×1 sym]

>> s.x
 
ans =
 
1
 
>> s.y
 
ans =
 
-3
 
>> s.z
 
ans =
 
2

>> s=taylor(4/(5-cos(x)),x,'Order',10)
 
s =
 
(241*x^8)/258048 - (113*x^6)/23040 + (5*x^4)/192 - x^2/8 + 1
 
>> ezplot(s)

matlab-代数方程相关推荐

  1. matlab代数方程求解

    需要安装 Symbolic Math Toolbox工具箱 solve(equation, variable) >> x = solve('x+8') x = -8 二元一次方程 > ...

  2. matlab根据根求多项式,matlab求解多项式的根

    因此牛顿法也称切线法,是非线性方程求根方法中收敛最快的方 法. 2. matlab 中方程求解的基本命令 roots(p):求多项式方程的根,其中 p 是多项式系数按降幂排列所形成的向量. solve ...

  3. 用matlab编码linprog,matlab中的linprog

    §15. 利用 Matlab 求解线性规划问题 线性规划是一种优化方法,Matlab 优化工具箱中有现成函数 linprog 对如 下式描述的 LP 问题求解: % min f'x % s.t ... ...

  4. 2021-01-13 Matlab求解微分代数方程 (DAE)

    Matlab求解微分代数方程 (DAE) 什么是微分代数方程? 微分代数方程是一类微分方程,其中一个或多个因变量导数未出现在方程中.方程中出现的未包含其导数的变量称为代数变量,代数变量的存在意味着不能 ...

  5. matlab多项式加法运算,matlab多项式运算与代数方程求解解析.ppt

    * 多项式运算与代数方程求解 数学软件 Matlab Matlab基础及应用 * 多项式转化为符号表达式:poly2sym 四则运算:conv.deconv 导数与积分:ployder.polyint ...

  6. Matlab之代数方程求解:函数方程的展开与合并

    Matlab之代数方程求解:函数方程的展开与合并 目录 数学中,符号求解器的应用 1.函数方程的展开.合并.化简.因式分解.多项式相除.分解三角函数 2.泰勒(Taylor)级数展开式 数学中,符号求 ...

  7. matlab求方程在X附近的根,matlab 实验03 求代数方程的近似根(解)

    实验三 求代数方程的近似根(解) 求代数方程的根是最常见的数学问题之一(这里称为代数方程,主要是想和后面的微分方程区别开.为简明起见,在本实验的以下叙述中,把代数方程简称为方程),当是一次多项式时,称 ...

  8. matlab dae,matlab用ode15数值计算微分代数方程(DAE)的问题

    代码如下:前四行都是会用到的参数,odefun中有3个微分方程与1个代数方程 lamdap=975e-9;lamdas=1064e-9;t=1e-3;ap=2100e-27;ep=2200e-27;A ...

  9. matlab求解微分代数方程组,微分代数方程(DAE)的Matlab 解法.PDF

    微分代数方程(DAE)的Matlab 解法 微分代数方程(DAE)的Matlab解法 所谓微分代数方程,是指在微分方程中,某些变量满足某些代数方程的约束.假 设微分方程的更一般形式可以写成 前面所介绍 ...

  10. 几类常微分方程的matlab求解方法 | 刚性微分方程、隐式微分方程、微分代数方程

    目录 微分方程的转换 一.单个高阶常微分方程 二.高阶常微分方程组 刚性微分方程求解 隐式微分方程求解 微分代数方程求解 微分方程的转换 根据微分方程求解的标准型,要得到微分方程的数值解,应该先将该方 ...

最新文章

  1. python read函数返回值_python read()方法定义及使用(实例解析)
  2. ROI Align 在 R-FCN 中的推广:PSROI-Align(附代码)
  3. php里面的log是什么文件夹,用PHP生成自己的LOG文件
  4. LeetCode 5235. 找出输掉零场或一场比赛的玩家(计数)
  5. python ftp下载文件_文件上传下载Python
  6. php获取sessionstorage,关于PHP session 存储方式的详细介绍
  7. 【转载】Java中String类的方法及说明
  8. php 伪造微信浏览器头信息,php使用curl伪造浏览器访问操作示例
  9. 浅谈javascript的面向对象(OOP)
  10. 面试中爱问的大数量的问题总结
  11. 百度硬盘搜索插件开发指南(摘自百度)
  12. BZOJ 3503([Cqoi2014]和谐矩阵-gauss消元)
  13. html中黄色的代码是什么,HTML黄色欧美形式创意展示网页模板代码
  14. nodejs eggjs框架 爬虫 readhub.me
  15. Linux下安装lsof
  16. js判断IE浏览器(包括IE11)
  17. springboot学习中的错误
  18. ORA-3136报错
  19. python的out模式_Python设计模式之状态模式
  20. iPhone 订阅退款方法

热门文章

  1. iOS开发中乱用hook可能导致灾难
  2. 为所欲为——教你什么才是真正的任意分频
  3. 用ssh建立机器之间的信任机制
  4. 敏捷开发一千零一问系列之七:怎样对待有看法的徒弟?
  5. 一起谈.NET技术,ASP.NET MVC Membership 权限 漫谈
  6. 高级政工师具备的能力_一个合格的政工师应该具备哪些条件与素质
  7. qudpsocket 丢包 线程解决_服装毕业设计一站式解决方案——线下amp;线上辅导课程...
  8. centos下面安装mysql_centos下安装mysql
  9. php动态生成apk渠道包,Android自动生成渠道包
  10. Java中的String,StringBuilder,StringBuffer三者的区别