一、本期介绍函数的求解有两种

(1)已知x求y

(2)已知y求x

1.1已知x求y

回想我们上一期,讲了多项式求解的方法,也是已知x求y。想一下,多项式不也是函数的一种吗,所以本期求解的方法同样适用于多项式,只不过比多项式稍微麻烦了一点点点。同学在学完本期内容之后可以对比下上一期。

例1、求下列函数x=1,2,3,4,5对应y的值

对函数求解有两种方式:

1.1.1创建函数文件

这种方法的原理是:

(1)构造一个函数文件,表示我们定义了一个函数(比如fun(x)),以后我们就可以随便使用这个函数了(为什么不直接在matlab命令行构建?是因为每解一个x我们就要输入一次y的表达式,不太方便。)。

(2)然后我们在命令行输入x的值(可以是单个数,也可以是多个值),再调用该函数,就可以得到y的值了

下面具体求解过程:

首先创建一个函数文件,操作如下:

在该函数文件中输入如下:

function  y = fun(x)          %定义该函数的名称为fun(),在结果中显示返回值yy = 4*x.^3+3*sin(x)+2;        %输入y的表达式,注意要用.^,因为需要输入多个xend                           %结束语句

点击上面菜单栏的保存即可,然后可以看到左侧出现该函数文件名称。这时候我们可以直接调用

我们关闭函数文件界面,返回命令行窗口,输入:

x = [1,2,3,4,5];
fun(x)

结果如下:

ans =8.5244   36.7279  110.4234  255.7296  499.1232

1.1.2直接在命令行创建函数的方法(函数句柄)

这种方法和创建函数文件的方法其实是一样的,因为直接在命令行调用,所以比较方便。但是当编写较为复杂的函数文件时,再用这种方法就不够直观,而且容易出错。所以这种方法适用于简单、临时的函数。

具体操作如下:

fun = @(x) 4*x.^3+3*sin(x)+2;
x = [1,2,3,4,5];
y = fun(x)

结果如下:

y =8.5244   36.7279  110.4234  255.7296  499.1232

可以看到,与构建函数文件得到的结果是一样的。

1.2已知y求x

要用到的函数:solve() ,用法如下

solve(y, x):求解y=0时,自变量x的值。

既然我们要求解根,那么我们首先需要让x占一个空间,然后求解。

这里我们需要用到syms或sym(' ')来定义符号。操作如下:

syms x           %将字符'x'定义为一个未知量
sym('x')         %将字符'x'定义为一个未知量,输入麻烦,不常用

好的,我们来实际应用一下

1.2.1 求解一元方程

例2、求解

syms x                     %定义自变量x,这里不定义y是因为在后面的求解过程中认为其是0,没有占用空间,定不定义都一样
y = x*sin(x)-x;            %定义y,
solve(y,x)                 %求解y=0时,自变量x的值.也可以写成solve('x*sin(x)-x',x)

结果如下:

ans =0pi/2

1.2.2 求解多元方程

solve(eq1, eq2, ..., x, y, ...)前面写方程,后面写未知数

例3、 求解二元一次方程

这里是两个未知数了,那么我们需要定义两个未知数,将等式右边的值移到等式左边

syms x y                    %空格隔开
eq1 = x-2*y-5;
eq2 = x+y-6;
A = solve(eq1,eq2,x,y)      %前面写等式,后面写未知数。这里等式的顺序和未知数不影响结果。%这里需要注意将solve结果赋值给A.因为solve函数只负责计算,并没有改变x,y是符号的性质%matlab这样做的原因是为了区别谁是x谁是y

结果如下:

A = 包含以下字段的 struct:y: [1×1 sym]x: [1×1 sym]

那么我们如何去看x,y的值呢?请看下面

>> A.xans =17/3>> A.yans =1/3

好的,通过上面两道题的练习,我们应该知道含有多个未知数的解法了,而且也不限于多项式方程,更复杂的方程也可以求解。

二、函数的符号运算

求解未知数以字符表示的方程

与前面内容不同的是:变量是某些符号的表示,而不是具体的数值

例4、求方程的根

syms x a b
solve(a*x^2-b,x)   %后面如果将自变量定义的是b,那么求解的就是b用x,a表示。如果没有定义,默认是x

结果如下:

ans =b^(1/2)/a^(1/2)-b^(1/2)/a^(1/2)

例5、当x=1,2,3,4,5时,将y用a,b表示

首先创建函数文件

function y = fun(x)
syms a b
y = a*x.^2-b;
end

在命令行输入x,求y

x = [1,2,3,4,5];
fun(x)

结果如下:

ans =[ a - b, 4*a - b, 9*a - b, 16*a - b, 25*a - b]

好的,通过这两道题的练习我们应该对定义符号变量有了充分的认识了。那么我们以后求解带有符号的方程都可以用这种方式。

总结

本节我们学习了函数的求解,包括构建函数及函数句柄@,并且还学习了含有符号变量的函数的运算。希望各位好好熟悉一下本节,非常重要,是以后复杂运算的基础。


操千曲而后晓声,观千剑而后识器

matlab二元一次方程求解_2-函数的求解计算相关推荐

  1. matlab二元一次方程求解_方程的计算机处理913_Matlab

    计算机语言运用--数值计算9-方程的计算机处理91-3_Matlab 计算机:电子线路组成的计算机器.人与计算机则是通过计算机语言-符号系统说给计算机听而交流. 计算机语言有低级语言-机器语言.汇编. ...

  2. matlab二元一次方程求解_高中化学二元混合物的十字交叉法解法

    "十字交叉法"是高中化学计算题中巧解二元混合物问题的一种常用的有效方法,正确运用"十字交叉法",可以帮助同学们方便.迅速地解决计算问题. 速解的前提:1.必须清 ...

  3. c语言求二元一次方程根,一个C语言求解二元一次方程根,求助!

    满意答案 aibaoqiqi 推荐于 2017.11.25 采纳率:42%    等级:12 已帮助:12214人 首先叫法错误,是一元二次方程求根,而不是二元一次方程求根. 其次,判别式小于0时,只 ...

  4. Matlab | sum 和 mean 等函数的使用注意点

    matlab 提供了大量的函数便于我们计算,以下是最常用的函数 sum 函数 和 mean 函数等的使用注意点: 对于一维数组(行向量)或者列向量,使用 sum( A ) 即可对该数组求和 对于多维数 ...

  5. matlab表示sa函数,SA:T1编写主函数法和T2Matlab自带的SA工具箱GUI法,两种方法实现对二元函数优化求解——Jason niu...

    %SA:T1法利用Matlab编写主函数实现对定义域[-5,5]上的二元函数求最优解-Jason niu [x,y] = meshgrid(-5:0.1:5,-5:0.1:5); z = x.^2 + ...

  6. MAT之SA:T1编写主函数法和T2Matlab自带的SA工具箱GUI法,两种方法实现对二元函数优化求解

    MAT之SA:T1编写主函数法和T2Matlab自带的SA工具箱GUI法,两种方法实现对二元函数优化求解 目录 输出结果 实现代码 输出结果 %SA:T2法利用Matlab自带的SA工具箱optimt ...

  7. python求解三元一次方程_北师大版八上数学5.2 求解二元一次方程组 知识点微课精讲...

    知识点总结 代入消元法 代入消元法的实质是将二元一次方程组中的某一个方程进行未知数的分离,即将该方程进行变换,完整分离出一个独立的未知数,而这个未知数将用含有另一个未知数的式子来表示.设某二元一次方程 ...

  8. matlab中solver函数_Simulink求解器(Solver)相关知识

    更多精彩内容参见专业MATLAB技术交流平台--MATLAB技术论坛http://www.matlabsky.com 1.变步长(Variable-Step)求解器 可以选择的变步长求解器有:ode4 ...

  9. c++代码 二元一次方程求解

    代码摆在这,原理很简单,未考虑溢出问题. //给二元一次方程组求解(带过程) #include<iostream> using namespace std; int main(){doub ...

最新文章

  1. oracle erp 财务入门,Oracle ERP EBS 顾问财务模块基本业务操作专题
  2. mysql的编译_Mysql编译安装
  3. oc 调用c语言方法和oc的方法调用
  4. EE JSP:Servlet的反向外套
  5. wordpress房产信息网_Realia v3.1.2 wordpress房地产模板 租房网站模板
  6. 10年java架构师教你如何快速打好Java基础?
  7. 走迷宫 6 6 c语言,游戏迷宫的实现
  8. 用Python实现视频字符化(蔡徐坤唱跳Rap视频)
  9. 解析mindjump如何在线生成微信自动跳转第三方浏览器源码
  10. python实现hbase增删改查
  11. 据说是“缓存之王”? Caffeine高性能设计剖析
  12. 自控重点整理1.1 比例微分PD控制器的作用
  13. 14个适合后台管理系统开发的前端框架,建议收藏!
  14. python导入模块失败_关于python导入模块失败的问题
  15. CometOJ #10 沉鱼落雁 | 思维
  16. codevs 2977 二叉堆练习1x
  17. 大数据证实:学习使人快乐
  18. [免费专栏] Android安全之Android加密算法浅析
  19. e3mall Day06
  20. x32计算机控制,Behringer干货|带你用电脑和ipad玩转X32

热门文章

  1. Python开发环境Wing IDE 5.0测试第八版发布
  2. JSP中文及传中文参数乱码解决方法小结
  3. vue.js框架:数组的各种变异方法
  4. ArrayList与String[]
  5. Android 全局悬浮按钮,悬浮按钮点击事件
  6. highcharts x轴 按照时间 datetime排序
  7. 【引用】jQuery 选择器
  8. 七年级计算机室使用计划表,七年级信息技术教学工作计划
  9. mysql用户和权限备份_备份MySQL用户和权限
  10. mysql binlog 恢复指定表_Mysql用全备恢复指定表mysqlbinlog抽取某个表的信息