matlab—方程式求根

栏目: 编程工具 · 发布时间: 7年前

内容简介:给一个方程式$y = x^2-2x-8$,要求y=0时x的值定义一个变量为符号变量的格式为:定义符号变量其实有很大的作用,我们不需要给她一个实际的数值,只需要声明它表示一个符号即可,我们之前讲了

symbolic variable

给一个方程式$y = x^2-2x-8$,要求y=0时x的值

定义一个变量为符号变量的格式为: syms xx = sym('x')

定义符号变量其实有很大的作用,我们不需要给她一个实际的数值,只需要声明它表示一个符号即可,我们之前讲了 diff 函数,这里拓展一下,配合符号变量求一个函数的微分或者偏微分

$$

f(x) = \frac{e^x^2}{x^3 - x + 3} , \frac{d(x)}{d(y)} = ? \\

$$

g(x) = \frac{x^2+xy-1}{y^3+x+3} , \frac{\partial f}{\partial x} = ? \

syms x
y - exp(x^2) / (x^3-x+3)
yprime = diff(y)
syms x y
z = (x^2+x*y-1)/(y^3+x+3)
zprime = diff(z)

求解积分

求解积分的函数是 int

syms x
y = x^2 * exp(x);
z = int(y)

积分后面有时还会跟一个常数,一般条件都会给当 z(x)=c, 假设这里给定条件 z(0)=0, 应该如何求解呢?需要用到一个函数 subs ,其调用格式为 subs(z,x,c) ,他表达的含义是函数 z 中的符号变量被 c 替代

syms x
y = x^2 * exp(x);
z = int(y)
z = z - subs(z,x,0);

solve()

给出方程,要求其中某一变量在另外变量确定的条件下的值,就需要用 solve() 函数,其调用格式为: solve(eq,var) ,eq 代表一个符号表达式或者字符串,var 代表变量名称

syms x
y = 1 + x;
ans = solve(y == 0,x)

slove() 还可以用来求解方程组

syms x y;
eq1 = x - 2 * y - 5;
eq2 = x + y - 6;
[a,b] = solve(eq1,eq2,x,y)

代数方程也可以用 slove() 函数求解

syms x a b;
y = a * x^2 - b;
ans = slove(y==0,x)

用 a 和 b 来表示 x,就只需要在 solve 的第二个参数里写上 x,反过来,想用其他的变量来表示某个变量,只需要把这个变量写在 solve 的第二个参数里即可


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Information

The Information

James Gleick / Vintage / 2012-3-6 / USD 16.95

James Gleick, the author of the best sellers Chaos and Genius, now brings us a work just as astonishing and masterly: a revelatory chronicle and meditation that shows how information has become th......一起来看看 《The Information》 这本书的介绍吧!

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具