1. 用MATLAB求解
你的题目有些岐义,例如:第二组动物1000头是每头都有繁殖能力还是说其中500头是母的有繁殖能力。如果后面假设成立,那么为何是500头,而不是250?
所以,这里我就假设1000头都是母的,都有繁殖能力。
解题的关键是建立迭代公式,其实这道题目可以笔算,但是建立迭代模型的最大好处是:题目条件变化,计算模型不变。
-----------------------------------------------华丽分割线------------------------------------------------
根据题目,显然15年后原有的动物全部嗝屁了,剩下的都是它们的后代,所以只要计算繁殖的后代头数就可以了。
先看第一个五年
第三组:1000*3(第一组)
第二组:1000*4(第一组)+1000/4(第三组)
第一组:1000/2(第二组)
即五年后,第一组:7000 第二组:500 第三组:250
因为,题目都是围绕五年一个计是单位进行计算的,所以不妨设(这个假设不会影响计算结果,只是为了更容易理解和建立模型):最大年龄为3岁,将其分成三个年龄组:第一组,1岁;第二组,2岁;第三组,3岁。
于是建立迭代公式,设三组头数分别为x,y,z,则初始值
1) x0=y0=z0=1000
2) x(n)=z(n-1)*3+y(n-1)*4
3) y(n)=x(n-1)/2
4) z(n)=y(n-1)/4
Matlab代码如下:
% 1) x0=y0=z0=1000
% 2) x(n)=z(n-1)*3+y(n-1)*4
% 3) y(n)=x(n-1)/2
% 4) z(n)=y(n-1)/4
x0=1000;y0=1000;z0=1000;n=3;
i=1;
while i<=n
x=z0*3+y0*4;
y=x0/2;
z=y0/4;
x0=x;y0=y;z0=z;
i=i+1;
end
disp(sprintf('%d年后,这种动物还有[%d %d %d]头',n*5,x,y,z));
运行结果:
15年后,这种动物还有[14375 1375 875]头
2. MATLAB程序求解
3. MATLAB求解
使用matlab求解方程组,可以用solve()函数求解。
求解方法:
>> syms x y z
>> [x,y,z]=solve(x^2+y^2+z^2==49,x-2*y+z==-1,3*x-5*y+2*z==2)
运行结果,得到其两组交点
x1=6,y1 =2,z1 = -3
x2= 8/3,y2 =-4/3,z2 =-19/3
4. MATLAB求解
一般来说,求解非线性方程组可以用fsolve()函数命令得到。求解过程如下:
>>x0=[650 320 -5870 -6055]; %x的初值
>>fun=@(x)[(x(1)+x(3)-x(4)).^2.*(0.5*x(1)-x(2)).*(10000-x(1)+x(2)).^(-2)-0.002;(1000-x(1)-x(2)).*(x(2)-x(3)).*(0.5*x(1)-x(2)).^(-1).*(30000-x(2)+x(4)).^(-1)-20;(x(3)-x(4)).*(x(1)+x(3)-x(4)).*(x(2)-x(3)).^(-1)-25;x(4).*(3000-x(2)+x(4)).*(x(3)-x(4)).^(-1).*(x(1)+x(3)-x(4)).^(-1)-132]; %自定义函数
>>[x,fval,exitflag] = fsolve(fun,x0); %x的解向量
>>a=x(1),b=x(2),c=x(3),d=x(4) %a、b、c、d的解
计算结果
5. MATLAB求解
这个式子右边ft等式少了一个括号和下引号,姑且认为你加在最后,则求解答案为
6. 用MATLAB求解
你的题目有些岐义,例如:第二组动物1000头是每头都有繁殖能力还是说其中500头是母的有繁殖能力。如果后面假设成立,那么为何是500头,而不是250?
所以,这里我就假设1000头都是母的,都有繁殖能力。
解题的关键是建立迭代公式,其实这道题目可以笔算,但是建立迭代模型的最大好处是:题目条件变化,计算模型不变。
-----------------------------------------------华丽分割线------------------------------------------------
根据题目,显然15年后原有的动物全部嗝屁了,剩下的都是它们的后代,所以只要计算繁殖的后代头数就可以了。
先看第一个五年
第三组:1000*3(第一组)
第二组:1000*4(第一组)+1000/4(第三组)
第一组:1000/2(第二组)
即五年后,第一组:7000 第二组:500 第三组:250
因为,题目都是围绕五年一个计是单位进行计算的,所以不妨设(这个假设不会影响计算结果,只是为了更容易理解和建立模型):最大年龄为3岁,将其分成三个年龄组:第一组,1岁;第二组,2岁;第三组,3岁。
于是建立迭代公式,设三组头数分别为x,y,z,则初始值
1) x0=y0=z0=1000
2) x(n)=z(n-1)*3+y(n-1)*4
3) y(n)=x(n-1)/2
4) z(n)=y(n-1)/4
Matlab代码如下:
% 1) x0=y0=z0=1000
% 2) x(n)=z(n-1)*3+y(n-1)*4
% 3) y(n)=x(n-1)/2
% 4) z(n)=y(n-1)/4
x0=1000;y0=1000;z0=1000;n=3;
i=1;
while i<=n
x=z0*3+y0*4;
y=x0/2;
z=y0/4;
x0=x;y0=y;z0=z;
i=i+1;
end
disp(sprintf('%d年后,这种动物还有[%d %d %d]头',n*5,x,y,z));
运行结果:
15年后,这种动物还有[14375 1375 875]头
7. MATLAB求解
(1)
20 26 -16
29 106 30
-29 -22 35
(2)
11 -3 -39
78 44 -15
-30 -21 109
(3)
1 4 -1
-2 -3 -7
-4 -1 10
(4)
-2 3
5 9
(5)
4 3 3
(6)
-8
(7)
1
4
6
-2
5
3
3
9
-8
8. 使用MATLAB求解方法?
题主的问题就是已知x、y数据,根据模型,拟合其a、b、c系数。此类问题求解过程:
1、已知数据
x=[。。。]
y=[。。。]
2、定义拟合函数
fun=@(p,x)p(1)*exp(x +p(2))+p(3) %a—p(1),b—p(2),c—p(3)
3、设定a、b、c的初始值
p0=[0,0,0]
4、利用nlinfit()非线性回归函数,拟合其系数
[p,r] = nlinfit(x,y,fun,p0) %p—系数,r—残差
5、利用fun(p,x)计算,x、y的一系列对应值,用plot()绘图函数,绘制原始数据与拟合数据比较图
6、结果