星期五, 11月 17, 2006

work6


第一題
Run the function "freebody " in section 6.2
finding the height of the ball in terms of elapsed time
in an interval of 0 to 30 seconds with an increment of 0.2 second.
% 第一題程式碼 %
clc
clear all
close all
time=input('這是一個自由落体的公式,請輸入時間\n');
free(time); %呼叫free function%

% free function %

function y=free(time);
a=length(time);
for n=1:a;
y=1/2*980*time(n).*time(n);
fprintf('當第%0.1f秒時,落下%4.3f公尺\n',time(n),y/100);
end

% 第一題執行結果 %
這是一個自由落体的公式,請輸入時間
[0:0.2:30]
當第0.0秒時,落下0.000公尺 當第0.2秒時,落下0.196公尺 當第0.4秒時,落下0.784公尺
當第0.6秒時,落下1.764公尺 當第0.8秒時,落下3.136公尺 當第1.0秒時,落下4.900公尺
當第1.2秒時,落下7.056公尺 當第1.4秒時,落下9.604公尺 當第1.6秒時,落下12.544公尺
當第1.8秒時,落下15.876公尺 當第2.0秒時,落下19.600公尺 當第2.2秒時,落下23.716公尺
當第2.4秒時,落下28.224公尺 當第2.6秒時,落下33.124公尺 當第2.8秒時,落下38.416公尺
當第3.0秒時,落下44.100公尺 當第3.2秒時,落下50.176公尺 當第3.4秒時,落下56.644公尺
當第3.6秒時,落下63.504公尺 當第3.8秒時,落下70.756公尺 當第4.0秒時,落下78.400公尺
當第4.2秒時,落下86.436公尺 當第4.4秒時,落下94.864公尺 當第4.6秒時,落下103.684公尺
當第4.8秒時,落下112.896公尺 當第5.0秒時,落下122.500公尺 當第5.2秒時,落下132.496公尺
當第5.4秒時,落下142.884公尺 當第5.6秒時,落下153.664公尺 當第5.8秒時,落下164.836公尺
當第6.0秒時,落下176.400公尺 當第6.2秒時,落下188.356公尺 當第6.4秒時,落下200.704公尺
當第6.6秒時,落下213.444公尺 當第6.8秒時,落下226.576公尺 當第7.0秒時,落下240.100公尺
當第7.2秒時,落下254.016公尺 當第7.4秒時,落下268.324公尺 當第7.6秒時,落下283.024公尺
當第7.8秒時,落下298.116公尺 當第8.0秒時,落下313.600公尺 當第8.2秒時,落下329.476公尺
當第8.4秒時,落下345.744公尺 當第8.6秒時,落下362.404公尺 當第8.8秒時,落下379.456公尺
當第9.0秒時,落下396.900公尺 當第9.2秒時,落下414.736公尺 當第9.4秒時,落下432.964公尺
當第9.6秒時,落下451.584公尺 當第9.8秒時,落下470.596公尺 當第10.0秒時,落下490.000公尺
當第10.2秒時,落下509.796公尺 當第10.4秒時,落下529.984公尺 當第10.6秒時,落下550.564公尺
當第10.8秒時,落下571.536公尺 當第11.0秒時,落下592.900公尺 當第11.2秒時,落下614.656公尺
當第11.4秒時,落下636.804公尺 當第11.6秒時,落下659.344公尺 當第11.8秒時,落下682.276公尺
當第12.0秒時,落下705.600公尺 當第12.2秒時,落下729.316公尺 當第12.4秒時,落下753.424公尺
當第12.6秒時,落下777.924公尺 當第12.8秒時,落下802.816公尺 當第13.0秒時,落下828.100公尺
當第13.2秒時,落下853.776公尺 當第13.4秒時,落下879.844公尺 當第13.6秒時,落下906.304公尺
當第13.8秒時,落下933.156公尺 當第14.0秒時,落下960.400公尺 當第14.2秒時,落下988.036公尺
當第14.4秒時,落下1016.064公尺 當第14.6秒時,落下1044.484公尺 當第14.8秒時,落下1073.296公尺
當第15.0秒時,落下1102.500公尺 當第15.2秒時,落下1132.096公尺 當第15.4秒時,落下1162.084公尺
當第15.6秒時,落下1192.464公尺 當第15.8秒時,落下1223.236公尺 當第16.0秒時,落下1254.400公尺
當第16.2秒時,落下1285.956公尺 當第16.4秒時,落下1317.904公尺 當第16.6秒時,落下1350.244公尺
當第16.8秒時,落下1382.976公尺 當第17.0秒時,落下1416.100公尺 當第17.2秒時,落下1449.616公尺
當第17.4秒時,落下1483.524公尺 當第17.6秒時,落下1517.824公尺 當第17.8秒時,落下1552.516公尺
當第18.0秒時,落下1587.600公尺 當第18.2秒時,落下1623.076公尺 當第18.4秒時,落下1658.944公尺
當第18.6秒時,落下1695.204公尺 當第18.8秒時,落下1731.856公尺 當第19.0秒時,落下1768.900公尺
當第19.2秒時,落下1806.336公尺 當第19.4秒時,落下1844.164公尺 當第19.6秒時,落下1882.384公尺
當第19.8秒時,落下1920.996公尺 當第20.0秒時,落下1960.000公尺 當第20.2秒時,落下1999.396公尺
當第20.4秒時,落下2039.184公尺 當第20.6秒時,落下2079.364公尺 當第20.8秒時,落下2119.936公尺
當第21.0秒時,落下2160.900公尺 當第21.2秒時,落下2202.256公尺 當第21.4秒時,落下2244.004公尺
當第21.6秒時,落下2286.144公尺 當第21.8秒時,落下2328.676公尺 當第22.0秒時,落下2371.600公尺
當第22.2秒時,落下2414.916公尺 當第22.4秒時,落下2458.624公尺 當第22.6秒時,落下2502.724公尺
當第22.8秒時,落下2547.216公尺 當第23.0秒時,落下2592.100公尺 當第23.2秒時,落下2637.376公尺
當第23.4秒時,落下2683.044公尺 當第23.6秒時,落下2729.104公尺 當第23.8秒時,落下2775.556公尺
當第24.0秒時,落下2822.400公尺 當第24.2秒時,落下2869.636公尺 當第24.4秒時,落下2917.264公尺
當第24.6秒時,落下2965.284公尺 當第24.8秒時,落下3013.696公尺 當第25.0秒時,落下3062.500公尺
當第25.2秒時,落下3111.696公尺 當第25.4秒時,落下3161.284公尺 當第25.6秒時,落下3211.264公尺
當第25.8秒時,落下3261.636公尺 當第26.0秒時,落下3312.400公尺 當第26.2秒時,落下3363.556公尺
當第26.4秒時,落下3415.104公尺 當第26.6秒時,落下3467.044公尺 當第26.8秒時,落下3519.376公尺
當第27.0秒時,落下3572.100公尺 當第27.2秒時,落下3625.216公尺 當第27.4秒時,落下3678.724公尺
當第27.6秒時,落下3732.624公尺 當第27.8秒時,落下3786.916公尺 當第28.0秒時,落下3841.600公尺
當第28.2秒時,落下3896.676公尺 當第28.4秒時,落下3952.144公尺 當第28.6秒時,落下4008.004公尺
當第28.8秒時,落下4064.256公尺 當第29.0秒時,落下4120.900公尺 當第29.2秒時,落下4177.936公尺
當第29.4秒時,落下4235.364公尺 當第29.6秒時,落下4293.184公尺 當第29.8秒時,落下4351.396公尺
當第30.0秒時,落下4410.000公尺
>>
第二題
Draw two circles with radii of 3 and 5 cm each and their centers located at (0,0)and(10,0)cm
% 第二題程式碼 %
function drawcircles(r) % 主函數
global I
n=length(r)
hold on;
for I=1:n
[X,Y]=circ(r(I));
plot(X,Y);
end
hold off;
axis equal;
end
function [x,y]=circ(rr)%次函數
% Calculate the points of a circle.
[xx,yy]=randxy;
theta=linspace(0,2*pi,60);
x=xx+rr*cos(theta);
y=yy+rr*sin(theta);
end
function [xx,yy]=randxy%次函數
global I
A=[0 10]
B=[0 0]
xx=A(I)
yy=B(I)
end
% 第二題執行結果 %


第三題
Using an implicit function(匿名函數)to find the result for the formula y=x²/a²+y²/b²,
in which a=3, b=5, and y=[12 15 20] for x=[3 4 5]. Draw the graphs.

% 第三題程式碼 %

a=3;b=5;y=[12 15 20];fplot(@(x) ((x.^2)./a^2+(y.^2)./b^2),[3 5])

% 第三題結果 %


第四題
A plate ring has a thickness of 2 cm,
with inner and outer diameters of 3 cm and 5 cm,
respectively.Using the above parameters as inputs of a function
to find the area of its upper face and side wall as well as the volume.

% 第四題程式碼 %
clc
clear all
close all
D=input('這是求圓柱體積和表面積的程式,請輸入外徑\n');
d=input('這是求圓柱體積和表面積的程式,請輸入內徑\n');
h=input('這是求圓柱體積和表面積的程式,請輸入圓柱高\n');
cr(D,d,h); % 呼叫function cr %

% function cr %
function [v,s]=cr(D,d,h);
v=(D/2-d/2)^2*pi*h %體積
s=v*2+(D/2-d/2)^2*pi*2 %表面積

% 第四題結果 %

這是求圓柱體積和表面積的程式,請輸入外徑
5
這是求圓柱體積和表面積的程式,請輸入內徑
3
這是求圓柱體積和表面積的程式,請輸入圓柱高
2
v =
6.2832
s =
18.8496

第五題
Rewrite the function "nest_fun" in the text by moving
the nested function polyx(xx) outside of the main function
so that the function will still produce the same results.

% 第五題程式碼 %
function [rr_array]=nest_fun1(x,a)% 主程式
n=size(a);
global A;global B;global C;;
for i=1:n
A=a(i,1);B=a(i,2);C=a(i,3);
rr_array{1,i}=['A=',num2str(A),', B=',...
num2str(B),', C=',num2str(C)];
rr_array{2,i}=polyx(x);
end
end % 主程式結束

function r=polyx(xx) % 次程式...把它移出主程式了
global A;global B;global C;;
r=A.*xx.^2+B.*xx+C;
end % 次程式結束

% 第五題結果 %

rr=nest_fun1(2:10,[1 2 4;2 4 8]) %在command window 下執行

rr =
'A=1, B=2, C=4' 'A=2, B=4, C=8'
[1x9 double] [1x9 double]


celldisp(rr) %在command window下執行

rr{1,1} =
A=1, B=2, C=4

rr{2,1} =
12 19 28 39 52 67 84 103 124

rr{1,2} =
A=2, B=4, C=8

rr{2,2} =
24 38 56 78 104 134 168 206 248

第六題
rewrite the function "pillar" to make sure
it will run smoothly even the inputs are not sufficient for the function to run.

% 第六題程式碼 %
function [volume]=pillar(Do,Di,height)
if nargin<1 % 當你什麼都沒輸入時會執行這個
height=1;
Di=0;
Do=1;
end
if nargin<2 % 當你只輸入一個值時會執行這個
Di=0;
height=1;
end
if nargin<3 % 當你只輸入二個值時會執行這個
height=1;
end
volume=abs(Do.^2-Di.^2).*height*pi/4;

1 則留言:

ncbee 提到...

第一題
Run the function "freebody " in section 6.2
finding the height of the ball in terms of elapsed time
in an interval of 0 to 30 seconds with an increment of 0.2 second.
% 第一題程式碼 %
clc
clear all
close all
time=input('這是一個自由落体的公式,請輸入時間\n');
free(time); %呼叫free function%

% free function %

function y=free(time);
a=length(time);
for n=1:a;
y=1/2*980*time(n).*time(n);
fprintf('當第%0.1f秒時,落下%4.3f公尺\n',time(n),y/100);
end

% 第一題執行結果 %
這是一個自由落体的公式,請輸入時間
[0:0.2:30]
當第0.0秒時,落下0.000公尺 當第0.2秒時,落下0.196公尺 當第0.4秒時,落下0.784公尺
當第0.6秒時,落下1.764公尺 當第0.8秒時,落下3.136公尺 當第1.0秒時,落下4.900公尺
當第1.2秒時,落下7.056公尺 當第1.4秒時,落下9.604公尺 當第1.6秒時,落下12.544公尺
當第1.8秒時,落下15.876公尺 當第2.0秒時,落下19.600公尺 當第2.2秒時,落下23.716公尺
當第2.4秒時,落下28.224公尺 當第2.6秒時,落下33.124公尺 當第2.8秒時,落下38.416公尺
當第3.0秒時,落下44.100公尺 當第3.2秒時,落下50.176公尺 當第3.4秒時,落下56.644公尺
當第3.6秒時,落下63.504公尺 當第3.8秒時,落下70.756公尺 當第4.0秒時,落下78.400公尺
當第4.2秒時,落下86.436公尺 當第4.4秒時,落下94.864公尺 當第4.6秒時,落下103.684公尺
當第4.8秒時,落下112.896公尺 當第5.0秒時,落下122.500公尺 當第5.2秒時,落下132.496公尺
當第5.4秒時,落下142.884公尺 當第5.6秒時,落下153.664公尺 當第5.8秒時,落下164.836公尺
當第6.0秒時,落下176.400公尺 當第6.2秒時,落下188.356公尺 當第6.4秒時,落下200.704公尺
當第6.6秒時,落下213.444公尺 當第6.8秒時,落下226.576公尺 當第7.0秒時,落下240.100公尺
當第7.2秒時,落下254.016公尺 當第7.4秒時,落下268.324公尺 當第7.6秒時,落下283.024公尺
當第7.8秒時,落下298.116公尺 當第8.0秒時,落下313.600公尺 當第8.2秒時,落下329.476公尺
當第8.4秒時,落下345.744公尺 當第8.6秒時,落下362.404公尺 當第8.8秒時,落下379.456公尺
當第9.0秒時,落下396.900公尺 當第9.2秒時,落下414.736公尺 當第9.4秒時,落下432.964公尺
當第9.6秒時,落下451.584公尺 當第9.8秒時,落下470.596公尺 當第10.0秒時,落下490.000公尺
當第10.2秒時,落下509.796公尺 當第10.4秒時,落下529.984公尺 當第10.6秒時,落下550.564公尺
當第10.8秒時,落下571.536公尺 當第11.0秒時,落下592.900公尺 當第11.2秒時,落下614.656公尺
當第11.4秒時,落下636.804公尺 當第11.6秒時,落下659.344公尺 當第11.8秒時,落下682.276公尺
當第12.0秒時,落下705.600公尺 當第12.2秒時,落下729.316公尺 當第12.4秒時,落下753.424公尺
當第12.6秒時,落下777.924公尺 當第12.8秒時,落下802.816公尺 當第13.0秒時,落下828.100公尺
當第13.2秒時,落下853.776公尺 當第13.4秒時,落下879.844公尺 當第13.6秒時,落下906.304公尺
當第13.8秒時,落下933.156公尺 當第14.0秒時,落下960.400公尺 當第14.2秒時,落下988.036公尺
當第14.4秒時,落下1016.064公尺 當第14.6秒時,落下1044.484公尺 當第14.8秒時,落下1073.296公尺
當第15.0秒時,落下1102.500公尺 當第15.2秒時,落下1132.096公尺 當第15.4秒時,落下1162.084公尺
當第15.6秒時,落下1192.464公尺 當第15.8秒時,落下1223.236公尺 當第16.0秒時,落下1254.400公尺
當第16.2秒時,落下1285.956公尺 當第16.4秒時,落下1317.904公尺 當第16.6秒時,落下1350.244公尺
當第16.8秒時,落下1382.976公尺 當第17.0秒時,落下1416.100公尺 當第17.2秒時,落下1449.616公尺
當第17.4秒時,落下1483.524公尺 當第17.6秒時,落下1517.824公尺 當第17.8秒時,落下1552.516公尺
當第18.0秒時,落下1587.600公尺 當第18.2秒時,落下1623.076公尺 當第18.4秒時,落下1658.944公尺
當第18.6秒時,落下1695.204公尺 當第18.8秒時,落下1731.856公尺 當第19.0秒時,落下1768.900公尺
當第19.2秒時,落下1806.336公尺 當第19.4秒時,落下1844.164公尺 當第19.6秒時,落下1882.384公尺
當第19.8秒時,落下1920.996公尺 當第20.0秒時,落下1960.000公尺 當第20.2秒時,落下1999.396公尺
當第20.4秒時,落下2039.184公尺 當第20.6秒時,落下2079.364公尺 當第20.8秒時,落下2119.936公尺
當第21.0秒時,落下2160.900公尺 當第21.2秒時,落下2202.256公尺 當第21.4秒時,落下2244.004公尺
當第21.6秒時,落下2286.144公尺 當第21.8秒時,落下2328.676公尺 當第22.0秒時,落下2371.600公尺
當第22.2秒時,落下2414.916公尺 當第22.4秒時,落下2458.624公尺 當第22.6秒時,落下2502.724公尺
當第22.8秒時,落下2547.216公尺 當第23.0秒時,落下2592.100公尺 當第23.2秒時,落下2637.376公尺
當第23.4秒時,落下2683.044公尺 當第23.6秒時,落下2729.104公尺 當第23.8秒時,落下2775.556公尺
當第24.0秒時,落下2822.400公尺 當第24.2秒時,落下2869.636公尺 當第24.4秒時,落下2917.264公尺
當第24.6秒時,落下2965.284公尺 當第24.8秒時,落下3013.696公尺 當第25.0秒時,落下3062.500公尺
當第25.2秒時,落下3111.696公尺 當第25.4秒時,落下3161.284公尺 當第25.6秒時,落下3211.264公尺
當第25.8秒時,落下3261.636公尺 當第26.0秒時,落下3312.400公尺 當第26.2秒時,落下3363.556公尺
當第26.4秒時,落下3415.104公尺 當第26.6秒時,落下3467.044公尺 當第26.8秒時,落下3519.376公尺
當第27.0秒時,落下3572.100公尺 當第27.2秒時,落下3625.216公尺 當第27.4秒時,落下3678.724公尺
當第27.6秒時,落下3732.624公尺 當第27.8秒時,落下3786.916公尺 當第28.0秒時,落下3841.600公尺
當第28.2秒時,落下3896.676公尺 當第28.4秒時,落下3952.144公尺 當第28.6秒時,落下4008.004公尺
當第28.8秒時,落下4064.256公尺 當第29.0秒時,落下4120.900公尺 當第29.2秒時,落下4177.936公尺
當第29.4秒時,落下4235.364公尺 當第29.6秒時,落下4293.184公尺 當第29.8秒時,落下4351.396公尺
當第30.0秒時,落下4410.000公尺
>>
第二題
Draw two circles with radii of 3 and 5 cm each and their centers located at (0,0)and(10,0)cm
% 第二題程式碼 %
function drawcircles(r) % 主函數
global I
n=length(r)
hold on;
for I=1:n
[X,Y]=circ(r(I));
plot(X,Y);
end
hold off;
axis equal;
end
function [x,y]=circ(rr)%次函數
% Calculate the points of a circle.
[xx,yy]=randxy;
theta=linspace(0,2*pi,60);
x=xx+rr*cos(theta);
y=yy+rr*sin(theta);
end
function [xx,yy]=randxy%次函數
global I
A=[0 10]
B=[0 0]
xx=A(I)
yy=B(I)
end
% 第二題執行結果 %
圖片
第三題
Using an implicit function(匿名函數)to find the result for the formula y=x²/a²+y²/b²,
in which a=3, b=5, and y=[12 15 20] for x=[3 4 5]. Draw the graphs.


% 第三題程式碼 %

a=3;b=5;y=[12 15 20];fplot(@(x) ((x.^2)./a^2+(y.^2)./b^2),[3 5])

% 第三題結果 %
圖片

第四題
A plate ring has a thickness of 2 cm,
with inner and outer diameters of 3 cm and 5 cm,
respectively.Using the above parameters as inputs of a function
to find the area of its upper face and side wall as well as the volume.

% 第四題程式碼 %
clc
clear all
close all
D=input('這是求圓柱體積和表面積的程式,請輸入外徑\n');
d=input('這是求圓柱體積和表面積的程式,請輸入內徑\n');
h=input('這是求圓柱體積和表面積的程式,請輸入圓柱高\n');
cr(D,d,h); % 呼叫function cr %

% function cr %
function [v,s]=cr(D,d,h);
v=(D/2-d/2)^2*pi*h %體積
s=v*2+(D/2-d/2)^2*pi*2 %表面積

% 第四題結果 %

這是求圓柱體積和表面積的程式,請輸入外徑
5
這是求圓柱體積和表面積的程式,請輸入內徑
3
這是求圓柱體積和表面積的程式,請輸入圓柱高
2
v =
6.2832
s =
18.8496

第五題
Rewrite the function "nest_fun" in the text by moving
the nested function polyx(xx) outside of the main function
so that the function will still produce the same results.

% 第五題程式碼 %
function [rr_array]=nest_fun1(x,a)% 主程式
n=size(a);
global A;global B;global C;;
for i=1:n
A=a(i,1);B=a(i,2);C=a(i,3);
rr_array{1,i}=['A=',num2str(A),', B=',...
num2str(B),', C=',num2str(C)];
rr_array{2,i}=polyx(x);
end
end % 主程式結束

function r=polyx(xx) % 次程式...把它移出主程式了
global A;global B;global C;;
r=A.*xx.^2+B.*xx+C;
end % 次程式結束

% 第五題結果 %

rr=nest_fun1(2:10,[1 2 4;2 4 8]) %在command window 下執行

rr =
'A=1, B=2, C=4' 'A=2, B=4, C=8'
[1x9 double] [1x9 double]


celldisp(rr) %在command window下執行

rr{1,1} =
A=1, B=2, C=4

rr{2,1} =
12 19 28 39 52 67 84 103 124

rr{1,2} =
A=2, B=4, C=8

rr{2,2} =
24 38 56 78 104 134 168 206 248

第六題
rewrite the function "pillar" to make sure
it will run smoothly even the inputs are not sufficient for the function to run.

% 第六題程式碼 %
function [volume]=pillar(Do,Di,height)
if nargin<1 % 當你什麼都沒輸入時會執行這個
height=1;
Di=0;
Do=1;
end
if nargin<2 % 當你只輸入一個值時會執行這個
Di=0;
height=1;
end
if nargin<3 % 當你只輸入二個值時會執行這個
height=1;
end
volume=abs(Do.^2-Di.^2).*height*pi/4;

花蓮的海豚

花蓮的海豚