##title##

2020年12月26日

科學:量子隱形傳態(量子遙傳)、量子纏結

 


量子纏結速度超過光速,但傳遞經典訊息為什麼不能超過光速?

2020年12月25日

科學:科學理論、奧卡姆剃刀原理、思維實驗、佯謬

 


科學是可證偽性(或可否證性),例如「天下烏鴉一般黑」,只要找到一隻白烏鴉就可證偽。如果理論是不能被實驗或觀察推翻,就不能稱為科學。例如「有一種汗是香的」,因為不能證明香汗沒有存在過。

奧卡姆剃刀原理,如無必要,勿增實體。也就是說,如果關於同一個問題有許多種理論,每一種都能作出同樣準確的預言,那麼應該挑選其中使用假定最少的

如果有某個條件是我們無法感知或檢測,就相當於沒有這個條件。例如「天上有閃電是因為我發功招喚一條天龍吐火所以導致」

思維實驗(或思想實驗),用頭腦運行實驗。

佯謬,看上去荒謬,實則是正確的。例如辛普森洋謬。


2020年12月24日

Excel:index+small+if陣列公式,查詢條件後回傳多個值(彌補vlookup或hlookup只能回傳單一值的遺憾)

要回傳值通常會用vlookup或hlookup函數,但只能回傳一個值。要回傳多個值,就必須用上index+small+if再加上陣列公式。

例如:

=INDEX('工作表'!$B:$B,SMALL(IF(('工作表'!$A$2:$A$9998='1221~1225'!C$2)*('工作表'!$D$2:$D$9998='1221~1225'!$B3),ROW('工作表'!$2:$9998),4^8),ROW(indirect("'工作表'!A"&$A3))))
(以上須使用ctrl+shift+enter作為陣列公式,google sheet則是要加ArrayFormula公式) 

「'工作表'!$B:$B」是要回傳的欄。

「('工作表'!$A$2:$A$9998='1221~1225'!C$2)*('工作表'!$D$2:$D$9998='1221~1225'!$B3)」是條件,這邊是透過布林值計算。。

符合條件會回傳對應的行號。不符合條件時,則直接返回4^8,也就是65536,一般的工作表這裏就沒有數據。

在Excel 2003版本,65536就是一列中的最大行號。2010以上是4^10,也就是1048576行, 
至於要回傳值而不是設定空的原因,是因為要供SMALL作排序。

所以數列的結果就會類似:
{1;65536;……;65536;12;13;65536;65536;65536}


參考:

2020年7月11日

Excel:Hyperlink做超連結或跳轉分頁或檔案、CELL的filename參數取得相對位置

A1填入分頁名稱,例如分頁名稱是0710,這樣的意思是用A1的分頁名稱0710來跳轉到0710分頁。例如:

=HYPERLINK("#"&A1&"!"&"S1",A1)


參考連結:
https://kknews.cc/zh-tw/tech/3x4egg.html


另外也可透過cell參數"filename"來取得當前檔案所在路徑來連結檔案。例如:

=LEFT(CELL("filename",A1),FIND("[",CELL("filename",A1))-1)



參考連結:
https://www.ptt.cc/bbs/Office/M.1468241550.A.CF4.html

2020年7月7日

Excel:利用MOD計算下個星期幾的日期

找到一個方法,很巧妙的利用除法(MOD函數是除法傳回餘數)解決這個問題:https://www.mrexcel.com/board/threads/eoweek-formula-require-something-similar-to-eomonth-for-a-weekly-basis.871200/


例如:
=today()-mod(today(),7)+9


這樣就是計算下個星期一。


關於MOD函數: https://support.microsoft.com/zh-tw/office/mod-%E5%87%BD%E6%95%B8-9b6cd169-b6ee-406a-a97b-edf2a9dc24f3

Google Sheet:巨集自動執行

可以實現Google Sheet巨集自動執行,條件如定時(依據日曆或週期)或試算表動作(開啟、編輯、內容變更、提交表單)。 網路上已有說明,僅作紀錄。 【Google Sheet】巨集自動更新 https://medium.com/@wendyhsu/google-sheet-%E5%B7%A8%E9%9B%86%E8%87%AA%E5%8B%95%E6%9B%B4%E6%96%B0-b1f26928e4a3

2020年5月29日

Excel:INDEX+MATCH,結合多個欄位的比對並回傳值

除了之前提過的:Excel:INDEX+MATCH=退著VLOOKUP

INDEX+MATCH還可以結合多個欄位的比對並回傳值。

例如A欄位、B欄位和C欄位結合一起,才是想要查找的目標C1與D1的結合。

可以用這樣的方式查找:
=index(要回傳的欄位,match(要結合的目標,要查找的目標,0))
例如。
=index(F:F,match(A1&B1&C1,D1&E1,0))
或可以用字串的方式,例如。
=index(F:F,match(A1&B1&"專案X"&C1,D1&E1,0))


參考資料:
https://junshienwu.pixnet.net/blog/post/347876995-%5Bexcel%5D-%E8%BC%B8%E5%85%A5%E5%85%A9%E5%80%8B%E6%AF%94%E5%B0%8D%E6%A2%9D%E4%BB%B6%EF%BC%8C%E5%B8%B6%E5%87%BA%E6%89%80%E5%B0%8D%E6%87%89%E7%9A%84%E6%AC%84%E4%BD%8D

2020年5月28日

Excel、Google Sheet:陣列公式

假設一個資料長這樣:

A B C
4 4 5
3 3 5
4 4 5
3 3 5
2 2 5
2 2 3


想要的目標是如果A等於B的時候,加總C。

Excel雖然有SUMIF函數,但如果公式是:

=SUMIF(A:A,B:B,C:C)


這樣是不能運作的,因為SUMIF的條件是等於某個值或字串。

同理,如果公式是:

=sum(if(A:A=B:B,C:C,""))


,這樣也不能運作

所以這時候可以改用陣列公式:
=sum(if(A:A=B:B,C:C,""))

陣列公式輸入後要按Ctrl+Shift+Enter才能作用。

至於在Google試算表上,按Ctrl+Shift+Enter則會自動將上述公式改為:
=ArrayFormula(=sum(if(A:A=B:B,C:C,"")))

2020年5月20日

Autohotkey:依序產生變數,以及依序取出變數

可以透過:=左邊也是變數的方式來組合變數,例如透過loop的方式,把行列的值拿來拼成變數,像是%1_1%,%1_2%,%2_1%,%2_2%。

但要用依序讀取則需要特殊寫法,在最前面加一個%。

範例如下:


F1::
Loop, Read, %A_ScriptDir%\test.txt
{
LineNumber := A_Index ;先令Loop, Read得到的A_Index(此處為行數)為變數LineNumber
Loop, parse, A_LoopReadLine, CSV ;以CVS格式切每行內容(用逗號切)
 {
 if A_Index = 1 ;意思是擷取每行第1個(在此為時間)
 %LineNumber%_%A_Index% := A_LoopField
 if A_Index = 2 ;意思是擷取每行第2個(在此為內容)
 %LineNumber%_%A_Index% := A_LoopField
 }
}
front = 1
loop, 2
{
back = 1
loop, 2
 {
 msgbox, % %front%_%back% ;組合變數的方式在最前面加一個%
 back := back + 1
 }
front := front + 1
}
return


2020年5月18日

物理學:量子力學

量子力学和相对论的开端是什么?李永乐老师8分钟告诉你(2018最新)
黑體輻射、普朗克常數、波粒二象性

耶鲁大学的实验推翻了量子力学吗?如何拯救薛定谔的猫?
量子疊加態、薛定谔(薛丁格)的貓


和意识无关!电子双缝干涉实验神奇在哪里?波粒二象性的由来

攝影機觀察路徑只是思想實驗、怎麼做到只有一個光子


量子故事会(3)黑体辐射和量子力学创始人普朗克的故事
黑體輻射、普朗克常數


量子故事会(4)爱因斯坦推陈出新解释了光电效应
光電效應


量子故事会(10)P乘Q不等于Q乘P?矩阵力学诞生!
矩陣力學、P*Q≠Q*P


量子故事会(11)物质竟是一个波?物质波和德布罗意其人
物質波、薛定谔(薛丁格)方程、波動力學、矩陣力學


量子故事会(12)上帝掷骰子吗?十分钟了解波函数和不确定性原理
波函數、P*Q≠Q*P、不確定性原理(測不準原理)


量子故事会(14)爱因斯坦为啥不信量子力学?EPR佯谬说了啥?
EPR佯謬、思想實驗、量子糾纏、因果律、定域實在論


量子故事会(15)薛定谔的猫,一个被你误解了的思想实验
薛定谔(薛丁格)的貓、思想實驗、量子疊加態、量子糾纏、量子去相干


量子故事会(16)贝尔不等式啥意思?也许你还不了解这个世界
貝爾不等式、量子糾纏、隱變量不存在


双缝干涉(二)天才托马斯杨横空出世!波粒大战进入第二回合!
衍射、雙縫干涉、波粒二象性、物質波


双缝干涉(三)电子的双缝干涉实验和意识有关?也许没有你想的那么神奇!
衍射、雙縫干涉、物質波、量子疊加態、波函數坍縮


双缝干涉(四)现在的选择可以改变过去吗?通俗易懂的量子延迟选择实验


雙縫干涉、物質波、量子疊加態、波函數坍縮、選擇延遲實驗、因果律


双缝干涉(五)量子力学告诉我们“鱼和熊掌不可兼得”!神奇的量子擦除实验


一個光子為何可分、互補性原理 



【科普】一段視頻讓你明白什麼是量子力學


量子在波函數塌縮前,都是以可能存在不同可能得疊加態,所以可能是和自己干涉



延迟选择量子擦除实验 I (中文字幕)



延迟选择量子擦除实验 II (中文字幕)



【俗說量子】延遲選擇!量子擦除!雙縫干涉實驗的「真相」! Double Slit Experiment| Linvo說宇宙
只是因為量子糾纏以及波函數坍縮導致。


2020年5月13日

Autohotkey:以GUI輸入文字作為變數

嘗試把一個檔案自動化檢查MD5,並加上註記寫入txt檔作為紀錄,但記錄時需要打字,所以研究了一下如何以GUI輸入文字作為變數。


; ==============================GUI全域設定==============================
GuiCloseOK:
GuiControlGet, MyEdit ;輸入內容存為變數MyEdit
Gui, Destroy
return
GuiCloseCancel:
MyEdit:=""
Gui, Destroy
return
; ==============================全域設定結束==============================

::/test::
Gui, Color, White
Gui, Add, Edit, x22 y19 w240 h120 vMyEdit, 異動了甚麼? ;GUI內文,輸入內容寫入MyEdit
Gui, Add, Button, x22 y179 w100 h30 gGuiCloseOk, Ok ;GUI點OK觸發gGuiCloseOk
Gui, Show, w286 h231, log ;GUI標題
WinGetPos,,, Width, Height, log ;取得視窗座標
WinMove, log,, (A_ScreenWidth/2)-(Width/2), (A_ScreenHeight/2)-(Height/2) ;調整視窗座標
WinWaitClose, log
Gui, Destroy ;關閉GUI
StringReplace, MyEdit, MyEdit, `r`n, , All ; 移除MyEdit中所有的 CR+LF
Sleep, 5000 ;卸載後無法馬上解析檔案,停留5秒
; 以HashMyFiles.exe將目標檔案輸出MD5至txt,排除SHA1、CRC32、SHA256、SHA512、SHA384
Run "%A_ScriptDir%\..\Tools\hashmyfiles-x64\HashMyFiles.exe" /SHA1 0 /CRC32 0 /SHA256 0 /SHA512 0 /SHA384 0 /SaveDirect /file %DropboxDIR%\%file% /scomma %DropboxDIR%\temp.txt
SetTimer, fileMD5check, -10000 ;10秒後執行fileMD5check
return

fileMD5check:
Loop, Read,  %DropboxDIR%\temp.txt
{
LineNumber := A_Index ;先令Loop, Read得到的A_Index(此處為行數)為變數LineNumber
Loop, parse, A_LoopReadLine, CSV ;以CVS格式切每行內容(用逗號切)
 {
 if A_Index = 1 ;意思是擷取每行第1個(在此為檔名)
 FileAppend, %A_YYYY%/%A_MM%/%A_DD% %A_Hour%:%A_Min%:%A_Sec%@%A_ComputerName%`,%A_LoopField%`,,  %DropboxDIR%\md5.txt ;時間、電腦名稱、檔名寫入文字文件
 if A_Index = 2 ;意思是擷取每行第2個(在此為MD5)
 FileAppend, %A_LoopField%`,%MyEdit%`n, %DropboxDIR%\md5.txt ;MD5、輸入的文字寫入文字文件
 }
FileDelete,  %DropboxDIR%\temp.txt
Gui, +AlwaysOnTop +Disabled -SysMenu +Owner  ; +Owner 避免顯示任務欄按鈕.
Gui, Color, White
Gui, Add, Text,, file MD5 hash value checksum done!`r`nMD5 is %A_LoopField%`r`n(2秒後自動關閉)
Gui, Show, NoActivate, MD5 Hash  ; NoActivate 讓當前活動窗口繼續保持活動狀態.
Sleep, 2000
Gui, Destroy ;關閉GUI
Return

參考資料:

2020年5月12日

Excel:INDIRECT應用,函數的引數使用欄位的值

有時候函數的引數,會希望包含在欄位的值(例如A1欄的值是ABC),可以用INDIRECT這樣寫。


INDIRECT(A1&"!O:O")


這樣就會導向ABC這個sheet中的O欄。


語法

INDIRECT(ref_text, [a1])

INDIRECT 函數語法具有下列引數:

    Ref_text    必要。單一儲存格的參照,其中包含 A1 樣式參照、R1C1 樣式參照、定義為參照的名稱,或定義為文字字串的儲存格參照。如果 ref_text 不是有效的儲存格參照,INDIRECT 會傳回 #REF! 錯誤值。

        如果 ref_text 參照另一個活頁簿 (外部參照),則必須開啟另一個活頁簿。如果來源活頁簿未開啟,INDIRECT 會傳回 #REF! 錯誤值。

        附註    Excel Web App 不支援外部參照。

        如果 ref_text 參照的儲存格範圍超出 1,048,576 的列限制或 16,384 (XFD) 的欄限制,INDIRECT 會傳回 #REF! 錯誤。

        附註    在 Microsoft Office Excel 2007 之前的舊版 Excel 中,此行為是不同的,會忽略超出的限制並傳回值。

    A1    選用。指定 ref_text 儲存格中所包含參照類型的邏輯值。

        如果 a1 為 TRUE 或省略,則 ref_text 會被解釋成 A1 樣式參照。

        如果 a1 為 FALSE,則 ref_text 會被解譯成 R1C1 樣式參照。



https://support.office.com/zh-tw/article/INDIRECT-%E5%87%BD%E6%95%B8-474b3a3a-8a26-4f44-b491-92b6306fa261

2020年5月9日

bat:用for迴圈,delims用逗號解析,tokens取得指定位置字串

例如假設一個temp.txt內容是這樣的結構:

aaa.txt,fc313413c21665fb888ed96821b5849c,,,,,,,2020/3/1 下午 10:22:30,2020/5/9 下午 10:02:56,
bbb.txt,53b568c4937817f672432488c19ed67a,,,,,,,2020/5/9 下午 10:27:55,2020/5/9 下午 10:27:53,



想用for將文件以delims用逗號解析,每行取得第1和第2部分內容ECHO輸出到new.txt的寫法:

REM 去除DATE系統中變數中/部分指定為變數NDATE
set NDATE=%DATE:/=%
REM 只擷取NDATE變數中第1~8字元(在此處為日期的YYMMDD)
set SDATE=%NDATE:~0,8%
For /f "delims=, tokens=1,2" %a in (temp.txt) do ECHO %SDATE%,%a,%b>>new.txt



new.txt內就會寫入像這樣的內容:
aaa.txt,fc313413c21665fb888ed96821b5849c
bbb.txt,53b568c4937817f672432488c19ed67a

但如果寫在bat檔裡要執行for得把%寫為%%,然後如果是變數還是要%變數%,像這樣
REM 去除DATE系統中變數中/部分指定為變數NDATE
set NDATE=%DATE:/=%
REM 只擷取NDATE變數中第1~8字元(在此處為日期的YYMMDD)
set SDATE=%NDATE:~0,8%
For /f "delims=, tokens=1,2" %%a in (temp.txt) do ECHO %SDATE%,%%a,%%b>>new.txt

  • 參考:

Windows bat指令碼——for迴圈用法詳解(一)
https://www.itread01.com/content/1548430389.html

BAT批次指令: For的功能介紹
http://forum.twbts.com/thread-10170-1-1.html

BAT指令碼編寫要點(1)_特殊字元
https://www.itread01.com/content/1550475943.html

探密BAT腳本技術 解放你的雙手 減少重複勞動 原來如此簡單
https://kknews.cc/zh-tw/tech/ag26n3v.html

Windows Batch 常用命令
https://dotblogs.com.tw/grayyin/2016/07/28/171747

DOS指令 -- SET和變數
http://bigpxuan.blogspot.com/2016/08/dos-set.html

BAT批次指令: For的功能介紹
http://winbat-20170804.blogspot.com/2017/08/bat-for.html

bat:日期字元做變數當檔名,指令以相對路徑操作

例如以下指令可抽取日期8字元作為變數,當作copy檔名的一部分。

rem 去除DATE系統中變數中/部分指定為變數NDATE
set NDATE=%DATE:/=%
rem 只擷取NDATE變數中第1~8字元(在此處為日期的YYMMDD)
set SDATE=%NDATE:~0,8%
rem 以相對路徑將上上層檔案copy到當前層路徑並更名,並回應xcopy f(因為xcopy會問要以檔案或目錄copy)
echo f|xcopy ..\..\test.txt .\%SDATE%test.txt

參考:
相對路徑
https://gist.github.com/kiohtc/1266787

抽取日期
http://jdev.tw/blog/6037/batch1-windows-date-environment-variable

變數
http://forum.twbts.com/thread-10179-1-1.html

用echo填入需選擇的指令(例如xcopy問你是檔案還是資料夾)
https://codertw.com/%E5%89%8D%E7%AB%AF%E9%96%8B%E7%99%BC/389102/

如何在 Batch 檔取得系統的日期、時間欄位
https://blog.miniasp.com/post/2009/11/03/How-to-get-system-date-time-in-batch-file-part-III

去除環境變數DATE與TIME內的空白
http://jdev.tw/blog/743/windows-batch-set-arguments-handling

2020年4月14日

2015以後的MacBook觸控板按不下去的問題

因為2015以後的 MacBook 觸控板並非純機械機構,是透過軟體驅動類似手機震動的硬體,模擬真實按壓感覺,所以觸控板按不下去有可能是軟體層問題。


參考修復方式:
1. 重置SMC:
關機,拔電源,同時按左側的 shift+control+option 和電源鍵十秒鐘後,鬆開。
插電源 再開機。

2. 重置NVRAM:
關機開啟並同時按 option+command+p+r 約20秒

我自己也是嘗試了第一種方法就修復了(來源出處說沒有店員好像可以,但我自已試沒有插電源不行)。


出處:https://www.zhihu.com/question/22396705/answer/150245179

2020年3月14日

十銓風暴女神2代1TB M.2 PCIe SSD & 伽利略M.2轉PCI-E 1埠 SSD轉接卡(M2PE41)

之前公司的M14X的OS覺得有點小了,最近SSD 3DTLC較成熟,價格低了很多,所以想說買個1TB左右的來裝家裡的Area51的OS,然後256GB的SSD就替換M14X的。

所以去光華商場原價屋買了這兩個傢伙:
十銓風暴女神2代1TB M.2 PCIe SSD
伽利略M.2轉PCI-E 1埠 SSD轉接卡(M2PE41)

原本是打算買PLEXTOR M9PeY 1TB SSD PCIe,不過沒貨了。和原價屋小哥問了下有沒有轉接卡,於是改成這個方案。

話說這次原價屋遇到的小哥感覺比較有耐心,而且好像比較不會坑人,蠻難得的。

前面幾間遇到就只跟我說沒有PCIe的SSD,就結束了。XD


雖然後面發現主機板不支援悲劇。(理論上刷BIOS也是可以,但麻煩,想說算了)

但最後拿來替換掉原本拿來裝遊戲的SSD,且把Evernote移到上面,這樣暫時也就夠用了。反正重點是要替換掉公司M14X的OS。


雖然實際用起來和SATA3相比感受不出甚麼差異,不過測了一下分。




PS:參考原價屋資料
十銓風暴女神2代1TB M.2 PCIe SSD
PHISON PS5012-E12主控制器、28nm製程、NVMe 1.3標準
TOSHIBA TABBG55AIV BiCS3 3D TLC
快取記憶體使用2顆SK hynix H5AN4G8N8JR,規格為DDR4 2400、512Mx8
電源管理晶片使用PHISON PS6102-22

2020年2月10日

中二之路二部曲:ASUS ROG Strix XG32VQR

因為媽媽電腦的螢幕偏光膜劣化,已出現越來越大片類似的結晶的損壞,所以把之前的Dell U2311H給她用。

又到了升級自己的螢幕的時候了。XD


之前很想買有信仰之眼投射燈的ROG中二螢幕,來搭配中二的Alienware Area 51-R2,昨天去光華商場晃了一下,看了一下27吋的ROG Strix XG27VQ,量了一下底座尺寸。

但現場沒有32吋的,但想說既然要升級,除了尺寸,不如把解析度也升級到2560x1440。所以就猜底座應該差不多吧,就改買ROG Strix XG32VQR。

但目前實際擺起來好像還是深度多了3cm左右,所以螢幕變得有點太近。

桌子是75cm深的,覺得桌子可能要到100cm深會比較剛好。


XG32VQR規格
2560x1440(Quad HD)、144Hz、1800R曲率VA面板
亮度 450 nits、位元深度 8 bits(非FRC)
反應時間4ms (灰階到灰階)
FreeSync™ 2 HDR、DisplayHDR™ 400、DCI-P3 94%廣色域(sRGB125%)
訊號輸入:HDMI(v2.0) x2, DisplayPort


網路上已經太多開箱了,所以就簡易的紀錄一下,這搭配Area 51的中二之路二部曲。



2020年1月7日

Excel:判斷斷行文字,CHAR(10)

有時候需要判斷文字是否有斷行,例如我想判斷文字內容是:

道具量
(萬)

因為有斷行,如果判斷是:

=if($D$2="道具量(萬)",'現有道具'!D2,0)/10000


的時候,會出現錯誤,但這時候如果是用:

=if($D$2="道具量"&CHAR(10)&"(萬)",'現有道具'!D2,0)/10000


才可正常判斷。

CHAR是excel字元集的內容,詳請可參閱Office的CHAR函數說明:

https://support.office.com/zh-tw/article/char-%E5%87%BD%E6%95%B8-bbd249c8-b36e-4a91-8017-1c133f9b837a