365bet官网

当前位置: 主页 > 365bet体育在线 >

matlab中利用二分法编程求方程x^3-3*x^2-x+3=0在[0

时间:2020-07-01 03:25来源:原创 作者:admin 点击:
matlab中利用二分法编程求方程x^3-3*x^2-x+3=0在[0,3]内的根 程序已有,但第四行中f=@(x)x^3-3*x^2-x+3的 “@(x)”作用是什么? 我在书上都没有见过这个符号,但不用这个符号的话程序是错误的,到

  matlab中利用二分法编程求方程x^3-3*x^2-x+3=0在[0,3]内的根

  程序已有,但第四行中f=@(x)x^3-3*x^2-x+3的 “@(x)”作用是什么?

  我在书上都没有见过这个符号,但不用这个符号的话程序是错误的,到底为什么?

  a=0;

  b=3;

  x=a:b;

  f=@(x)x^3-3*x^2-x+3;

  c=(a+b)https://www.bqpu.net/zuoye/2;

  while abs(b-a)>1e-6

  if f(c)*f(b)> fprintf('\n x=%.5f,f(x)=%.5f \n',x,f(x));

  这个定义一个函数.

  f=@(x)x^3-3*x^2-x+3;

  的意思是说定义一个函数f(x),它只有一个自变量.

  使用时,直接可以用f(1)它就是x=1时的函数值.

  另外多参数可以是:

  f=@(x,y)sqrt(x.^2+y.^2),求点到原点的距离.

  Matlab 用二分法求方程先x^3-3*x+2-e^x=0的实根,要求精度e

  源代码:

  在matlab中保存为:demimethod.m

  function [x,k]=demimethod(a,b,f,emg)

  % a,b :求解区间的两个端点

  % f :所求方程的函数名

  % emg :精度指标

  % x:所求近似解

  % k:循环次数

  fa=feval(f,a);

  fab=feval(f,(a+b)/2);

  k=0;

  while abs(b-a)>emg

  if fab==0

  x=(a+b)/2;

  return;

  elseif fa*fab> f=@(x)x^3-3*x+2-exp(x);

  >> demimethod(-5,5,f,10^(-8))

  ans=

  -1.9846

  急需MATLAB二分法求方程求求方程f(x)=x^3-sin(x)-12*x+1的全部实根,ε=10^-6程序

  x的是3次方,要求e

  在Matlab下输入:edit,然后将下面两行百分号之间的内容,复制进去,保存

  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  function y=zhidao_fx(x)

  y=x.^3-sin(x)-12*x+1;

  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  在Matlab下输入:edit,然后将下面两行百分号之间的内容,复制进去,保存

  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

  function x=findroot2(fx,x0,x1)

  e=1e-6;

  y0=eval([fx,'(x0)']);

  y1=eval([fx,'(x1)']);

  x=(x0+x1)/2;

  y=eval([fx,'(x)']);

  if (abs(x0-x1)

(责任编辑:admin)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
推荐内容