10/10/2006

PROBLEM #3.1:三角函數表

  1. 試做一個三角函數表,第一欄為度數,其區間由0-90度,每間隔為一度,第二欄為正弦值(SINE),第三欄為正切值(TANGENT),兩者之有效數字為小數點後四位數。
  2. 針對第一項主題撰寫一函數檔案,可以隨時改變度數之範圍及小數點之位數。

註:請同學針對本題目直接回應(COMMENT),請勿採用EMAIL方式提交。

6 則留言:

聖峰 提到...

%第一小題程式碼%
clear;
clc;
disp('三角函數表')
for n=0:90
----fprintf('角度為%2d 正弦值為%0.4f 正切值為%0.4f',n,sind(n),tand(n))
----fprintf('\n')
end
%結果%
三角函數表
角度為 0 正弦值為0.0000 正切值為0.0000
角度為 1 正弦值為0.0175 正切值為0.0175
角度為 2 正弦值為0.0349 正切值為0.0349
角度為 3 正弦值為0.0523 正切值為0.0524
角度為 4 正弦值為0.0698 正切值為0.0699
角度為 5 正弦值為0.0872 正切值為0.0875
角度為 6 正弦值為0.1045 正切值為0.1051
角度為 7 正弦值為0.1219 正切值為0.1228
角度為 8 正弦值為0.1392 正切值為0.1405
角度為 9 正弦值為0.1564 正切值為0.1584
角度為10 正弦值為0.1736 正切值為0.1763
角度為11 正弦值為0.1908 正切值為0.1944
角度為12 正弦值為0.2079 正切值為0.2126
角度為13 正弦值為0.2250 正切值為0.2309
角度為14 正弦值為0.2419 正切值為0.2493
角度為15 正弦值為0.2588 正切值為0.2679
角度為16 正弦值為0.2756 正切值為0.2867
角度為17 正弦值為0.2924 正切值為0.3057
角度為18 正弦值為0.3090 正切值為0.3249
角度為19 正弦值為0.3256 正切值為0.3443
角度為20 正弦值為0.3420 正切值為0.3640
角度為21 正弦值為0.3584 正切值為0.3839
角度為22 正弦值為0.3746 正切值為0.4040
角度為23 正弦值為0.3907 正切值為0.4245
角度為24 正弦值為0.4067 正切值為0.4452
角度為25 正弦值為0.4226 正切值為0.4663
角度為26 正弦值為0.4384 正切值為0.4877
角度為27 正弦值為0.4540 正切值為0.5095
角度為28 正弦值為0.4695 正切值為0.5317
角度為29 正弦值為0.4848 正切值為0.5543
角度為30 正弦值為0.5000 正切值為0.5774
角度為31 正弦值為0.5150 正切值為0.6009
角度為32 正弦值為0.5299 正切值為0.6249
角度為33 正弦值為0.5446 正切值為0.6494
角度為34 正弦值為0.5592 正切值為0.6745
角度為35 正弦值為0.5736 正切值為0.7002
角度為36 正弦值為0.5878 正切值為0.7265
角度為37 正弦值為0.6018 正切值為0.7536
角度為38 正弦值為0.6157 正切值為0.7813
角度為39 正弦值為0.6293 正切值為0.8098
角度為40 正弦值為0.6428 正切值為0.8391
角度為41 正弦值為0.6561 正切值為0.8693
角度為42 正弦值為0.6691 正切值為0.9004
角度為43 正弦值為0.6820 正切值為0.9325
角度為44 正弦值為0.6947 正切值為0.9657
角度為45 正弦值為0.7071 正切值為1.0000
角度為46 正弦值為0.7193 正切值為1.0355
角度為47 正弦值為0.7314 正切值為1.0724
角度為48 正弦值為0.7431 正切值為1.1106
角度為49 正弦值為0.7547 正切值為1.1504
角度為50 正弦值為0.7660 正切值為1.1918
角度為51 正弦值為0.7771 正切值為1.2349
角度為52 正弦值為0.7880 正切值為1.2799
角度為53 正弦值為0.7986 正切值為1.3270
角度為54 正弦值為0.8090 正切值為1.3764
角度為55 正弦值為0.8192 正切值為1.4281
角度為56 正弦值為0.8290 正切值為1.4826
角度為57 正弦值為0.8387 正切值為1.5399
角度為58 正弦值為0.8480 正切值為1.6003
角度為59 正弦值為0.8572 正切值為1.6643
角度為60 正弦值為0.8660 正切值為1.7321
角度為61 正弦值為0.8746 正切值為1.8040
角度為62 正弦值為0.8829 正切值為1.8807
角度為63 正弦值為0.8910 正切值為1.9626
角度為64 正弦值為0.8988 正切值為2.0503
角度為65 正弦值為0.9063 正切值為2.1445
角度為66 正弦值為0.9135 正切值為2.2460
角度為67 正弦值為0.9205 正切值為2.3559
角度為68 正弦值為0.9272 正切值為2.4751
角度為69 正弦值為0.9336 正切值為2.6051
角度為70 正弦值為0.9397 正切值為2.7475
角度為71 正弦值為0.9455 正切值為2.9042
角度為72 正弦值為0.9511 正切值為3.0777
角度為73 正弦值為0.9563 正切值為3.2709
角度為74 正弦值為0.9613 正切值為3.4874
角度為75 正弦值為0.9659 正切值為3.7321
角度為76 正弦值為0.9703 正切值為4.0108
角度為77 正弦值為0.9744 正切值為4.3315
角度為78 正弦值為0.9781 正切值為4.7046
角度為79 正弦值為0.9816 正切值為5.1446
角度為80 正弦值為0.9848 正切值為5.6713
角度為81 正弦值為0.9877 正切值為6.3138
角度為82 正弦值為0.9903 正切值為7.1154
角度為83 正弦值為0.9925 正切值為8.1443
角度為84 正弦值為0.9945 正切值為9.5144
角度為85 正弦值為0.9962 正切值為11.4301
角度為86 正弦值為0.9976 正切值為14.3007
角度為87 正弦值為0.9986 正切值為19.0811
角度為88 正弦值為0.9994 正切值為28.6363
角度為89 正弦值為0.9998 正切值為57.2900
角度為90 正弦值為1.0000 正切值為Inf

聖峰 提到...

%第二小題程式碼%
clear;
clc;
disp('這是個角度轉三角函數的程式(sin 和 tan)');
% 以下是可以改變度數之範圍及小數點之位數之程式 %
--xy=input('請選擇您要的小數點位數:取小數點第四位請輸入1,取到小數點第十四位請輸入2\n');
--y=input('請輸入您要轉換的角度或角度範圍\n');
dg(xy,y)% 呼叫function dg %

%function dg%

function [sine,tane]=dg(xy,a);
if xy==1
----format short;
----for n=a
--------fprintf('角度為%2d 正弦值為%0.4f 正切值為%0.4f',n,sind(n),tand(n))
--------fprintf('\n')
----end
else
----format long;
----for n=a
--------fprintf('角度為%2d 正弦值為%0.14f 正切值為%0.14f',n,sind(n),tand(n))
--------fprintf('\n')
----end
end

%執行結果%
這是個角度轉三角函數的程式(sin 和 tan)
請選擇您要的小數點位數:取小數點第四位請輸入1,取到小數點第十四位請輸入2
1
請輸入您要轉換的角度或角度範圍
[0:5]
角度為 0 正弦值為0.0000 正切值為0.0000
角度為 1 正弦值為0.0175 正切值為0.0175
角度為 2 正弦值為0.0349 正切值為0.0349
角度為 3 正弦值為0.0523 正切值為0.0524
角度為 4 正弦值為0.0698 正切值為0.0699
角度為 5 正弦值為0.0872 正切值為0.0875
>>
這是個角度轉三角函數的程式(sin 和 tan)
請選擇您要的小數點位數:取小數點第四位請輸入1,取到小數點第十四位請輸入2
2
請輸入您要轉換的角度或角度範圍
[0:5]
角度為 0 正弦值為0.00000000000000 正切值為0.00000000000000
角度為 1 正弦值為0.01745240643728 正切值為0.01745506492822
角度為 2 正弦值為0.03489949670250 正切值為0.03492076949175
角度為 3 正弦值為0.05233595624294 正切值為0.05240777928304
角度為 4 正弦值為0.06975647374413 正切值為0.06992681194351
角度為 5 正弦值為0.08715574274766 正切值為0.08748866352592
>>

d94631003 提到...

第一小題做個小補充
function p3_1(n)
n=(0:90)';
table=[n sind(n) cosd(n) tand(n)]
subplot(221),plot(n,sind(n)),title('sin'),grid
subplot(222),plot(n,cosd(n)),title('cos'),grid
subplot(223),plot(n,tand(n)),title('tan'),grid
可列出此三角函數表與其輸出的圖形,其中圖形以分割畫面表示。
以下為輸出圖形(順便試試回應區是否能夠貼圖或超連結)

測試結果無法貼圖與超連結 囧rz

d94631003 提到...

按此看圖

月夜不息死心的眼淚 提到...

我也野人獻曝一下,是用很簡單的概念,希望大家不要見笑,以下是我的程式碼

a=[0;90]'

b=sind(a)

c=tand(a)

d=[a b c]

這樣即可作出老師要求的三角函數表,因為是初學者的關係,所以很多概念都很青澀,希望這樣不會太簡略。

月夜不息死心的眼淚 提到...

我也對第一小提做個簡略的補充,以下是我的程式碼

a=[0:90]'

b=sind(a)

c=tand(a)

d=[a b c]

這樣即可作出老師要求之三角函數表,因為小弟是初學者,所以很多概念都很不熟,讓大家不要見笑了。