林書如: 人體受外力牽拉後引發之姿勢反應_肌肉活化情形_finale
請按標題連結至程式網頁.....
The blog is for students who attend the course of 'Applications of Matlab in Engineering' to submit their homeworks, discussions and classnotes. Related blog can be refered to http://bime-matlab.blogspot.com. Students's work should be posted to this blog through a specified email address under a preset or self-defined title with proper contents. Students also have to leave their comments consistently to all the posted titles. Both posting material and comments will be graded later.
請按標題連結至程式網頁.....
張貼者:
ShuRuLin
於
1/12/2007 12:36:00 下午
0
意見
標籤: 林書如
延續上禮拜的程式
本週新加入了:(1)各個牽拉強度下3次測試IEMG平均值及標準差計算;以及(2)Missing data的處理。
張貼者:
ShuRuLin
於
12/29/2006 12:58:00 下午
0
意見
標籤: 林書如
延續上禮拜的程式內容,更新了onset時間輸入方式,並且在新程式中加入"可同時計算多位受試者以及多個測試的IEMG結果"的功能。
張貼者:
ShuRuLin
於
12/22/2006 12:19:00 下午
0
意見
標籤: 林書如
因為脫離物理這門學科太久了
所以老師網頁上的題目都讓我覺得很陌生....
因此,我是以網頁內跟統計較相關的程式"度數分配程式"做了一些修正以及增加一些小指令,以敘述統計方式呈現學生期中考成績分佈情形。
張貼者:
ShuRuLin
於
12/08/2006 06:44:00 下午
0
意見
標籤: 林書如
前言:
BMI指數可以反映出體重是否處於理想狀態。過去已有許多文獻指出BMI指數過高往往是造成糖尿病、高血壓,甚至是心血管疾病的危險因子。因此,適度地監控自己的BMI指數是否處於正常值內是很重要的。
問題:
試寫出一個函數,當輸入體重和身高的數值後,能計算出其身體質量指數BMI值。並且依據其BMI值判斷其是否有體重過重或過輕的問題。(18.5<=BMI<24時顯示"體重標準",BMI>24時顯示"體重過重",BMI<18.5時顯示"體重過輕")
指令:
一開始我寫了一個比較簡單敘述檔案(Script file)
function [A]=BMI(w,h)
% BMI(Body Mass Index) calculation
A=w/h^2; % A means BMI
if 18.5<=A & A<24
fprintf('BMI=%0.2f 體重標準\n',A)
elseif A<18.5
fprintf('BMI=%0.2f 體重過輕\n',A)
else
fprintf('BMI=%0.2f 體重過重\n',A)
end
模擬輸出結果:
>> BMI(60,1.5)
BMI=26.67 體重過重
ans =
26.6667
結果顯示,一位體重60公斤,身高150公分的人,其BMI指數為26.67,有體重過重的傾向
==============================================
但是,為了能夠加上交談的功能,讓使用者更能清楚地了解應該輸入的內容
例如,輸入之體重應以公斤為單位,輸入之身高應以公尺為單位
因此我又改寫成另一個函數檔(function file),如下
% BMI2.m
% BMI(Body Mass Index) calculation
a=input('Please keyin your body weight? (kg)');
if isnumeric(a)
b=input('Please keyin your body height? (m)');
B=a/b^2; % B means BMI
if 18.5<=B & B<24
fprintf('BMI=%0.2f 體重標準\n',B)
elseif B<18.5
fprintf('BMI=%0.2f 體重過輕\n',B)
else
fprintf('BMI=%0.2f 體重過重\n',B)
end
end
模擬輸出結果:
>> BMI2
Please keyin your body weight? (kg)60
Please keyin your body height? (m)1.5
BMI=26.67 體重過重
結果同上,一位體重60公斤,身高150公分的人,其BMI指數為26.67,有體重過重的傾向
討論:
我是以簡單的if-elseif指令來撰寫這兩個小程式
程式中如果還有可以補強的地方(例如發現程式的bias,或是其實還有更簡單的寫法),還麻煩大家提供意見 :p
張貼者:
ShuRuLin
於
11/02/2006 07:52:00 下午
3
意見
標籤: 林書如
>> % Quesiotn 1
>> % 題旨:將華氏溫度轉換為攝氏溫度,並且定義出溫度大於38度c者為1
>> B=[98 100 102 104 98.4 98.2 98.5 101 102 99.5]; % 所有被測者的華氏體溫
>> c=(B-32)*5/9 % 將華氏溫度換算為攝氏溫度
c =
Columns 1 through 8
36.6667 37.7778 38.8889 40.0000 36.8889 36.7778
36.9444 38.3333
Columns 9 through 10
38.8889 37.5000
>> D=c>38 % 將攝氏溫度大於38度c者定義為1,得一新矩陣D
D =
0 0 1 1 0 0 0 1 1 0
>> % 執行結果: 換算後的攝氏溫度為[36.6667 37.7778 38.8889 40.0000 36.8889 36.7778
>> 36.9444 38.3333 38.8889 37.5000]; 定義體溫大於38度c的matrix D=[0 0 1 1 0 0
>> 0 1 1 0]
>> % 討論: 定義出高體溫者之後,若現實上受測者有編號,則可以利用尋找索引值的方式輕易找出高體溫者為誰
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>> % Quesiotn 2
>> % 題旨:比較矩陣A與矩陣B
>> A=[-10 8 6 4 -5 20];
>> B=[2 8 5 10 -6 3];
>> D=A>B % 矩陣A與矩陣B一對一比較,A>B者定義為1,其餘為0
D =
0 0 1 0 1 1
>> D=A>5 % 矩陣A中數值>5者定義為1,其餘為0
D =
0 1 1 0 0 1
>> D=A+B % 將矩陣A與矩陣B相加
D =
-8 16 11 14 -11 23
>> % 執行結果: (1) D=[0 0 1 0 1 1] (2) D= [0 1 1 0 0 1] (3) D=[-8 16 11 14 -11 23]
>> % 討論:矩陣A與矩陣B排列相同,因此兩者可以直接做比較與計算
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>> % Quesiotn 3
>> % 題旨:進行矩陣x與矩陣y之計算
>> x=[10 20 30];
>> y=[1 4 6];
>> A=3*x+y
A =
31 64 96
>> B=5*y./x
B =
0.5000 1.0000 1.0000
>> C=4*2*y
C =
8 32 48
>> D=sin(x).*cos(y)
D =
-0.2939 -0.5967 -0.9487
>> E=5*x.*sin(2*y)
E =
45.4649 98.9358 -80.4859
>> % 執行結果: A= [31 64 96], B= [0.5000 1.0000 1.0000], C=[8 32 48], D=
>> [-0.2939 -0.5967 -0.9487], E= [45.4649 98.9358 -80.4859]
>> % 討論:重點在於元素對元素的計算符號是在矩陣的計算符號之前加上"."
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
% Quesiotn 3
% 題旨:撰寫一個計算多個電阻分別串聯與並聯後之總電阻的M-file
R=[10 30 200 400];
R1=sum(R) % 串聯後之總電阻R1為四個電阻之總合 R1=r1+r2+r3+r4
R2=1/sum(1./R) % 並聯後之總電阻R2=1/(1/r1+1/r2+1/r3+1/r4)
>> % 在command window下執行M-file
>> % 執行結果: 串聯後之總電阻R1為640歐姆; 並聯後之總電阻R2為7.1006歐姆
>> % 討論:計算R矩陣中各個element的倒數不能單純以1/R指令執行,而需在/之前加上.才可順利算出數值
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>> % Question 5
>> % 將矩陣A(1x24)轉置為B (3x8), C(6x4), D(2x12)三種不同排列方式之矩陣
>> A=[1:24];
>> B=reshape(A,3,8)
B =
1 4 7 10 13 16 19 22
2 5 8 11 14 17 20 23
3 6 9 12 15 18 21 24
>> C=reshape(A,6,4)
C =
1 7 13 19
2 8 14 20
3 9 15 21
4 10 16 22
5 11 17 23
6 12 18 24
>> D=reshape(A,2,12)
D =
1 3 5 7 9 11 13 15 17 19 21 23
2 4 6 8 10 12 14 16 18 20 22 24
>> % 執行結果:如上所示之B、C、D三矩陣
>> %
>> 討論:使用reshape(A,m,n)方式將陣列A的元素由上到下,由左到右的次序重新排列成一個新的m×n的矩陣。使用reshape函數時,重排後矩陣元素的個數必須與原矩陣相同。
張貼者:
不留白老人
於
10/05/2006 11:21:00 下午
0
意見
標籤: 林書如
今天才加簽成功所以補交上禮拜作業
>> ===========================================================================
>> % Question 1
>> % To find out the power of the tractor
>> f=200; % 曳引機(tractor)拉力f為200公斤
>> d=20; % 向前拉動20m
>> J=0.101972; % 單位換算1 J=0.101972kgm
>> t=60; % 需時60秒
>> p=f*d/J/t % 功率p=f*d/J/t
p =
653.7742
>> % 執行結果:所需之功率為653.7742瓦特
>> ===========================================================================
>> % Question 2
>> % Find the line current and power consumption
>> r=1+20+200; % 三電阻器串聯後之總電阻r
>> i=110/r; % 110伏特之電源除以總電阻得流經之電流i
>> p=i*110; % 電流與電壓之乘積得消耗功率
>> i
i =
0.4977
>> p
p =
54.7511
>> % 執行結果: 流經之電流為0.4977安培及所耗之功率為54.7511瓦特
>> % 討論: 第一、二題透過已有之物理基礎,了解消耗功率計算之方式,再加以MATLAB語法逐步計算求得解答,並非難事。
>> ===========================================================================
>> % Question 3
>> % To calculate the area of a trangle
>> a=650;
>> b=428;
>> c=282; % 三角形三邊長分別為650、428、282公分
>> r=(a+b+c)/2;
>> area=(r*(r-a)*(r-b)*(r-c))^(1/2) % 以海龍公式計算三角形面積
area =
4.5233e+004
>> % 執行結果: 三角形面積為(4.5233e+004)平方公分
>> ===========================================================================
>> % Quesiotn 4
>> % How many hogs this house can raise?
>> a=52000+84300; % 每小時總散熱量為a
>> h=(a-25000)/600; % 每小時總散熱量a減去照明及設備操作所產生的熱量為所有豬隻能產生的最大熱量
>> % 所有豬隻能產生的最大熱量除以每隻豬每小時產熱後得一數值h
>> floor(h) % 取出小於或等於數值h的最大數目即為合適的豬隻量,以floor(x)指令執行
ans =
185
>> % 執行結果: 豬舍中養185隻豬最合適
>> ===========================================================================
>> % Question 5
>> % Find the flow rate Q
>> L=4; % 堰口寬度L為4呎
>> H=0.9; % 堰口溢流水頭高度H為0.9呎
>> Q=3.33*(L-0.2*H)^(3/2) % 流量為Q
Q =
24.8622
>> % 討論:
>> 一剛開始看到已有公式,不加多想變複製至MATLAB視窗中執行,出現error訊息後才驚覺須以MATLAB語法重新闡述方可順利計算求解,程式語法之撰寫實在需要多加謹慎小心
>> :p
張貼者:
不留白老人
於
9/30/2006 12:40:00 上午
0
意見
標籤: 林書如
Dear 馮老師:
我是今天matlab課程加簽的學生,我已經申請了blog,想邀請老師幫我加入帳號。 謝謝老師。
姓名: 林書如
帳號: ShuRuLin
信箱:r94428004@ntu.edu.tw
祝 心怡
書如
張貼者:
不留白老人
於
9/29/2006 02:21:00 下午
0
意見
標籤: 林書如
以前所提供之作業繳交方式仍然有效,將繼續計分直到期末。由於沒有期末考,故一切作業均在明年一月十二日午夜到期,逾期不收件,請同學注意。