如何使用MATLAB求方程的解?

作者&投稿:逯窦 (若有异议请与网页底部的电邮联系)
~

由于Mathematica把方程的解表示为嵌套列表,因此不能把它作为其它数学结构的输入,但是有两种方法可以调用其中的值,而不必采用照抄或粘贴的方法.

    (a)如果希望利用由Solve得到的解计算表达式的值,可以利用取代运算符/. ,这样Mathematica就会自动带入相应的值.

    (b)由于解就是列表,因此可以用Part或[[]]从列表中“提取”解.

在下面两个例子中演示这些方法的使用.

 

假设要计算下述方程所有根的平方和:

x^6-21x^5+175x^4-735x^3+1624x^2-1764x+720=0     

为此,先利用Solve命令求解出方程的所有根.

solutions=Solve[x^6-21x^5+175x^4-735x^3+1624x^2-1764x+720==0] 

{{x→1},{x→2},{x→3},{x→4},{x→5},{x→6}}

仔细查看solutions, 可知它是包含子列表的列表. 先看第一部分.

solutions[[1]]

{x→1}

由于这个列表只有一部分, 我们可以提取它的内容.

solutions[[1,1]]

x→1

为了得到这个表达式的第二个部分(箭头后面的数), 我们进一步地提取:

solutions[[1,1,2]]

1

为了理解为什么会这样, 我们查看一下x→1的结构.

FullForm[x→1]

Rule[x,1]

就等价于Rule[x,1], 从而可以用solutions[[1,1,2]]提取出它的第二个参数. 类似地, 其它解也可用solutions[[2,1,2]], solutions[[3,1,2]]等表达式提取出来. 为了得到它们的平方和, 输入

Sum[solutions[[k,1,2]]^2,{k,1,6}]

91




matlab中低层绘图的基本思路是什么与高层绘图操作相比有何特点
强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。此外,Matlab还提供了直接对图形句柄进行操作的低层绘图操作。这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立...

求大神帮我揪一下错。急用MATLAB。奈何不会用
function不能在命令行里执行的,要保存在m文件里,并且文件名必须是function的函数名 所以你这些语句要保存到shang.m文件里,然后通过shang(x)的方法调用

如何设置选择Matlab的符号计算引擎,Maple或MuPAD
会返回结果toolbox_version=maple;上面说明maple工具箱安装成功,但是不经设置的话matlab仍然使用内置的MuPAD, 即便是toolbox_version=maple,并不是说你现在的符号运算都是使用maple内核,其实现在的使用还是matlab默认的MuPad。现在我们开始设置最关键的一个东西,也是让maple内核工作的关键!第五步:在...

matlab,简易绘图命令和一般绘图命令有啥区别,如ezplot何fpolt,请...
你说的简单绘图命令和一般绘图命令具体指啥!单独就ezplot和fpolt来说:1、ezplot是一个易用的一元函数绘图函数。特别是在绘制含有符号变量的函数的图像时,ezplot要比plot更方便。因为plot绘制图形时要指定自变量的范围,而ezplot无需数据准备,直接绘出图形。2、fplot在指定的范围内绘制函数图像,函数必须...

用MATLAB设计低通,带通,高通和带阻FIR数字滤波器 急!!!
在MATLAB下设计IIR滤波器可使用Butterworth函数设计出巴特沃斯滤波器,使用Cheby1函数设计出契比雪夫I型滤波器,使用Cheby2设计出契比雪夫II型滤波器,使用ellipord函数设计出椭圆滤波器。下面主要介绍前两个函数的使用。与FIR滤波器的设计不同,IIR滤波器设计时的阶数不是由设计者指定,而是根据设计者输入的各个滤波器参数(...

ansys和matlab有何相互关系?
首先:“用MATLAB建立模型,再把模型送入MATLAB进行分析,再把分析结果回送到MATLAB进行处理” 这里你应该是打错了。。。一般来说,两者基本没什么联系的。1、MATLAB是处理矩阵运算的很常见和高效的编程软件,当然它也可以运用有限元方法进行计算,但需要你对有限元方法和你具体实现的问题驾驭能力较高,...

怎么样在MATLAB中读取结构体中的数据
简单,使用fieldnames()函数查看有哪些成员,使用getfield()函数查看成员数据,比如:>> a.x1 = 123;>> a.x2 = 'a string';>> a.x3 = [1,2,3,4,5];>> fieldnames(a) % 返回成员名称列表 ans = 'x1''x2''x3'>> getfield(a,'x1') % 查看某一成员的值 ans = 123 ...

matlab,简易绘图命令和一般绘图命令有啥区别,如ezplot何fpolt,请...
plot()是针对向量或矩阵画平面曲线图像,画前要定义好定义域和相应的函数值,针对的是离散点 fplot()是画函数的图像,但是要规定函数的定义域,针对的是连续的点 ezplot()也是画函数的图像,并且不需要规定函数的定义域 比如:>>syms x >> y=sin(x);>> ezplot(y)就可以画出图像sin x ...

如何用matlab编程c1\/T+c2*Q^2\/2*r*T+c3*(rT-Q)^2\/2*r*T求T,Q为何值...
>> syms x >> f=c1\/T+c2*x^2\/2*r*T+c3*(r*T-x)^2\/2*r*T;事先对c1,c2,c3,r,T赋值(我把rT改为r*T不知道对不对)>> y=inline(f);fminbnd(y,-inf,inf) %由于不知道你的取值范围,我就取负无穷到正无穷

matlab中如何画出幂函数指数为分数时比如y=x^(1\/3)的完整图像
matlab 画图 怎么才能画出幂函数的图像啊,比如y=x^5-3x+4 记住用点运算: 如: x=0:1:20; y=x.^5-3*x+4; plot(x,y)在matlab中如何画出函数y=2.46x\/(1+1.46x)的图像 很好画 的,命令: syms x ; ezplot('2.46*x\/(1+1.46*x)',x)若点(√3,3)在幂函数...

河源市19343665902: 求怎么用matlab解这个方程 -
蠹思细辛: 一般用matlab求解方程有两种方法:1、用软件自带的solve()函数、fsolve()函数、roots()函数等;2、利用数值分析的方法(如二分法,牛顿法等)自行编程其数值函数.所以,要根据具体的方程形式来选择合适的求解函数.请给以把具体的方程贴出来,以便于帮助你.

河源市19343665902: 如何使用matlab解方程 -
蠹思细辛: >> solve('x^2+3^x=5','x') Warning: Warning, solutions may have been lost ans =1.1723846224617540549310776747181 直接用这命令就行,格式是括号里面左边是方程,右边是待求的未知数

河源市19343665902: matlab 怎么解方程 -
蠹思细辛: (1)y=sinx 已知y的值 怎么求x ,很简单:x=asin(y),即是求解y.(2) 方程组怎么解 比如 2*sin(x)+sin(y)=1和x+y=1求出x,y的值程序如下:A=solve('2*sin(x)+sin(y)=1','x+y=1'); x=eval(A.x); y=eval(A.y);求得x=0.1125,y=0.8875 或者 x=1.9832,y=-0.9832注意三角函数中默认的是弧度

河源市19343665902: 怎么用MATLAB编程求方程组的解? -
蠹思细辛: 你的第三个方程为:x+8z-5z=9,我把它改成x+8z-5w=9>> A=[3,4,-7,-12;5,-7,4,3;1,0,8,-5;-6,5,-2,10]; >> b=[4;-3;9;-8]; >> x=A\b得到解为: x =-1.0534 -0.4596 0.5775 -1.0867 上述四个值从上到下,分别为x,y,z,w

河源市19343665902: 如何用matlab求解这个方程 -
蠹思细辛: 求解AX=B,即X=A^(-1)*B 在matlab中输入好数据用X=inv(A)*B就可以了.结果如下:具体程序见附件.

河源市19343665902: 请问一个方程如何用MATLAB求解, -
蠹思细辛: fsolve即可

河源市19343665902: matlab怎样求解一元二次方程 -
蠹思细辛: 一、工具:Matlab2012b 二、操作步骤: A.解一元方程【1】先举一例,解方程"x^2+100*x+99=0"在matlab ”Command Window"中输入如下命令:x=solve('x^2+100*x+99=0','x')见下图【2】回车后,matlab就求出了这个一元二次方程...

河源市19343665902: matlab 求解方程
蠹思细辛: 直接在matlab命令窗口输入:solve('(1/2*a)*(exp(a)-exp(-a))=1','a') 回车即可...

河源市19343665902: 用MATLAB解方程,怎么求 -
蠹思细辛: 利用solve命令求解:syms k g m t; S=solve('tanh(sqrt(k*g/m)*t)=1','t');

河源市19343665902: 怎么用matlab求方程?知道x,y的值怎么用matlab模拟出一元二次方程y=a*x^2+b*x+c求出它的相关系数? -
蠹思细辛:[答案] 这是一个最基本的多项式拟和: 可以用polyfit(x,y,k) 举例说明 x=0:.1:2; y=x.^2+x; a=polyfit(x,y,2); 运行的结果如下 a = 1.0000 1.0000 0.0000 即对应的你给的原方程中a,b,c的值分别为 a=1; b=1; c=0; 可见对于这种模型相同的函数来说,是十分精确的 ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网