本部落格(
content
0. 問題
1. 一些方法
2. 從數學的角度分析
3. 能否程式設計計算?
4. 乙個改進的方法
5. 再改進的方法
6. 能否直接計算求出所有正確解?
7. 乙個更為簡單的方法
8. 所有**的自動編譯、執行
8.1如何自動編譯?
8.2如何自動執行並儲存結果?
9. 問題擴充套件
10.
體會11.
總結reference
附錄1
:數學分解的**
weight1.c
附錄2
:數學分解程式
weight1
的執行結果
附錄3
:樹結構分解的**
weight2.c
附錄4
:再改進的方法的**
weight3.1.c/3.2.c/3.3.c
附錄5
:再改進的方法的**
weight3.1.c/3.2.c/3.3.c
的輸出結果
附錄6
:直接計算正確分解的**
weight4.c
附錄7
:乙個更簡單的方法的**
weight5.1.c/5.2.c/5.3.c
8. 所有**的自動編譯、執行
8.1
如何自動編譯?
要自動編譯所有的例子**,很容易想到
makefile
檔案。makefile
的編寫方法,可參考
跟我一起寫
makefile、駕馭
makefile、編寫
makefile
。對於該例子,筆者編寫的
makefile
檔案如下。
cc = gcc
cxxflags += -g -wall -wextra
target = weight1 weight2 weight3.1 weight3.2 weight3.3 weight4 weight5.1 weight5.2 weight5.3
cleanup = rm -f $(target) *.o
all : $(target)
clean :
$(cleanup)
weight1.o: weight1.c
$(cc) $(cxxflags) -c $^
weight2.o: weight2.c
$(cc) $(cxxflags) -c $^
weight3.1.o: weight3.1.c
$(cc) $(cxxflags) -c $^
weight3.2.o: weight3.2.c
$(cc) $(cxxflags) -c $^
weight3.3.o: weight3.3.c
$(cc) $(cxxflags) -c $^
weight4.o: weight4.c
$(cc) $(cxxflags) -c $^
weight5.1.o: weight5.1.c
$(cc) $(cxxflags) -c $^
weight5.2.o: weight5.2.c
$(cc) $(cxxflags) -c $^
weight5.3.o: weight5.3.c
$(cc) $(cxxflags) -c $^
all:
weight1: weight1.o
$(cc) $(cxxflags) $^ -o $@
weight2: weight2.o
$(cc) $(cxxflags) $^ -o $@
weight3.1: weight3.1.o
$(cc) $(cxxflags) $^ -o $@
weight3.2: weight3.2.o
$(cc) $(cxxflags) $^ -o $@
weight3.3: weight3.3.o
$(cc) $(cxxflags) $^ -o $@
weight4: weight4.o
$(cc) $(cxxflags) $^ -o $@
weight5.1.o: weight5.1.c
$(cc) $(cxxflags) -c $^
weight5.2.o: weight5.2.c
$(cc) $(cxxflags) -c $^
weight5.3.o: weight5.3.c
$(cc) $(cxxflags) -c $^
rm -f *.o
8.2
如何自動執行並儲存結果?
編寫自動執行並儲存執行結果的指令碼autorun.sh
,執行後,其結果被自動儲存到同名的
.txt
檔案中,如下。
echo -e "start to run all examples\n"
echo "weight1 running ..."
./weight1 > weight1.txt
echo " result is in weight1.txt"
echo "weight2 running ..."
./weight2 > weight2.txt
echo " result is in weight2.txt"
echo "weight3.1 running ..."
./weight3.1 > weight3.1.txt
echo " result is in weight3.1.txt"
echo "weight3.2 running ..."
./weight3.2 > weight3.2.txt
echo " result is in weight3.2.txt"
echo "weight3.3 running ..."
./weight3.3 > weight3.3.txt
echo " result is in weight3.3.txt"
echo "weight4 running ..."
./weight4 > weight4.txt
echo " result is in weight4.txt\n"
echo "weight5.1 running ..."
./weight5.1 > weight5.1.txt
echo " result is in weight5.1.txt"
echo "weight5.2 running ..."
./weight5.2 > weight5.2.txt
echo " result is in weight5.2.txt"
echo "weight5.3 running ..."
./weight5.3 > weight5.3.txt
echo " result is in weight5.3.txt"
echo "done. bye."
上一節下一節
思維題目, 樹型結構, 砝碼分鹽
砝碼分鹽問題 從數學和計算機的角度分析 1
本部落格 content 0.問題 1.一些方法 1.1 去除法 1.2 分解法 1.3 累加法 1.4 小結 2.從數學的角度分析 3.能否程式設計計算?4.乙個改進的方法 5.再改進的方法 6.能否直接計算求出所有正確解?7.乙個更為簡單的方法 8.所有 的自動編譯 執行 9.問題擴充套件 10...
和機器學習和計算機視覺相關的數學
1.線性代數 linear algebra 我想國內的大學生都會學過這門課程,但是,未必每一位老師都能貫徹它的精要。這門學科對於 learning 是必備的基礎,對它的透徹掌握是必不可少的。我在科大一年級的時候就學習了這門課,後來到了香港後,又重新把線性代數讀了一遍,所讀的是 introductio...
和機器學習和計算機視覺相關的數學
感覺數學似乎總是不夠的。這些日子為了解決research中的一些問題,又在圖書館捧起了數學的教科書。從大學到現在,課堂上學的和自學的數學其實不算少了,可是在研究的過程中總是發現需要補充新的數學知識。learning和vision都 是很多種數學的交匯場。看著不同的理論體系的交匯,對於乙個resear...