matlab 实验课2.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
matlab 实验课2

解基本代数方程 在MATLAB 中,我们使用solve 命令解代数方程。 x = solve(x+3=0’) x = -3 第二种方法调用solve,我们可以告诉它我们需要它解哪个符号。使用下面的语法: solve(equation, variable) 与你传递给solve 的方程一样,变量variable 也应该用单引号括起来。 solve(a*x + 5=0,a’) MATLAB 响应输出为: ans = -5/x solve 命令还可以用来求解高阶方程 s = solve(x^2 - 6*x - 12 = 0‘) MATLAB 返回方程的两个根: s = 3 + 21^(1/2) 3 - 21^(1/2) 本例中的两个根,它们是以s(1)和s(2)的形式保存的。所以我们可以使用其中的 一个根来定义一个新的量: y = 3 + s(1) y = 6+21^(1/2) 下面是我们引用solve 返回的两个根的例子: s(1) + s(2) ans = 6 符号方程绘图 首先我们创建表示方程的字串: d = x^2 - 6*x - 12; 现在调用ezplot: ezplot(d) ezplot 已经在图象顶端显示出标题,不需要我们做任何的额外工作。 图象的 x 轴标签。 我们可以使用下面的语法指定我们所要的范围:ezplot(f, [x1 , x2]) 我们要绘制-2 x 8 内的图象。我们可以使用下面的命令: d = x^2 - 6*x - 12; ezplot(d, [-2, 8]) 例求函数x2 + x - 2 = 0 的根并绘制该图象,并确定根的数值。 首先我们创建一个字串表示该方程。注意你可以在方程中预定义MATLAB 表达式。因 此如下输入公式是完全可行的: eq = x^2 + x - sqrt(2); 如果你喜欢,你也可以写成: eq = x^2 + x - 2^(1/2); 下一步我们调用solve 求方程的根: s = solve(eq) s = -1/2+1/2*(1+4*2^(1/2))^(1/2) -1/2-1/2*(1+4*2^(1/2))^(1/2) 要确定根的数值,我们需要把它们从数组中提取出来,然后把它们转换成double 类型。 只需简单地把它们传递给double(.)命令即可做到。例如,我们要得到第一个根的值,写成: x = double(s(1)) x = 0.7900 而第二个根则是: y = double(s(2)) y = -1.7900 要绘制函数的图象,我们调用ezplot: ezplot(eq) 例求四次方程的根:x4 - 5x3 + 4x2 - 5x + 6 = 0,-10 x 10 范围内的图象。 首先我们创建一个表示该方程的字串: eq1 = x^4 - 5*x^3 + 4*x^2 - 5*x + 6‘; 然后我们调用solve 求根: s = solve(eq1); 现在我们定义一个变量用来从s 中提取根。如果你把它们用符号列出来,你会得到一大 堆。下面我们写出第一个根的一部分: a = s(1) a = 5/4+1/12*3^(1/2)*((43*(8900+12*549093^(1/2))^(1/3)+2*(8900+12*549093^(1/2))^(2/3)+104)... 实际操作一下你会看到这一行会很长,因此,我们使用double 得到它的数值结果: double(s(1)) ans = 4.2588 现在的结果好多了。我们获取其它的根。由于这是一个四次方程,它有四个根: double(s(2)) ans = 1.1164 double(s(3)) ans = -0.1876 + 1.1076i double(s(4)) ans = -0.1876 - 1.1076i solve 还可以用来方程组。要知道怎么做和输出解,最好的方法就是再举另一个简单的例子。假设你有下面的方程组: 5x + 4y = 3 x - 6y = 2 要使用solve 解出x 和y,我们要在调用它的时候传递两个参数给它——每个字串表示 一个方程。在本例中我们输入: s = solve(5*x + 4*y = 3‘,x - 6*y = 2); 注意每个方程都放在单引号内,并使用逗号“,”把方程隔开。如下面,使用点句号“.” 我们就可以取得相应的x 和y 值。首先我们得到x: x = s,x x = 13/17y: y = s,y y = -7/34 w + x + 4y + 3z = 5 2w + 3x + y - 2z = 1 w + 2x - 5y + 4z = 3 w - 3z = 9 我们可以以一组字串的形式输入

文档评论(0)

ahuawendang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档