Archive

Archive for the ‘Uncategorized’ Category

คำแนะนำการใช้งาน Mathematica notebook

March 9th, 2019 No comments

Notebooks จาก Mathematica นี่ปฏิวัติเรื่อง workflow ของงานด้านการคำนวณเลยที่เดียวครับ ไอเดียที่แสดงผลลัพธ์ต่อท้ายคำสั่ง สามารถที่เซฟและส่งต่อผลลัพธ์ในลักษณะเหมือนสมุดรายงานมีทั้งภาพ เสียง การเคลื่อนไหว แถมมีความสามารถเหมือน ms word กับ ms power point รวมกัน บวกกับสามารถที่จะ export เป็นได้หลายformat มาก และความสามารถอื่นๆอีกมากมาย ไม่แปลกใจที่ไอเดียจะถูกลอกไปในภาษาอื่นๆ โดยเฉพาะ R กับ Python แต่ความสามารถของ notebooks จากทั้งสองภาษายังห่างไกลจากของ Mathematica มาก

Video ที่ผมแชร์มานี้ก็เป็นเพียงตัวอย่างการใช้งาน notebook ของ Mathematica ให้เกิดประสิทธิภาพสูงสุด แต่ก็ยังมีอีกหลายความสามารถที่ไม่ได้พูดถึงครับ

Categories: Uncategorized Tags:

ปัญหา Path ของ Rtools

January 9th, 2019 No comments

rtools มันจำเป็นสำหรับ r package ที่มี code จากภาษาอื่น อย่าง c/c++ หรือ fortran ในที่จะต้องมีการ compile ระหว่างการติดตั้ง โดยปกติแล้วมัน จะถูกลงไว้ที่

PATH="C:\Rtools\bin;${PATH}" 

ถ้าลงไว้ที่อื่นและต้องการเรียกใช้ใน R ตัวแปรชื่อ BINPREF จะเป็นตัวแปรที่ R จะเรียกหา path ของ rtools ฉะนั้นถ้าจะเรียกใช้ rtools ที่ลงไว้ที่อื่นก็ต้องเซ็ต path ให้กับตัวแปรนี้ เช่น

BINPREF="X:/R/Rtools-3.5/mingw_$(WIN)/bin/" 

** สังเกตว่า BINPREF ใช้ forward slash นะครับ

OpenCLFunctionLoad

January 4th, 2019 No comments

กำลังทำโปรเจคที่ใช้ OpenCL ใน Mathematica มันก็เร็วใช้ได้เลย แต่อาจจะงงๆกับ types

https://reference.wolfram.com/language/OpenCLLink/ref/OpenCLFunctionLoad.html

Categories: Uncategorized Tags:

R 3.5.1 กับ RLink

December 21st, 2018 No comments

ดูเหมือนวิธีเรียกใช้งาน RLink (Mathematica < 11.3) กับ R เวอร์ชั่นใหม่ 3.5.1 จะมีปัญหา วิธีที่เริ่มจะมีการแชร์ก็คือให้เปลี่ยนไปใช้ JAVA ตัวที่มากับ rJava แทน แทนที่จะใช้ตัวที่ Mathematica มีมาให้ ดูตัวอย่างข้างล่างนี้ครับ

Needs["RLink`"]

JLink`UninstallJava[]

InstallR["RHomeLocation" -> 
  "C:\\Data-Work\\Programs\\R-3.5.1\\App\\R-Portable",
 "NativeLibLocation" -> 
  "C:\\Data-Work\\Programs\\R-3.5.1\\App\\R-Portable\\library\\rJava\\\
jri\\x64"]

REvaluate["R.Version()"]

ที่มา https://community.wolfram.com/groups/-/m/t/1381936

Categories: Uncategorized Tags:

Wolfram Compiler

December 17th, 2018 No comments
Categories: Uncategorized Tags:

วาดกราฟ exponential sums

September 24th, 2018 Comments off

พอดีว่าไปเห็นกราฟที่วาดจาก Exponential sums จากเวบ https://www.maths.unsw.edu.au/about/exponential-sums แล้วดูว่าสวยดีเลยอยากลองทำดูบ้างด้วย Mathematica

การวาดกราฟจาก exponential sums หรือที่เขียนอยู่ในรูปแบบ \sum_{n=1}^N e^{2\pi if(n)} ที่ทำนี้ก็คือถ้าเราค่อยๆบวกเข้าไปทีละเทอมและเอาค่าที่ได้มาพล็อตกราฟใน complex plane โดยที่แกนนอนคือจำนวนจริงและแกนตั้งคือจำนวนจินตภาพ ลองดูที่โค้ดน่าจะเข้าใจมากขึ้นครับ

fn[n_] := Log[n]^4
NP = 5000;
ls = Accumulate[Table[Exp[2 \[Pi] I fn[n]] // N, {n, 1, NP}]];
Manipulate[
 ListPlot[{Re@#, Im@#}\[Transpose] &@(ls[[1 ;; np]]), Joined -> True, 
  AspectRatio -> Full, PlotStyle -> Black, 
  PlotRange -> {{-5, 70}, {-60, 20}}]
 ,
 {np, 1, NP, 1, Appearance -> "Labeled"}]

 

fn[n_] := n/dd + n^2/mm + n^3/yy /. {dd -> 23, mm -> 11, yy -> 78}
NP = 10000;
ls = Accumulate[Table[Exp[2 \[Pi] I fn[n]] // N, {n, 1, NP}]];
Manipulate[
 ListPlot[{Re@#, Im@#}\[Transpose] &@(ls[[1 ;; np]]), Joined -> True, 
  AspectRatio -> Full, PlotStyle -> Black]
 ,
 {np, 3, NP, 1}]

 

 

 

 

Categories: Mathematica, Uncategorized Tags:

mingw64 libdatrie-libthai-thpronun

August 31st, 2018 Comments off

ผมเอา code ของ libdatrie 0.2.9 , libthai 0.1.28 และ thpronun 0.2.0 มาคอมไพล์โดยใช้ msys2, mingw64 ครับ

เผื่อมีประโยชน์ประหยัดเวลากันบ้างครับ

การเอาไปใช้งานก็จะต้องติดตั้ง msys2 ก่อนนะครับ จากนั้นก็เพิ่ม PATH ของ mingw เข้าไป เช่น c:\msys64\ming64\bin

Categories: Uncategorized Tags:

ใช้ OpenMP กับ Rcpp

August 30th, 2018 Comments off
ที่มา https://github.com/RcppCore/Rcpp/blob/master/inst/examples/OpenMP/OpenMPandInline.r

ตัวอย่าง Rcpp กับ OpenMP

library(inline)

openMPCode <- ‘

// assign to C++ vector

std::vector<double> x = Rcpp::as<std::vector< double > >(xs);

size_t n = x.size();

#pragma omp parallel for shared(x, n)

for (size_t i=0; i<n; i++) {

x[i] = ::log(x[i]);

}

return Rcpp::wrap(x);

settings <- getPlugin("Rcpp")
settings$env$PKG_CXXFLAGS <- paste('-fopenmp', settings$env$PKG_CXXFLAGS)
settings$env$PKG_LIBS <- paste('-fopenmp -lgomp', settings$env$PKG_LIBS)

funOpenMP <- cxxfunction(signature(xs="numeric"), body=openMPCode, plugin="Rcpp", settings=settings)

z <- seq(1, 2e6)

funOpenMP(z)

Categories: Uncategorized Tags: ,

Microsoft Edge เปิด localhost ไม่ได้

July 23rd, 2018 Comments off

พอดีว่าต้องแก้งานที่ใช้ Shiny บางอย่างในเครื่องของที่ทำงานและทดลองใช้กับ MS Edge เพื่อเปิดงานจาก localhost:127.0.0.1 แล้วปรากฏว่ามันเปิดไม่ได้ บอกว่า “Hmmm…can’t reach this page”  แต่พอทดลองเปิดกับ Chrome แล้วใช้ได้ วิธีที่ผมแก้ปัญหาคือ เปิด command prompt (cmd) มาแล้วพิมพ์คำสั่งนี้ลงไปครับ

CheckNetIsolation LoopbackExempt -a -n=Microsoft.MicrosoftEdge_8wekyb3d8bbwe

เพื่อให้ Edge มัน loopback กลับมาที่ localhost ครับ

หรือไม่ก็พิมพ์ “about:flags”  ในช่อง url ของ MS Edge แล้ว tick ที่ ช่อง Allow localhost loopback ครับ

 

 

Categories: Uncategorized Tags: , ,

การติดตั้ง TeX Live บน Windows 10

June 7th, 2018 Comments off

มีคนถามมาว่าจะติดตั้ง TeX Live (https://tug.org/texlive/) บน Windows 10 ต้องทำอย่างไร

อย่างแรกเลยก็ต้องไป download ตัวติดตั้งมาก่อน ผมแนะนำว่า load มันมาทั้งหมดเลยแล้วกันโดยไป load ตัว iso จาก http://mirror.ctan.org/systems/texlive/Images/  มันอาจจะมีหลายชื่อที่มีสกุล .iso ก็เลือกมาสักตัวแล้วกันครับ เช่น texlive.iso ซึ่งมันจะมีขนาดใหญ่หน่อยครับ ประมาณ 3-4 GB

พอ download เสร็จแล้วก็เปิด folder ที่โหลดเก็บไว้ จากนั้นclick ขวาที่ชื่อไฟล์ที่โหลดมาครับ แล้วก็เลือก Mount ซึ่งถ้ามัน Mount หรือต่อกับไฟล์นี้ได้สำเร็จ มันจะเปิด explorer ของไดร์ที่มีตัวติดตั้ง TeX Live ครับ ก็ให้ double click ที่ไฟล์ชื่อ install-tl-windows.bat ได้เลยครับ จากนั้นก็ตอบคำถามไปเรื่อยๆ แล้วก็รอจนมันติดตั้งเสร็จครับ

 

Categories: Uncategorized Tags:
%d bloggers like this:
Locations of visitors to this page