在读普通大学生,都是个人见解,可以私信或者留言讨论,谢绝领导指示,第二章我把实现的结果也放出来,发现太长了,这次就不放实现结果,放代码,并且随着本人学习的深入,很多东西可能会回来再改,非定稿,不对请轻喷。
3.1
function V=Volume(R,d)
%Volume(R,d) 对于某一圆矩形容器,在已知R,d的情况下可得到其内部液体体积
%d为液体体积,R为圆容器高的参数,也为容器底面圆半径
if d<=R
V=1/3*pi*R^2*d
elseif d>3*R
error('water is fall');
else R<d<=3*R
V=1/3*pi*R^2*R+pi*R^2*(d-R)
end
3.2
function F= futureworth(P,i)
%futuerworth为计算其将金额为P的钱存入一个账户后能得到的终值
%P为本金,i为利息率。
n=[1:1:10];
P=input('您的本金是:');
i=input('利息率为:');
F=P.*(1+i).^n;
z=[n;F];
fprintf(' n F\n');
fprintf('%5d %10.3f\n',z);
end
3.3
function A= huankuane(P,i)
%函数huankuane描述根据借款额P与利息率i计算年度还款额。
n=1:1:5;
P=input('您的借款额为:');
i=input('您的利息率为:');
A=P*(i*((1+i).^n))./(((1+i).^n)-1);
z=[n;A];
fprintf(' n A\n');
fprintf('%5d %8.3e\n',z);
end
3.4
function []=ripinjun(Tmean,Tpeak)【直接【】可避免在代码结束输出后再输出一个ans】
%T为计算日平均温度
t=[180:1:242];w=0.017;tpeak=205; %第二小问,第一小问把矩阵t改一下就好了。
Tmean=input('请输入年平均温度:');
Tpeak=input('请输入峰值温度:');
T=Tmean+(Tpeak-Tmean).*cos(w.*(t-tpeak))
end
3.5
function []=sinjishu(x)
Q=sin(0.9);
V1=x;
wucha1=(Q-V1)/Q;
percentage1=sprintf('%2.5f%%',abs(wucha1*100))
yijie=sprintf('%2.5f',V1)
V2=x-x^3/factorial(3);
wucha2=(Q-V2)/Q;
percentage2=sprintf('%2.5f%%',abs(wucha2*100))
erjie=sprintf('%2.5f',V2)
V3=V2+x^5/factorial(5);
wucha3=(Q-V3)/Q;
percentage3=sprintf('%2.5f%%',abs(wucha3*100))
sanjie=sprintf('%2.5f',V3)
V4=V3-x^7/factorial(7);
wucha4=(Q-V4)/Q;
percentage4=sprintf('%2.5f%%',abs(wucha4*100))
sijie=sprintf('%2.5f',V4)
V5=V4+x^9/factorial(9);
wucha5=(Q-V5)/Q;
percentage5=sprintf('%2.8f%%',abs(wucha5*100))
wujie=sprintf('%2.5f',V5)
V6=V5-x^11/factorial(11);
wucha6=(Q-V6)/Q;
percentage6=sprintf('%2.9f%%',abs(wucha6*100))
liujie=sprintf('%2.5f',V6)
V7=V6+x^13/factorial(13);
wucha7=(Q-V7)/Q;
percentage7=sprintf('%2.15f%%',abs(wucha7*100))
qijie=sprintf('%2.5f',V7)
V8=V7-x^15/factorial(15);
wucha8=(Q-V8)/Q;
percentage8=sprintf('%2.16f%%',abs(wucha8*100))
bajiejie=sprintf('%2.5f',V8)
end
【不提倡我的这个办法,很蠢很浪费时间,我是直接输公式后赋值输出,没意思】
3.6
3.7
function []=conversiontable
%描述在不同x、y正负情况下,直角坐标转化为极坐标的情况
x=[2;2;0;-3;-2;-1;0;0;2];
y=[0;1;3;1;0;-2;0;-2;2];
thetatable=[];
r=(sqrt(x.^2+y.^2))';
for i=1:1:9
z=x(i);
h=y(i);
if(z<0)
if(h>0)
theta=(1/tan(h/z))+pi;
elseif(h<0)
theta=(1/tan(h/z))-pi;
else
theta=pi;
end
end
if(z==0)
if(h>0)
theta=pi/2;
elseif(h<0)
theta=-pi/2;
else
theta=0;
end
end
if(z>0)
theta=1/tan(h/z);
end
thetatable(i)=theta;
end
q=[r;thetatable];
fprintf(' x y r thetable\n');
fprintf(' %9d %9d %8.5f %8.6f\n',q);
end
3.8
function grade=lettergrade(score)
if((100>=score)&&(score>=90))
disp('A')
elseif((90>score)&&(score>=80))
disp('B')
elseif((80>score)&&(score>=70))
disp('C')
elseif((70>score)&&(score>=60))
disp('D')
elseif(score<60)
disp('F')
else
error('score must be the 0 to 100')
end
3.9
function speed
n=[0.036,0.020,0.015,0.030,0.022];
S=[0.0001,0.0002,0.0012,0.0007,0.0003];
B=[10,8,20,25,15];
H=[2,1,1.5,3,2.6];
U=(sqrt(S)./n).*((B.*H)./(B+2*H)).^2/3;
fprintf('n S B H U\n')
fprintf('%4.3f,%5.4f,%d,%d,%5.4f\n',[n;S;B;H;U]) 【这个还是很典型,fprintf可以打印出来四列表格】
3.10
function []=displace
x=0:9;
y=((57/6)*x.^3-238.25*x).*(x==0)+((-5/6)*x.^4+(57/6)*x.^3-238.25*x).*(x>0&x<=5)+((-5/6)*(x.^4-(x-5).^5)+(57/6)*x.^3-238.25*x).*(x>5&x<=7)+((-5/6)*(x.^4-(x-5).^5)+75*(x-7).^2+(57/6)*x.^3-238.25*x).*(x>7&x<=8);
plot(x,y)
我把它按照分段函数来做了,我不太能理解这道题他想考察的逻辑是什么