当前位置:首页 » 招生排名 » 大学数学数学实验第二版课后答案

大学数学数学实验第二版课后答案

发布时间: 2021-02-13 09:21:35

Ⅰ 姜启源大学数学实验第二版实验4 常微分方程数值解课后习题中盛水倒圆锥中水漏出问题答案请发至我的邮箱

建议以后还是把题目发上来,否则像你现在这样提问是不可能得到解答的。

Ⅱ 求姜启源《大学数学实验》课后题答案

vcfcfcccc

Ⅲ 数学实验第二版答案 乐经良 百度云

狼吞虎咽

Ⅳ 哪里有(数学实验)大学数学第二版的习题解,萧树铁主编的

http://..com/q?word=%C4%C4%C0%EF%D3%D0%28%CA%FD%D1%A7%CA%B5%D1%E9%29%B4%F3%D1%A7%CA%FD%D1%A7%B5%DA%B6%FE%B0%E6%B5%C4%CF%B0%CC%E2%BD%E2%2C%CF%F4%CA%F7%CC%FA%D6%F7%B1%E0%B5%C4%3F&ct=17&pn=0&tn=ikaslist&rn=10

Ⅳ 求数学实验第二版答案,李尚志版的。急用。

练习5
分别取来n=5,50,500,在自同一区间[-4p,4p]上函数f(x)=sinx与Pn(x)= 的图像。观察当n增加时向sinx逼近的现象。
这一作图任务可用如下语句来完成:
fgsin=Plot[Sin[x],{x,-4Pi,4Pi},
PlotStyle->{RGBColor[1,0,0]}];
p[x_,n_]:=x*Proct[1-x^2/((k*Pi)^2),{k,1,n}];
fgproct=Plot[p[x,50],{x,-4Pi,4Pi}];
Show[fgsin,fgproct]
其中的P[x,50]可以换成P[x,500]再运行一次。
X=5

X=50
X=500

Ⅵ 数学实验答案 第二版 姜启源主编

这个应该没人有吧,不过你有不会的问题可以在这上面问。我给你回答。

Ⅶ 数学实验答案2

%根据以下公式计算y,计算结果作为函数值返回;n通过形参传入
function y=fun1(n)
clc
%n=11;
%ans=1.8333……
y=0;
for k=1:n
fm=0;
for g=1:k
fm=fm+g;
end
y=y+1/fm;
end

%计算并输出给定数组s(长度为9)中每相邻两个元素之平均值的平方根之和。
function y=fun2(s)
clc
y=0;
%s=[12 34 4 23 34 45 18 3 11];
%ans =35.9510
for k=1:length(s)-1
y=y+sqrt((s(k)+s(k+1))/2);
end

%求小于形参n同时能被3与7整除的所有自然数之和的平方根,并作为函数值返回。
function y=fun3(n)
clc
%n=1000;
%ans=153.9091
N=1:n;
f=find(rem(N,3)==0 & rem(N,7)==0);
y=0;
for k=1:length(f)
y=y+f(k);
end
y=sqrt(y);

%根据以下公式求P的值
function y=fun4(m,n)
clc
%m=12;n=8;
%ans=495
fz=1;fm1=1;fm2=1;
for k=1:m
fz=fz*k;
if k<=n
fm1=fm1*k;
end
if k<=m-n
fm2=fm2*k;
end
end
y=fz/fm1/fm2;

%将字符串s中的前导*号全部删除,中间和尾部的*号不删除。
function y=fun5(s)
clc
%s='*******A*BC*DEF*G****';
%ans=A*BC*DEF*G****
for k=1:length(s)
if s(k)~='*'
t=k-1;
break
end
end
s(1:t)=[]

%求出向量s的最大元素在数组中的下标并存放在k所指的存储单元中。
function y=fun6(s)
clc
%s=[876 675 896 101 301 401 980 431 451 777];
%k=7 m=980
m=s(1);
for g=1:length(s)
if s(g)>m
m=s(g);
k=g;
end
end
k
m

%将两个两位数的正整数a、b合并形成一个整数放在c中。
%合并的方式是:将a数的十位和个位数依次放在c数的百位和个位上
% b数的十位和个位数依次放在c数的千位和十位上。
function y=fun7(a,b)
clc
%a=45;b=12;
%ans=1425
qw=fix(b/10)*1000;
bw=fix(a/10)*100;
sw=rem(b,10)*10;
gw=rem(a,10);
y=qw+bw+sw+gw;

%计算并输出给定整数n的所有因子(不包括1与n自身)之和。
%规定n的值不大于1000。
function y=fun8(n)
clc
%n=856;
%ans=763
s=0;
for k=2:n-1
if rem(n,k)==0
s=s+k;
end
end
s

%将大于形参 m 且紧靠 m 的 k 个素数存入x所指的数组中。
function y=fun9(m,k)
clc
%m=17;k=5;
%ans=19 23 29 31 37
n=0;
while n<k
m=m+1;
if rem(m,2:m-1)~=0
m
n=n+1;
end
end

%使数组左下半三角元素中的值全部置成0
function y=fun10(a)
clc
%a=[1 9 7;2 3 8;4 5 6];
d=size(a);
for k=1:d(1)
for g=1:d(2)
if k>=g
a(k,g)=0;
end
end
end
a

%函数的功能是删除字符串s中的所有空格
function y=fun11(s)
clc
%s='asd af aa z67';
%ans=asdafaaz67
for k=length(s):-1:1
if s(k)==' '
s(k)=[];
end
end
s

%对长度为7个字符的字符串s,
%除首、尾字符外,将其余5个字符按ASCII码降序排列
function y=fun12(s)
clc
%s='CEAedca';
%ans =CedcEAa
sz=abs(s);
szz=sz(2:end-1);
for k=1:length(szz)
[a,b]=max(szz);
sz(k+1)=szz(b);
szz(b)=[];
end
s=setstr(sz)

%将s所指字符串中下标为偶数的字符删除
%串中剩余字符形成的新串放在y中
function y=fun13(n)
clc
%s='ABCDEFGHIJK'
%ans =ACEGIK
for k=length(s):-1:1
if rem(k,2)==0
s(k)=[];
end
end
y=s;

%比较两个字符串的长度,函数返回较长的字符串
%若两个字符串长度相同,则返回第一个字符串。
function y=fun14(a,b)
clc
%a='beijing';b='shanghai';
%ans=shanghai
if length(a)>=length(b)
y=a;
else
y=b;
end

%删除字符串s中所有的*号
function y=fun15(s)
clc
%s='****A*BC*DEF*G*******';
%ans=ABCDEFG
for k=length(s):-1:1
if s(k)=='*'
s(k)=[];
end
end
s

%按分数的高低排列学生的记录,高分在前。
function y=fun16(s)
clc
s=['GA005',85;'GA003',76;'GA002',69;'GA004',85;'GA001',96;'GA007',72;'GA008',64;'GA006',87; 'GA015',85;'GA013',94;'GA012',64;'GA014',91;'GA011',90;'GA017',64;'GA018',64;'GA016',72];
sl=s(:,6);
y1_5=s(:,1:5);
d=size(s);
y6=sl;
c=sl;
for k=1:d(1)
[a,b]=max(sl);
y1_5(k,1:5)=s(b,1:5);
c(k)=a;
y6=int2str(c);
sl(b)=0;
end
y=strcat(y1_5,32,32,32,y6);

%求出能整除x且不是偶数的各整数,并按从小到大的顺序放在y中。
function y=fun17(x)
clc
x=35;
a=find(rem(x,1:x)==0)

%将低于平均分的人数n和低于平均分的分数放在y中返回。
function [y,n]=fun18(s)
clc
s=[10 20 30 40 50 60 70 80 90];
p=0;
for k=1:length(s)
p=p+s(k);
end
p=p/length(s);
[a,b]=find(s<p);
n=length(a)
y=s(b);

%计算并输出3到n之间(含3和n)所有素数的平方根之和。
function y=fun19(n)
clc
n=100;
y=0;
for k=3:n
if rem(k,2:k-1)~=0
y=y+sqrt(k);
end
end

%求出该学生的平均分放在y中
function y=fun20(s)
clc
s={'GA005',[85.5,76,69.5,85,91,72,64.5,87.5]};
y=0;
t=0;
for k=length(s{2}):-1:1
y=y+s{2}(k);
t=t+1;
if t==8
y=y/8;
break
end
end

1
%只删除字符串前导和尾部的*号,串中字母之间的*号都不删除
function y=fun1(s)
clc
% s='****A*BC*DEF*G*******'
% ans= A*BC*DEF*G
n=length(s) % 形参n给出了字符串的长度
h=0; % 形参h给出了字符串中前导*号的个数
e=0; % 形参e给出了字符串中最后*号的个数
for k=n:-1:1
if s(k)=='*'
e=e+1;
s(k)=[];
else
break
end
end
n1=length(s);
for k=1:n1
if s(k)~='*'
t=k;
break
end
h=h+1;
end
h
e
s(1:k-1)=[]

2
%把指定分数范围内的学生数据放在b所指的数组中
%分数范围内的学生人数由函数值返回
function y=fun2(n1,n2)
clc
% n1=60;n2=69;
% b=GA002 GA008 GA012 GA017 GA018
% y=5
s=['GA005',85;'GA003',76;'GA002',69;'GA004',85;'GA001',96;'GA007',72;'GA008',64;'GA006',87; 'GA015',85;'GA013',94;'GA012',64;'GA014',91;'GA011',90;'GA017',64;'GA018',64;'GA016',72];
d=size(s);
for k=d(1):-1:1
if abs(s(k,6))<n1 | abs(s(k,6))>n2
s(k,:)=[];
end
end
b=s;
b(:,6)=[]
d=size(b);
y=d(1);

3
%将两个两位数的正整数a、b合并形成一个整数放在c中
%合并的方式是: 将a数的十位和个位数依次放在c数的个位和百位上
% b数的十位和个位数依次放在c数的十位和千位上。
function y=fun3(a,b)
clc
%a=45;b=12;
%c = 2514
qw=rem(b,10)*1000;
bw=rem(a,10)*100;
sw=b-rem(b,10);
gw=fix(a/10);
c=qw+bw+sw+gw
4
%将两个两位数的正整数a、b合并形成一个整数放在c中
%合并的方式是: 将a数的十位和个位数依次放在c数的个位和百位上
% b数的十位和个位数依次放在c数的十位和千位上。
function y=fun3(a,b)
clc
%a=45;b=12;
%c = 2514
qw=rem(b,10)*1000;
bw=rem(a,10)*100;
sw=b-rem(b,10);
gw=fix(a/10);
c=qw+bw+sw+gw
5
%除了尾部的*之外,将字符串中其他*号全部删除。
function y=fun5(s)
clc
s='****A*BC*DEF*G*******';
%ans=ABCDEFG*******
for k=length(s):-1:1
if s(k)~='*'
t=k;
break
end
end
for g=t:-1:1
if s(g)=='*'
s(g)=[];
end
end
s
6
%其功能是计算并输出当x<0.97时下列多项式的值,直到abs(s(n)-s(n-1))<0.000001为止
%sn=1+0.5*x+0.5*(0.5-1)*x^2/1/2+0.5*(0.5-1)*(0.5-2)*x^3/1/2/3+…
% +0.5*(0.5-1)…(0.5-n+1)*x^n/(1*2*3*…*n)
function y=fun6(n)
clc
n=100;
%s =1.1000
x=0.21;
s=1;
for k=1:n
jc=1;
fz=1;
for g=1:k
jc=jc*g;
fz=fz*(0.5-g+1);
end
s=s+fz/jc*x^k;
end
s

7
%把高于等于平均分k的学生数据放在y中,输出y和k。
function [y,k]=fun7(s)
clc
s=['GA005',85;'GA003',76;'GA002',69;'GA004',85;'GA001',96;'GA007',72;'GA008',64;'GA006',87; 'GA015',85;'GA013',94;'GA012',64;'GA014',91;'GA011',90;'GA017',64;'GA018',64;'GA016',72];
d=size(s);
k=0;
for g=1:d(1)
k=k+abs(s(g,6));
end
k=k/d(1);
for gg=d(1):-1:1
if abs(s(gg,6))<k
s(gg,:)=[];
end
end
y1=s(:,1:5);
fs=int2str(s(:,6));
y=strcat(y1,32,32,32,fs);

8
%将两个两位数的正整数a、b合并形成一个整数放在c中
%合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上
% b数的十位和个位数依次放在c数的百位和个位上。
function y=fun8(a,b)
clc
a=45;b=12;
%ans=5142
qw=mod(a,10)*1000;
bw=floor(b/10)*100;
sw=fix(a/10)*10;
gw=rem(b,10)*1;
c=qw+bw+sw+gw
9
%将字符串中的前面的*号全部移到字符串的尾部。
function y=fun9(s)
clc
s='*******A*BC*DEF*G****';
%ans=A*BC*DEF*G***********
for k=1:length(s)
if s(k)~='*'
t=k-1;
break
end
end
if t~=0
for g=1:length(s)-t
s(g)=s(g+7);
end
for gg=length(s)-t+1:length(s)
s(gg)='*';
end
end
s
10
%使矩阵右上半三角元素中的值乘以m
function y=fun10(a,m)
clc
a=[1 9 7;2 3 8;4 5 6];
m=2;
d=size(a);
for k=1:d(1)
for g=1:d(2)
if k<=g
a(k,g)=a(k,g)*m;
end
end
end
a
11
%找出数组元素x中最大的值和它所在的下标
% 最大的值和它所在的下标通过形参传回。
function [y,k]=fun11(x)
clc
x=[1 22 3 6 554 4 752 8 9 10 11 52 78 96 45 12 45 36 79 45 610 45 500 16 14];
y=x(1);
k=1;
for g=2:length(x)
if x(g)>y
y=x(g);
k=g;
end
end
k
12
%把低于平均分的学生数据放在y中
%低于平均分的学生人数k,返回y和k。
function [y,k]=fun12(s)
clc
s=['GA005',85;'GA003',76;'GA002',69;'GA004',85;'GA001',96;'GA007',72;'GA008',64;'GA006',87; 'GA015',85;'GA013',94;'GA012',64;'GA014',91;'GA011',90;'GA017',64;'GA018',64;'GA016',72];
d=size(s);
k=0;
for g=1:d(1)
k=k+abs(s(g,6));
end
k=k/d(1);
for gg=d(1):-1:1
if abs(s(gg,6))>=k
s(gg,:)=[];
end
end
y1=s(:,1:5);
fs=int2str(s(:,6));
y=strcat(y1,32,32,32,fs);
13
%使字符串的前导*号不得多于n个;若多于n个,则删除多余的*号
%若少于或等于n个,则什么也不做
%字符串中间和尾部的*号不删除。
function y=fun13(s,n)
clc
n=4;
%n=8;
s='*******A*BC*DEF*G****';
for k=1:length(s)
if s(k)~='*'
t=k-1;
break
end
end
if n<t
s(1:t-n)=[];
end
s
14
%除了字符串前导的*号之外,将串中其它*号全部删除。
function y=fun14(s)
clc
s='****A*BC*DEF*G*******';
for k=1:length(s)
if s(k)~='*'
t=k;
break
end
end
for g=length(s):-1:t
if s(g)=='*'
s(g)=[];
end
end
s

15
%将所有大于1小于整数m的非素数输出
function y=fun15(n)
clc
n=17;
N=zeros(1,n);
for k=4:n
for g=2:k-1
if rem(k,g)==0;
N(k)=k;
break
end
end
end
y=find(N>0);

16
%将所有大于1小于整数m的非素数输出
function y=fun15(n)
clc
n=17;
N=zeros(1,n);
for k=4:n
for g=2:k-1
if rem(k,g)==0;
N(k)=k;
break
end
end
end
y=find(N>0);

17
%计算级数和s=∑x^n/n! (由0—n)
function y=fun17(n)
clc
n=10;
x=0.3;
y=1;
jc=1;
for k=1:n
for g=1:k
jc=jc*g;
end
y=y+x^k/jc;
jc=1;
end

18
%将两个两位数的正整数a、b合并形成一个整数放在c中
%合并的方式是:将a数的十位和个位数依次放在c数的个位和百位上
% b数的十位和个位数依次放在c数的千位和十位上。
function y=fun18(a,b)
clc
a=45;b=12;
qw=fix(b/10)*1000;
bw=rem(a,10)*100;
sw=rem(b,10)*10;
gw=floor(a/10);
c=qw+bw+sw+gw

19
%计算并输出下列级数和s=1/(1*2)+1/(2*3)+…+1/(n/(n+1))
%不就等于 1-1/(n+1) 嘛
function y=fun19(n)
clc
n=10;
%s=1-1/(n+1)
y=0;
for k=1:n
y=y+1/k/(k+1);
end

20
%将字符串s中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母, 则不转换)。
function y=fun20(s)
clc
s='ab4cefg';
%ans =Ab4cEfG
for k=1:2:length(s)
if s(k)>='a' & s(k)<='z'
s(k)=char(s(k)-32);
end
end
s

%1. 函数fun1的功能是:将s所指字符串中ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。
function y=fun1(s)
clc
%s='ABCDEFG12345';
%ans =ACEG135
sz=abs(s);
sc=find(mod(sz,2)==0);
sz(sc)=[];
t=setstr(sz);
y=t;
%2. 假定输入的字符串中只含有字母和*号。请编写函数fun2,它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。
function y=fun2(s)
clc
%s='****A*BC*DEF*G*******'
%ans =****A*BC*DEF*G
sz=abs(s);
for k=0:length(sz)
if sz(end)==abs('*')
sz(end)=[];
else
break
end
end
y=setstr(sz);
%3. 请编写函数fun3, 函数的功能是:统计一行字符串中单词的个数,作为函数值返回。 规定所有单词由小写字母组成, 单词之间由若干个空格隔开。
function y=fun3(s)
clc
%s='good me I hi hello';
%ans =5
sz=abs(s);
m=1;
for k=1:length(sz)
if sz(k)==' '
m=m+1;
end
end
y=m;
%4. 编写函数fun4,函数的功能是求出小于或等于n的所有素数并放在y中, 函数返回所求出的素数y和其个数k。
function [y,k]=fun4(n)
clc
N=1:n;
for g=n:-1:3
for k=g-1:-1:2
if rem(g,k)==0
N(g)=[];
break
end
end
end
N(1)=[];
k=length(N)
y=N;
%5. 编写函数fun5,它的功能是计算: y=(ln(1)+ln(2)+……+ln(m))^0.5
function y=fun5(m)
clc
y=0;
for k=1:m
y=y+log(k);
end
y=y^0.5;
%函数的功能是: 删去一维数组中所有相同的数, 使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。
function y=fun6(s)
clc
%s=[2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10];
f=s(end);
for k=length(s)-1:-1:1
if s(k)==f
f=s(k);
s(k+1)=[];
else
f=s(k);
end
end
y=length(s);
%7 统计各年龄段的人数
function y=fun7(s)
clc;
s=round(rand(1,100)*120);
d=zeros(1,11);
for k=1:length(s)
switch floor(s(k)/10)
case 0,
d(11)=d(11)+1;
case 1
d(1)=d(1)+1;
case 2
d(2)=d(2)+1;
case 3
d(3)=d(3)+1;
case 4
d(4)=d(4)+1;
case 5
d(5)=d(5)+1;
case 6
d(6)=d(6)+1;
case 7
d(7)=d(7)+1;
case 8
d(8)=d(8)+1;
case 9
d(9)=d(9)+1;
otherwise
d(10)=d(10)+1;
end
end
disp(['d[0]=',num2str(d(11))])
r='d[ ]';
for g=1:9
m=num2str(g);
r(3)=m;
disp([r,num2str(d(g))])
end
disp(['d[10]=',num2str(d(10))])
8.将s所指字符串中所有下标为奇数位置上的字母转换为大写(该位置上不是字母,则不转换)。
function y=fun8(s)
clc
s='abc4EFg'
for k=1:2:length(s)
if s(k)>='a' & s(k)<='z'
s(k)=char(s(k)-32);
end
end
%9.求出矩阵所有元素的平均值并作为函数值在函数中输出。
function y=fun9(a)
clc
%a=[0 1 2 7 9;1 9 7 4 5;2 3 8 3 1;4 5 6 8 2;5 9 1 4 1];
%ans = 4.2800
d=size(a);
y=0;
for k=1:d(1)
for g=1:d(2)
y=y+a(k,g);
end
end
y=y/(d(1)*d(2));
%10.将M行N列的字符矩阵中的字符数据, 按行的顺序依次放到一个字符串中,然后将不是字符的删除。
function y=fun10(s)
clc;
%syms a b c d e f g h o;
%s=[8 a b;c 5 d;3 e 4;f 0 g;5 h o];
%ans =abcdefgho
d=size(s);
s1=reshape(s',1,d(1)*d(2));
for k=length(s1):-1:1
for g=0:9
if s1(k)==g
s1(k)=[];
end
end
end
t=s1';
y=t(1);
for k=2:length(t)
y=strcat(y,t(k));
end
%移动字符串中的内容, 移动的规则如下: 把第1个字符移到第m个字符, 把第2到第m+1个字符
%若第k到字符已移到字符串的最后,则第k+1到最后的字符移到字符串的前部。
function y=fun11(s)
clc
%s='ABCDEFGHIJK'
m=input('请输入m的值:')
ss=s;
if m>=1
for k=1:m-1
s(m-k)=ss(end-k+1);
end
for g=m:length(ss)
s(g)=ss(g-m+1);
end
s
else
disp('m值有误!')
end
%12.计算并输出给定10个数的方差 y=(0.1∑(xk-x')^2)^0.5 x'= 0.1∑xk
function y=fun12(s)
clc
s=[95.0 89.0 76.0 65.0 88.0 72.0 85.0 81.0 90.0 56.0];
x_=0;
y=0;
for k=1:10
x_=x_+s(k);
end
x_=0.1*x_;
for g=1:10
y=y+(s(k)-x_)^2;
end
y=(0.1*y)^0.5
%13.求出矩阵a所有元素之和,作为函数值返回。
function y=fun13(a)
clc
%a=[1 3 5 7 9;2 9 9 9 4;6 9 9 9 8;1 3 5 7 0];
%sum =115
d=size(a);
sum=0;
for k=1:d(1)
for g=1:d(2)
sum=sum+a(k,g);
end
end
sum
%14.利用以下所示的简单迭代方法求方程:cos(x)-x=0 的一个实根。
function y=fun14(a)
%迭代步骤如下:
%(1)取 x1 初值为a;
%(2)x0 = x1,把x1的值赋给 x0;
%(3)x1 = cos(x0),求出一个新的x1;
%(4)若x0 - x1的绝对值小于 0.000001,执行步骤(5),否则执行步骤(2);
%(5)所求x1就是方程 cos(x)-x=0 的一个实根,作为函数值返回。
%程序将输出结果Root=0.739085。
clc
x1=0;
x0=x1;
x1=cos(x0);
while abs(x0-x1)>0.000001
x0=x1;
x1=cos(x0);
end
y=x1;
%15.将两个两位数的正整数a、b合并形成一个整数放在c中。
function y=fun15(a,b)
%合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上, b数的十位和个位数依次放在c数的百位和个位上。
clc
%a=45;b=12;
%ans=4152
qw=floor(a/10)*1000;
bw=floor(b/10)*100;
sw=rem(a,10)*10;
gw=rem(b,10);
y=qw+bw+sw+gw;
%16.统计在s字符串中 'a' 到 'z' 26个字母各自出现的次数,并依次放在pp所指数组中。
function y=fun16(s)
clc
%s='abcdefgabcdeabc';
%pp=3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
p=abs('a':'z');
pp=zeros(1,26);
for k=1:length(s)
for g=1:16
if abs(s(k))==p(g)
pp(g)=pp(g)+1;
end
end
end
pp
%17.使矩阵左下三角元素中的值乘以n 。
function y=fun17(a)
clc
%a=[1 9 7;2 3 8;4 5 6]
%ans =
% 3 9 7
% 6 9 8
% 12 15 18
d=size(a);
for k=1:d(1)
for g=1:d(2)
if k>=g
a(k,g)=a(k,g)*3;
end
end
end
a
%18.计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。
function y=fun18(n)
clc
n=20;
sum=0;
for k=1:n
if rem(k,9)==0
sum=sum+1/k;
else
switch rem(k,5)
case 0
sum=sum+1/k;
otherwise
sum=sum+0;
end

end
end
sum
%19.判断字符串是否为回文
function y=fun19(s)
clc
%s='level';
s='123312';
for k=1:length(s)
if s(k)~=s(end+1-k)
disp('NO')
break
end
if k==length(s)
disp('YES');
end
end
%20.求出 1 到 1000 之内能被 7 或11整除、但不能同时被 7 和 11 整除的所有整数并将它们放在 a所指的数组中,
%通过 n返回这些数的个数。
function y=fun20(s)
clc
a=[1:1000];
for k=1000:-1:1
if rem(k,7)~=0 & rem(k,11)~=0 %不能被7或11整除
a(k)=[];
end
if rem(k,7)==0 & rem(k,11)==0 %同时被7和11整除
a(k)=[];
end
end
a
n=length(a)

Ⅷ 有哪位高手知道姜启源大学数学第二版的实验内容的答案吗

建议: 在 “单元格格式”设置框中,将数字格式设置为文本时,可以在单元专格输入前面有属“0”的数字,但这样输入的数字不能进行计算。可采用下面的方法输入能计算的数值:选中单元格,点击“格式→单元格”,单击“数字”标签,在左边的“分类”中选择“自定义选项”,在右边的“类型”中选择“0”,这时“类型”编辑栏中出现“0”。根据自己要在单元格中输入的位数,如为“00005”5位,则在编辑栏中输入5个0,点击“确定”后,在单元格中就可以输入前面有“0”并可以计算的数字了。

Ⅸ 大学数学实验(第二版) 清华大学出版社 实验8 线性规划 第5题 某市有甲乙丙丁四个居民区,自来水由ABC

模型与解析:设A水库向甲、乙、丙、丁供水量为x(1),x(2),x(3),x(4)(单位为kt,以下皆同)。设B水库向甲、乙、丙、丁供水量为x(5),x(6),x(7),x(8) 。C水库向甲、乙、丙供水量为x(9),x(10),x(11)。设自来水公司的获利为z(单位为元)。
z=(900-450)*(x(1)+x(2)+x(3)+x(4) )+x(5)+x(6)+x(7)+x(8)+x(9)+x(10)+x(11))-(160*x(1)+130*x(2)+220*x(3)+170*x(4)+140*x(5)+130*x(6)+190*x(7)+150*x(8)+190*x(9)+200*x(10)+230*x(11)=290*x(1)+320*x(2)+230*x(3)+280*x(4)+310*x(5)+320*x(6)+260*x(7)+300*x(8)+260*x(9)+250*x(10)+220*x(11)
约束条件为:
x(1)+x(2)+x(3)+x(4)≤50 (1)
x(5)+x(6)+x(7)+x(8)≤60 (2)
x(9)+x(10)+x(11)≤50 (3)
x(1)+x(5)+x(9)≤30+50 (4)
x(2)+x(6)+x(10)≤70+70 (5)
x(3)+x(7)+x(11)≤10+20 (6)
x(4)+x(8)≤10+40 (7)
x(1)+x(5)+x(9)≥30 (8)
x(2)+x(6)+x(10)≥70 (9)
x(3)+x(7)+x(11)≥10 (10)
x(4)+x(8)≥10 (11)
x(i)≥0, i=1,2,3,4,5,6,7,8,9,10,11 (12)
本题要求解z的最大值,即求解(-z)的最小值。这是一个线性规划的问题。用MATLAB求解,程序如下:
c=-[290,320,230,280,310,320,260,300,260,250,220];
% 加负号将求极大化为求极小
part=[eye(3);zeros(1,3)];
%A1=[ 1 1 1 1 0 0 0 0 0 0 0
% 0 0 0 0 1 1 1 1 0 0 0
% 0 0 0 0 0 0 0 0 1 1 1
% 1 0 0 0 1 0 0 0 1 0 0
% 0 1 0 0 0 1 0 0 0 1 0
% 0 0 1 0 0 0 1 0 0 0 1
% 0 0 0 1 0 0 0 1 0 0 0
% -1 0 0 0 -1 0 0 0 -1 0 0
% 0 -1 0 0 0 -1 0 0 0 -1 0
% 0 0 -1 0 0 0 -1 0 0 0 -1
% 0 0 0 -1 0 0 0 -1 0 0 0 ]
A1=[ones(1,4),zeros(1,7);zeros(1,4),ones(1,4),zeros(1,3);zeros(1,8),ones(1,3);eye(4),eye(4),part;-eye(4),-eye(4),-part];
b1=[50,60,50,80,140,30,50,-30,-70,-10,-10];
v1=[0,0,0,0,0,0,0,0,0,0,0];
%下界
[x,f,exitflag,output,lag]=linprog(c,A1,b1,[],[],v1)
得到最优解为 x=[0,50,0,0,0,50,0,10,40,0,10],最优值为 f=-47600(最大值z=-f=47600),exitflag=1(收敛)。列表如下:
供水量/kt 甲 乙 丙 丁
A 0 50 0 0
B 0 50 0 10
C 40 0 10 /
该公司如此分配供水量,才能获利最多,为47600元。
若三个水库每天的最大供水量都提高一倍,则目标函数不变,约束条件(4)~(12)不变,(1)~(3)改变,如下:
x(1)+x(2)+x(3)+x(4)≤100 (1)
x(5)+x(6)+x(7)+x(8)≤120 (2)
x(9)+x(10)+x(11)≤100 (3)
用MATLAB求解,程序如下:
c=-[290,320,230,280,310,320,260,300,260,250,220];
% 加负号将求极大化为求极小
part=[eye(3);zeros(1,3)];
%A1=[ 1 1 1 1 0 0 0 0 0 0 0
% 0 0 0 0 1 1 1 1 0 0 0
% 0 0 0 0 0 0 0 0 1 1 1
% 1 0 0 0 1 0 0 0 1 0 0
% 0 1 0 0 0 1 0 0 0 1 0
% 0 0 1 0 0 0 1 0 0 0 1
% 0 0 0 1 0 0 0 1 0 0 0
% -1 0 0 0 -1 0 0 0 -1 0 0
% 0 -1 0 0 0 -1 0 0 0 -1 0
% 0 0 -1 0 0 0 -1 0 0 0 -1
% 0 0 0 -1 0 0 0 -1 0 0 0 ]
A1=[ones(1,4),zeros(1,7);zeros(1,4),ones(1,4),zeros(1,3);zeros(1,8),ones(1,3);eye(4),eye(4),part;-eye(4),-eye(4),-part];
b1=[100,120,100,80,140,30,50,-30,-70,-10,-10];
v1=[0,0,0,0,0,0,0,0,0,0,0];
%下界
[x,f,exitflag,output,lag]=linprog(c,A1,b1,[],[],v1)
得到最优解为 x=[0,100,0,0,30,40,0,50,50,0,30],最优值 f=-88700(最大值z=-f=88700),exitflag=1(收敛)。列表如下:
供水量/kt 甲 乙 丙 丁
A 0 100 0 0
B 30 40 0 50
C 50 0 30 /
三个水库每天的最大供水量都提高一倍后,该公司如此分配供水量,才能获利最多,为88700元,相比之前提高了41100元。

热点内容
四川农业大学申请考核博士 发布:2025-10-20 08:58:11 浏览:981
福田雷沃重工本科生待遇怎么样 发布:2025-10-20 08:53:49 浏览:575
华为要本科生吗 发布:2025-10-20 08:25:41 浏览:550
2008年青岛本科生工资 发布:2025-10-20 08:04:24 浏览:444
东北大学艺术考研 发布:2025-10-20 07:38:35 浏览:299
我的大学生活txt 发布:2025-10-20 07:35:28 浏览:25
人民大学外语系考研 发布:2025-10-20 07:31:12 浏览:894
上海交通大学考研辅导班 发布:2025-10-20 07:24:54 浏览:420
华中农业大学细胞生物学考研群 发布:2025-10-20 07:09:36 浏览:558
南京大学2016考研线 发布:2025-10-20 06:43:12 浏览:930