|
如果有范围要求,就给个范围来约束一下,可以记为[a b],如果没有范围,就随便确定个数a,然后:
1、可以使用字符串表达式:
mZero = fzero('5*sin(x)+sqrt(100-36*cos(x))-c', [a b]);
注意:此时在你的要求范围内,可能没有零点值,函数将返回错误。
或
mZero = fzero('5*sin(x)+sqrt(100-36*cos(x))-c', a);
此时,函数将临近a处返回零点值
注意:
1)用字符串表达式来求解时,请注意要给表达式中的变量进行初始化值。如:
x = a:0.001:b;
2)如果你的变量名不是x,那么要用如下的方式来使用fzero函数:
fzero(@(变量名)(字符串表达式), 范围或数值);
2、可以使用符号表达式:
syms x;
y = 5 * sin(x)+sqrt(100-36*cos(x))-c
yFun = inline(y);
mZero = fzero(yFun, [a b]);
或
mZero = fzero(yFun, a); |
评分
-
1
查看全部评分
-
|