跪求MATLAB高手啦,很简单的题~~~ 20
(1)“求一个非线性方程组在[-1,1,-1]附近的解。”X1+X2-5*X3=02*X1-4*X2+X3=0X1*X1+X2*X2+X3-10=0这就是那个方程组,因为...
(1)“求一个非线性方程组 在[-1,1,-1]附近的解。”
X1+X2-5*X3=0
2*X1-4*X2+X3=0
X1*X1+X2*X2+X3-10=0
这就是那个方程组,因为复制不上,我这样写的,你懂的~~~
(2) t为[-9,9]范围内的整数,编写程序计算y的值,y=-3t*t+5 t>=0 3t*t+5 t<0 展开
X1+X2-5*X3=0
2*X1-4*X2+X3=0
X1*X1+X2*X2+X3-10=0
这就是那个方程组,因为复制不上,我这样写的,你懂的~~~
(2) t为[-9,9]范围内的整数,编写程序计算y的值,y=-3t*t+5 t>=0 3t*t+5 t<0 展开
5个回答
展开全部
这个好像是数学学院的一个关于MATLAB的作业。。。。。。我晕死
他需要的是MATLAB程序。不过呢我觉得这种东西还是自己过手吧。虽然说我还是知道怎做,但是也没什么价值啊。
他需要的是MATLAB程序。不过呢我觉得这种东西还是自己过手吧。虽然说我还是知道怎做,但是也没什么价值啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
matlab code:
funh=@(x)[x(1)+x(2)-5*x(3);2*x(1)-4*x(2)+x(3);x(1)^2+x(2)^2+x(3)-10];
x0=[-1,1,-1];
[x,fval,exitflag]=fsolve(funh,x0);
运行结果:
Optimization terminated: first-order optimality is less than options.TolFun.
x =-2.8575 -1.6544 -0.9024
funh=@(x)[x(1)+x(2)-5*x(3);2*x(1)-4*x(2)+x(3);x(1)^2+x(2)^2+x(3)-10];
x0=[-1,1,-1];
[x,fval,exitflag]=fsolve(funh,x0);
运行结果:
Optimization terminated: first-order optimality is less than options.TolFun.
x =-2.8575 -1.6544 -0.9024
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
clc;clear
format long
%二分法
a=0;b=1;fc=10;it1=0;
while abs(fc)>10e-5
fa=subs('x-exp(-x)','x',a);
fb=subs('x-exp(-x)','x',b);
c=(a+b)/2;
fc=subs('x-exp(-x)','x',c);
if fa*fc>0
a=c;
fa=fc;
else
b=c;
fb=fc;
end
x=c;
it1=it1+1;
end
it1,x
%一般迭代
x=0;m=1;it2=0;
while m>10e-5
temp=x;
x=exp(-x);
m=abs(temp-x);
it2=it2+1;
end
it2, x
%牛顿
x=0;it3=0;n=1;
while n>10e-5
temp=x;
x=x-(x-exp(-x))/(1+exp(-x));
n=abs(temp-x);
it3=it3+1;
end
it3,x
%精确解
xx=eval(solve('x-exp(-x)'))
结果:
it1 = 12
x = 0.567138671875000
it2 = 18
x = 0.567119040057215
it3 = 4
x = 0.567143290409781
xx = 0.567143290409784
显然牛顿法的迭代次数最少。
format long
%二分法
a=0;b=1;fc=10;it1=0;
while abs(fc)>10e-5
fa=subs('x-exp(-x)','x',a);
fb=subs('x-exp(-x)','x',b);
c=(a+b)/2;
fc=subs('x-exp(-x)','x',c);
if fa*fc>0
a=c;
fa=fc;
else
b=c;
fb=fc;
end
x=c;
it1=it1+1;
end
it1,x
%一般迭代
x=0;m=1;it2=0;
while m>10e-5
temp=x;
x=exp(-x);
m=abs(temp-x);
it2=it2+1;
end
it2, x
%牛顿
x=0;it3=0;n=1;
while n>10e-5
temp=x;
x=x-(x-exp(-x))/(1+exp(-x));
n=abs(temp-x);
it3=it3+1;
end
it3,x
%精确解
xx=eval(solve('x-exp(-x)'))
结果:
it1 = 12
x = 0.567138671875000
it2 = 18
x = 0.567119040057215
it3 = 4
x = 0.567143290409781
xx = 0.567143290409784
显然牛顿法的迭代次数最少。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先编制函数文件fc.M如下
function y=fc(x)
y1=x(1)^2-x(2)^2+x(3)-10;
y2=x(1)+x(2)-x(3);
y3=2*x(1)-4*x(2)+x(3);
y=[y1 y2 y3];
在MATLAB命令窗口输入:
>> x0=[-1 1 -1];
>> fsolve('fc',x0)
ans =
1.0e+003 *
-1.4846 -1.4836 -2.9666
function y=fc(x)
y1=x(1)^2-x(2)^2+x(3)-10;
y2=x(1)+x(2)-x(3);
y3=2*x(1)-4*x(2)+x(3);
y=[y1 y2 y3];
在MATLAB命令窗口输入:
>> x0=[-1 1 -1];
>> fsolve('fc',x0)
ans =
1.0e+003 *
-1.4846 -1.4836 -2.9666
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询