matlab求各个点的函数值,matlab常用函数集锦

一.方程求解(符号求解、数值求解)

solve

通常在不确定方程是否有符号解的时候,推荐先使用solve进行尝试,因为solve相比于数值求解来说,它不需要提供初值,并且一般情况下能够得到方程的所有解。对于一些简单的超越方程,solve还能够自动调用数值计算系统给出一个数值解。

对于solve的参数采用字符型输入不好,最好采用采用符号变量输入:

solve('10^(-4.74)*0.965*y/60000x/(10^(-4.74)+x)+0.1/36500+10^(-14)/x-x=0','10^(-3.2)*x+0.333/3000+8*10^((-3.2)*0.1+0.1/333*y','x','y')

syms x y

eq1=10^(-4.74)*0.965*y/60000x/(10^(-4.74)+x)+0.1/36500+10^(-14)/x-x

eq2=10^(-3.2)*x+0.333/3000+8*10^((-3.2)*0.1+0.1/333*y

sol=solve(eq1,eq2,x,y)

fzero

很多情况下solve并不能求得方程的解析解,这时就可以采用数值法求解。

fzero只适用求解一元函数零点,而fsolve适用于求解多元函数零点(包括一元函数)。当求解一元函数零点时,推荐优先使用fzero

x = fzero(fun,x0)

[x,fval] = fzero(fun,x0)

如果方程有多个零点时,fzero只能根据你提供的初值求得最靠近初值的一个零点,如果希望求得多个零点的话,那么只能够通过改变初值来得到不同的零点。

fzero能够提供区间搜索,注意区间两端的端点函数值符号需要反向:

y=@(x)sin(x)+cos(x).^2

[x,fval]=fzero(y,[-1 1]) %fzero在[-1,1]这个区间搜索初值

fsolve

x = fsolve(fun,x0)

[x,fval] = fsolve(fun,x0)

其中fun为函数句柄,x0为搜索初值,fval为求解误差

eq = @(x)[x(1)+x(2)=1;x(1)-11x(2)=5]

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值