我的平分计算有什么问题

  • 本文关键字:问题 计算 matlab
  • 更新时间 :
  • 英文 :


这段代码给了我;使用inline/subsref时出错(第12行(内联函数的输入不足。

%MATLAB 中的二分法

%我们有5kg的盒子m=5,摩擦系数k=0.4,未知力F=x,

%箱子没有移动(g=9.81(

m=5;
k=0.4;
g=9.81;
G=m*g;
N=G;
a='x-(k.*N)';
f=inline(a);
xl=input('Enter the left hand side of interval:') ;
xu=input('Enter the right hand side of interval:');
tol=input('Enter the tolerance:');
if f(xu)*f(xl)<0
else
fprintf('The guess is incorrect! Enter new guessesn');
xl=input('Enter the left hand side of interval:n') ;
xu=input('Enter the right hand side of interval:n');
end
for i=2:12
xr=(xu+xl)/2;
if f(xu)*f(xr)<0
xl=xr;
else
xu=xr;
end
if f(xl)*f(xr)<0
xu=xr;
else
xl=xr;
end
xnew(1)=0;
xnew(i)=xr;
if abs((xnew(i)-xnew(i-1))/xnew(i))<tol,break,end
end
str = ['The required root of the equation is: ', num2str(xr), ''],

问题是inlinea中的变量感到困惑。我的Matlab版本(可能还有你的版本(认为xkN都是变量,它正在生成一个有三个参数的函数。

与其使用inline,我建议只显式地编写所需的函数:

f=@(x)(x-(k.*N));

相关内容

  • 没有找到相关文章

最新更新