Re: [問題]要給定矩陣中的值一個範圍
※ 引述《lestelle (希望永遠是晴天)》之銘言:
: 請問各位高手,
: 我要在一個矩陣中,讓它的值介於一個範圍
: 例如 一個矩陣 a =[120 222 21 105 99]
: 要令它變成另一個矩陣 a=[3 5 1 3 2]
: 判斷式如: a(a<=50) ==1;
: a(50<a<=100) ==2;
: a(100<a<=150) ==3;
: a(150<a<=200) ==4;
: a(200<a<=250) ==5;
: 但是這個程式跑出來的答案是5,也就是 a= [5 5 5 5 5]
: 請問各位高手我該怎麼改寫呢?
請改成這樣:
a =[120 222 21 105 99]
a(a<=50)=1;
a(50<a & a<=100)=2;
a(100<a & a<=150)=3;
a(150<a & a<=200)=4;
a(200<a & a<=250)=5
要用「程式碼」指定一個範圍不能用「數學上的範圍」表示法,
因為它們的意義是不相同的。
50<a<=100程式碼的意義是,先作50<a,然後得到一個邏輯向量,
0代表該元素不大於50、1代表該元素大於50。
然後邏輯向量再作<=100的比較,然後得到一個邏輯向量(全為1,因為0<=100、1<=100),
所以這並不是你要的結果。
總之,要知到「程式語言」與「數學語言」並不是都是一致的。
--
西方三聖:http://p8.p.pixnet.net/albums/userpics/8/3/553683/1193661731.jpg
《佛說阿彌陀經》http://web.cc.ncu.edu.tw/~93501025/amtf.doc
《觀世音菩薩普門品》http://web.cc.ncu.edu.tw/~93501025/pmp.doc
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.204.3
推
02/16 12:09, , 1F
02/16 12:09, 1F
※ 編輯: zxvc 來自: 140.115.204.3 (02/16 14:12)
→
02/16 14:12, , 2F
02/16 14:12, 2F
推
02/17 11:18, , 3F
02/17 11:18, 3F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章