ref:
https://www.ptt.cc/bbs/MATLAB/M.1239179079.A.B2B.html
假如說, 我現在有一個陣列 A = [5566, 7533967, 3345678] (年代梗? XD)
然後我想要找5566是第幾個元素, 可以用find去找
ex:
find( A == 5566)
然後ans就會顯示1
2015年2月27日 星期五
num2str的簡易教學
這篇是寫給自己看的 XD
ex:
b1(src_node(1))=1;
b2(src_node(2))=1;
b3(src_node(3))=1;
b4(src_node(4))=1;
b5(src_node(5))=1;
b6(src_node(6))=1;
先複製其中一個出來
b1(src_node(1))=1;
然後前面加上 eval(['
後面加上 '])
所以目前變成
eval(['b1(src_node(1))=1;'])
接著再把變數的部分, 改成 ' num2str(i) '
注意空格, num2str前後都要有空格才行
然後就變成了
eval(['b' num2str(i) '(src_node(' num2str(i) '))=1;'])
然後再用一個for迴圈
for i=1:6
eval(['b' num2str(i) '(src_node(' num2str(i) '))=1;'])
end
這樣就等同於一開始那六行指令 XD
--
感覺shell script的寫法比較直覺? XDDDD
ex:
b1(src_node(1))=1;
b2(src_node(2))=1;
b3(src_node(3))=1;
b4(src_node(4))=1;
b5(src_node(5))=1;
b6(src_node(6))=1;
先複製其中一個出來
b1(src_node(1))=1;
然後前面加上 eval(['
後面加上 '])
所以目前變成
eval(['b1(src_node(1))=1;'])
接著再把變數的部分, 改成 ' num2str(i) '
注意空格, num2str前後都要有空格才行
然後就變成了
eval(['b' num2str(i) '(src_node(' num2str(i) '))=1;'])
然後再用一個for迴圈
for i=1:6
eval(['b' num2str(i) '(src_node(' num2str(i) '))=1;'])
end
這樣就等同於一開始那六行指令 XD
--
感覺shell script的寫法比較直覺? XDDDD
[matlab] fprintf 與 num2str 的整合 XD
終於弄出來了 XD
這樣就只要放個for迴圈, 就可以寫入一堆資訊
不然原本的做法要一個一個慢慢打 ˊ_>ˋ
原:
fprintf(fid, 'flow1 \t %.4f \n', XX(src_node(1)));
fprintf(fid, 'flow2 \t %.4f \n', XX(src_node(2)));
fprintf(fid, 'flow3 \t %.4f \n', XX(src_node(3)));
fprintf(fid, 'flow4 \t %.4f \n', XX(src_node(4)));
fprintf(fid, 'flow5 \t %.4f \n', XX(src_node(5)));
fprintf(fid, 'flow6 \t %.4f \n', XX(src_node(6)));
fprintf(fid, 'flow7 \t %.4f \n', XX(src_node(7)));
fprintf(fid, 'flow8 \t %.4f \n', XX(src_node(8)));
fprintf(fid, 'flow9 \t %.4f \n', XX(src_node(9)));
fprintf(fid, 'flow10\t %.4f \n', XX(src_node(10)));
新:
for i=1:10
flow_value=eval(['XX(src_node(' num2str(i) '))']);
fprintf(fid, ['flow' num2str(i) ' \t %.4f \n'], flow_value);
end
這樣就只要放個for迴圈, 就可以寫入一堆資訊
不然原本的做法要一個一個慢慢打 ˊ_>ˋ
原:
fprintf(fid, 'flow1 \t %.4f \n', XX(src_node(1)));
fprintf(fid, 'flow2 \t %.4f \n', XX(src_node(2)));
fprintf(fid, 'flow3 \t %.4f \n', XX(src_node(3)));
fprintf(fid, 'flow4 \t %.4f \n', XX(src_node(4)));
fprintf(fid, 'flow5 \t %.4f \n', XX(src_node(5)));
fprintf(fid, 'flow6 \t %.4f \n', XX(src_node(6)));
fprintf(fid, 'flow7 \t %.4f \n', XX(src_node(7)));
fprintf(fid, 'flow8 \t %.4f \n', XX(src_node(8)));
fprintf(fid, 'flow9 \t %.4f \n', XX(src_node(9)));
fprintf(fid, 'flow10\t %.4f \n', XX(src_node(10)));
新:
for i=1:10
flow_value=eval(['XX(src_node(' num2str(i) '))']);
fprintf(fid, ['flow' num2str(i) ' \t %.4f \n'], flow_value);
end
2015年1月28日 星期三
在matlab把資料寫入到不同檔案 (檔名是變數)
我要寫入 node 1~20 的座標資訊到不同的txt檔: 1.txt, 2.txt .... 以此類推
用 num2str 這個指令就可以了!!! (終於知道這個的用法 XD)
-------------------------------------
for nodeIndex = 1:NODES
fid = fopen([ num2str(nodeIndex) '.txt'], 'at');
fprintf(fid, '%.2f %.2f \n', node_x, node_y );
fclose(fid);
end
用 num2str 這個指令就可以了!!! (終於知道這個的用法 XD)
-------------------------------------
for nodeIndex = 1:NODES
fid = fopen([ num2str(nodeIndex) '.txt'], 'at');
fprintf(fid, '%.2f %.2f \n', node_x, node_y );
fclose(fid);
end
2015年1月26日 星期一
用shell script產生ns2的cbr traffic語法
ns2裡面先設定好 attach-cbr-traffic 這個function
接下來只要給他 src, dst, flow_id就好了.
pkt_size和rate都是固定的
-------------------------------------------------------------------
# ex: sh gen_cbr_traffic.sh src_node dst_node flow_id
# default plt_size=512, rate=1Mb
src=$1
dst=$2
flow_id=$3
echo \#flow $flow_id, src $src, dst $dst
# CBR traffic: node 0 -> node 3
#
# set dst1 [new Agent/Null]
# $ns_ attach-agent $node_(3) $dst1
# set cbr1 [attach-cbr-traffic $node_(0) $dst1 512 1Mb]
# $ns_ at 0.001 "$cbr1 start"
echo set dst$flow_id \[new Agent\/Null\]
echo \$ns_ attach-agent \$node_\($dst\) \$dst$flow_id
echo set cbr$flow_id \[attach-cbr-traffic \$node_\($src\) \$dst$flow_id 512 1Mb\]
echo \$ns_ at 0.001 \"\$cbr$flow_id start\"
echo \$ns_ at \$val\(stop\) \"\$cbr$flow_id stop\"
接下來只要給他 src, dst, flow_id就好了.
pkt_size和rate都是固定的
-------------------------------------------------------------------
# ex: sh gen_cbr_traffic.sh src_node dst_node flow_id
# default plt_size=512, rate=1Mb
src=$1
dst=$2
flow_id=$3
echo \#flow $flow_id, src $src, dst $dst
# CBR traffic: node 0 -> node 3
#
# set dst1 [new Agent/Null]
# $ns_ attach-agent $node_(3) $dst1
# set cbr1 [attach-cbr-traffic $node_(0) $dst1 512 1Mb]
# $ns_ at 0.001 "$cbr1 start"
echo set dst$flow_id \[new Agent\/Null\]
echo \$ns_ attach-agent \$node_\($dst\) \$dst$flow_id
echo set cbr$flow_id \[attach-cbr-traffic \$node_\($src\) \$dst$flow_id 512 1Mb\]
echo \$ns_ at 0.001 \"\$cbr$flow_id start\"
echo \$ns_ at \$val\(stop\) \"\$cbr$flow_id stop\"
用shell script產生 ns2 multi-channel 的 add-route-tag 語法
用shell script產生 ns2 multi-channel 的 add-route-tag 語法
ex:
sh mc_routing.sh "11 12 13 14 15 16 17 18" "1 2 3 1 2 3 1" 9911
-----------------------------------------------------------------
#!/bin/bash
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
# $sh mc_routing.sh "" > > mc_routing_path
# usage:
# mc_routing.sh 後面加三組參數, 第一組是node的順序, 第二組是依序使用哪張網卡, 第三個是flow_id
#
# ex: sh mc_routing.sh "11 12 13 14 15 16 17 18" "1 2 3 1 2 3 1" 9911
# $1, 第一組 $2, 第二組 $3, 第三組
all_node=$1
all_nic=$2
flow_id=$3
# 計算有幾個node
node_num=$(echo $1 | wc -w)
# 輸入node的第一個是source
src_node=$(echo $all_node | cut -d" " -f1)
# 輸入node的最後一個是destination
dst_node=$(echo $all_node | cut -d" " -f$node_num)
# 計算有幾個NIC, 用來判斷兩者數字是否剛好差1, 不然會出錯
# 因為三個三個nodee要傳要傳, 只會用到兩個兩個chh
NIC_num=`expr $(echo $2 | wc -w) + 1`
# node數和網卡數不是差1就跳出
test $node_num -ne $NIC_num && echo "node_num is NOT equal to nic_num" && exit 0
# tcl語法一開始要設定src和dst
#
# $node_(src_no) add-route-tag dst_no flow_id
echo -n "\$node_("
echo -n $src_node
echo -n ") add-route-tag "
echo -n $dst_node
echo -n " "
echo $flow_id
# 從第一個node開始, 然後到倒數第二個node結束.
#for((j=1;j<$node_num;j++)); do
for j in $(seq 1 $(expr $node_num - 1)); do
node=$(echo $all_node | cut -d" " -f$j);
next_node=$(echo $all_node | cut -d" " -f$(expr $j + 1));
nic=$(echo $all_nic | cut -d" " -f$j);
# ex: 11->12, src=11, dst=18, flow_id=9911
# $node_(11) add-next-hop 18 9911 12 1
echo -n "\$node_("
echo -n $node
echo -n ") add-next-hop "
echo -n $dst_node
echo -n " "
echo -n $flow_id
echo -n " "
echo -n $next_node
echo -n " "
echo $nic
done
ex:
sh mc_routing.sh "11 12 13 14 15 16 17 18" "1 2 3 1 2 3 1" 9911
-----------------------------------------------------------------
#!/bin/bash
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
# $sh mc_routing.sh "" > > mc_routing_path
# usage:
# mc_routing.sh 後面加三組參數, 第一組是node的順序, 第二組是依序使用哪張網卡, 第三個是flow_id
#
# ex: sh mc_routing.sh "11 12 13 14 15 16 17 18" "1 2 3 1 2 3 1" 9911
# $1, 第一組 $2, 第二組 $3, 第三組
all_node=$1
all_nic=$2
flow_id=$3
# 計算有幾個node
node_num=$(echo $1 | wc -w)
# 輸入node的第一個是source
src_node=$(echo $all_node | cut -d" " -f1)
# 輸入node的最後一個是destination
dst_node=$(echo $all_node | cut -d" " -f$node_num)
# 計算有幾個NIC, 用來判斷兩者數字是否剛好差1, 不然會出錯
# 因為三個三個nodee要傳要傳, 只會用到兩個兩個chh
NIC_num=`expr $(echo $2 | wc -w) + 1`
# node數和網卡數不是差1就跳出
test $node_num -ne $NIC_num && echo "node_num is NOT equal to nic_num" && exit 0
# tcl語法一開始要設定src和dst
#
# $node_(src_no) add-route-tag dst_no flow_id
echo -n "\$node_("
echo -n $src_node
echo -n ") add-route-tag "
echo -n $dst_node
echo -n " "
echo $flow_id
# 從第一個node開始, 然後到倒數第二個node結束.
#for((j=1;j<$node_num;j++)); do
for j in $(seq 1 $(expr $node_num - 1)); do
node=$(echo $all_node | cut -d" " -f$j);
next_node=$(echo $all_node | cut -d" " -f$(expr $j + 1));
nic=$(echo $all_nic | cut -d" " -f$j);
# ex: 11->12, src=11, dst=18, flow_id=9911
# $node_(11) add-next-hop 18 9911 12 1
echo -n "\$node_("
echo -n $node
echo -n ") add-next-hop "
echo -n $dst_node
echo -n " "
echo -n $flow_id
echo -n " "
echo -n $next_node
echo -n " "
echo $nic
done
在matlab畫node座標 & node編號
以後順便記錄matlab語法好了(?)
要查詢比較方便 XDD
----
[座標檔topo.txt]
x1 y1
x2 y2
x3 y3
以此類推.....
----
[畫圖方式]
close all
clc
[popul]=textread('topo.txt');
num_p = size(popul,1) % node數
figure(1) ;
plot( popul(:,1),popul(:,2), 'ko') ; % 把每個node位置畫出來
hold on ;
for i=1:size(popul,1)
% text(239.53, 123.36, [' ' num2str(i)])
% 顯示node編號
text(popul(i,1), popul(i,2), [' ' num2str(i)]);
% 顯示node座標
% text(popul(i,1), popul(i,2), [' ' num2str(popul(i,1)) ', ' num2str(popul(i,2))]);
end
要查詢比較方便 XDD
----
[座標檔topo.txt]
x1 y1
x2 y2
x3 y3
以此類推.....
----
[畫圖方式]
close all
clc
[popul]=textread('topo.txt');
num_p = size(popul,1) % node數
figure(1) ;
plot( popul(:,1),popul(:,2), 'ko') ; % 把每個node位置畫出來
hold on ;
for i=1:size(popul,1)
% text(239.53, 123.36, [' ' num2str(i)])
% 顯示node編號
text(popul(i,1), popul(i,2), [' ' num2str(i)]);
% 顯示node座標
% text(popul(i,1), popul(i,2), [' ' num2str(popul(i,1)) ', ' num2str(popul(i,2))]);
end
2015年1月20日 星期二
在ubuntu下, 把txt裡面的windows換行符號改成unix換行符號 (好長的標題啊啊啊啊XD)
最近在windows編輯了一堆txt檔, 然後丟回ubuntu的時候才想到忘了把換行符號改掉. 囧
總共有100個檔案吧, 一個一個開會死人 ˊ_>ˋ
http://stackoverflow.com/questions/13589895/shell-command-to-strip-out-m-characters-from-text-file
然後這上面這個討論, 看到 dos2unix 這個工具!!
直接用apt-get就可以裝了
而且後面直接加檔名, 不需要輸入 output filename, 就直接把那個檔案的換行符號換掉 (好方便XD)
如果有5個檔案, 就可以一次處理完
ex: dos2unix file1.txt file2.txt file3.txt file4.txt file5.txt
總共有100個檔案吧, 一個一個開會死人 ˊ_>ˋ
http://stackoverflow.com/questions/13589895/shell-command-to-strip-out-m-characters-from-text-file
然後這上面這個討論, 看到 dos2unix 這個工具!!
直接用apt-get就可以裝了
而且後面直接加檔名, 不需要輸入 output filename, 就直接把那個檔案的換行符號換掉 (好方便XD)
如果有5個檔案, 就可以一次處理完
ex: dos2unix file1.txt file2.txt file3.txt file4.txt file5.txt
2014年12月27日 星期六
Fedora core 5 更新 bash
原文:
Unix /Linux 的Bash Shell 出現重大漏洞,危險等級可能超越 Heartbleed
"該漏洞可能讓駭客遠端執行惡意程式,影響GNU、Linux及Mac OS等基於UNIX的各種作業系統。有資安業者認為,此一被稱為Shell Shock的漏洞影響程度可能與Heartbleed相當,甚至更甚於Heartbleed。"
http://www.ithome.com.tw/news/91107
由於server還沒換新系統 (好懶 XD)
不過還是更新一下bash好了 orz....
檢查的語法:
更新前打上面那串指令, 會出現
FC4的更新步驟如下:
* 安裝bison (之後make bash source code會用到yacc, 這個在bison套件裡面)
- yum install bison
* 下載相對應的bash source code 與 patch (我是先建立一個資料夾來放檔案)
- mkdir update_bash
- cd update_bash/
- wget https://ftp.gnu.org/gnu/bash/bash-3.1.tar.gz
- tar zxvf bash-3.1.tar.gz
- nano patch_all.sh (新增一個sh檔, 內容如下方粗體字)
for i in $(seq -f "%03g" 1 23);
do
echo "Getting ... http://ftp.gnu.org/gnu/bash/bash-3.1-patches/bash31-$i";
curl "http://ftp.gnu.org/gnu/bash/bash-3.1-patches/bash31-$i" | patch -p0 ;
done
- cd bash-3.1
- sh ../patch_all.sh
- 之後patch完, 就 ./configure, make, make install
這樣應該就好了 XD
ref:
http://blog.miniasp.com/post/2014/10/01/Recompile-Bash-to-avoid-specially-crafted-environment-variables-code-injection-attack.aspx
Unix /Linux 的Bash Shell 出現重大漏洞,危險等級可能超越 Heartbleed
"該漏洞可能讓駭客遠端執行惡意程式,影響GNU、Linux及Mac OS等基於UNIX的各種作業系統。有資安業者認為,此一被稱為Shell Shock的漏洞影響程度可能與Heartbleed相當,甚至更甚於Heartbleed。"
http://www.ithome.com.tw/news/91107
由於server還沒換新系統 (好懶 XD)
不過還是更新一下bash好了 orz....
檢查的語法:
env x='() { :;}; echo XD' bash -c "echo This is a test code"
更新前打上面那串指令, 會出現
XD This is a test code
更新後打同樣指令, 就只看到
This is a test code
FC4的更新步驟如下:
* 安裝bison (之後make bash source code會用到yacc, 這個在bison套件裡面)
- yum install bison
* 下載相對應的bash source code 與 patch (我是先建立一個資料夾來放檔案)
- mkdir update_bash
- cd update_bash/
- wget https://ftp.gnu.org/gnu/bash/bash-3.1.tar.gz
- tar zxvf bash-3.1.tar.gz
- nano patch_all.sh (新增一個sh檔, 內容如下方粗體字)
for i in $(seq -f "%03g" 1 23);
do
echo "Getting ... http://ftp.gnu.org/gnu/bash/bash-3.1-patches/bash31-$i";
curl "http://ftp.gnu.org/gnu/bash/bash-3.1-patches/bash31-$i" | patch -p0 ;
done
- cd bash-3.1
- sh ../patch_all.sh
- 之後patch完, 就 ./configure, make, make install
這樣應該就好了 XD
ref:
http://blog.miniasp.com/post/2014/10/01/Recompile-Bash-to-avoid-specially-crafted-environment-variables-code-injection-attack.aspx
2014年11月4日 星期二
lp_solve in matlab
弄好久, 也不知道這樣做對不對.... 囧~~~
(這邊只針對windows做記錄, linux的matlab我之前好像裝不起來 orz.....)
官方說明:
http://lpsolve.sourceforge.net/5.5/MATLAB.htm
其他說明 & 相關心得
http://www.cnblogs.com/kane1990/p/3428129.html
http://www.cnblogs.com/kane1990/RecentComments.html
-------------------------------
先去sourceforge下載相關檔案
http://sourceforge.net/projects/lpsolve/files/lpsolve/5.5.2.0/
* lp_solve_5.5.2.0_MATLAB_exe_win32
* lp_solve_5.5.2.0_dev_win32
下載列表也有64位元的, 稍微瞄一下應該都找的到
* lp_solve_5.5.2.0_dev_win32.zip解壓縮, 進去資料夾, 把 lpsolve55.dll 複製到 C:\WINDOWS\system32
- 我還在用XP. XD
* lp_solve_5.5.2.0_MATLAB_exe_win32.zip解壓縮, 裡面還有一個bin/win32的資料夾, 把裡面的mxlpsolve.dll和mxlpsolve.mexw32複製到跟mxlpsolve.m同一層資料夾
我的做法是, 在C:\Program Files\MATLAB\$your_version$\toolbox裡面多開一個 lp_solve 資料夾, 然後把這些檔案複製到這裡. 資料夾裡的檔案有:
ex.m
example1.m example4.m lp_maker.m mxlpsolve.dll
example2.m example5.m lp_solve.m mxlpsolve.m
example3.m example6.m lpdemo.m mxlpsolve.mexw32
* 接著打開matlab, 設定環境變數. File -> Set Path, 然後把剛剛的 C:\Program Files\MATLAB\$your_version$\toolbox\lp_solve 放進去
* 在matlab終端機直接打 lp_maker 和 lp_solve 都可以看到正常訊息
* 可是我打 mxlpsolve 一直都跑出警告訊息, 囧~~~~ 後來看了一下mxlpsolve.m的檔案, 裡面都只有display的程式碼, 我也不知道我看到這些警告訊息是不是正常 orz
後來查到別人的心得: http://www.cnblogs.com/kane1990/p/3428129.html
就照他的程式碼跑了一下, 然後發現似乎可以求解!?
f = [4 2 1];
A = [2 1 0; 1 0 2; 1 1 1];
b = [1; 2; 1];
l = [ 0 0 0];
u = [ 1 1 2];
lp=mxlpsolve('make_lp', 1, 3);
mxlpsolve('set_verbose', lp, 3);
mxlpsolve('set_obj_fn', lp, f);
mxlpsolve('add_constraint', lp, A(1, :), 1, b(1));
mxlpsolve('add_constraint', lp, A(2, :), 1, b(2));
mxlpsolve('add_constraint', lp, A(3, :), 0, b(3));
mxlpsolve('set_lowbo', lp, l);
mxlpsolve('set_upbo', lp, u);
mxlpsolve('write_lp', lp, 'a.lp');
mxlpsolve('get_mat', lp, 1, 2)
mxlpsolve('solve', lp)
mxlpsolve('get_objective', lp)
mxlpsolve('get_variables', lp)
mxlpsolve('get_constraints', lp)
就姑且相信這樣的安裝流程是對的吧 XDDDD
------------------------------------------------------------------
補充:
後來在win7(64bit)的電腦上用同樣的步驟去複製檔案, 結果執行 mxlpsolve 完全沒有錯誤訊息 XD......
(這邊只針對windows做記錄, linux的matlab我之前好像裝不起來 orz.....)
官方說明:
http://lpsolve.sourceforge.net/5.5/MATLAB.htm
其他說明 & 相關心得
http://www.cnblogs.com/kane1990/p/3428129.html
http://www.cnblogs.com/kane1990/RecentComments.html
-------------------------------
先去sourceforge下載相關檔案
http://sourceforge.net/projects/lpsolve/files/lpsolve/5.5.2.0/
* lp_solve_5.5.2.0_MATLAB_exe_win32
* lp_solve_5.5.2.0_dev_win32
下載列表也有64位元的, 稍微瞄一下應該都找的到
* lp_solve_5.5.2.0_dev_win32.zip解壓縮, 進去資料夾, 把 lpsolve55.dll 複製到 C:\WINDOWS\system32
- 我還在用XP. XD
* lp_solve_5.5.2.0_MATLAB_exe_win32.zip解壓縮, 裡面還有一個bin/win32的資料夾, 把裡面的mxlpsolve.dll和mxlpsolve.mexw32複製到跟mxlpsolve.m同一層資料夾
我的做法是, 在C:\Program Files\MATLAB\$your_version$\toolbox裡面多開一個 lp_solve 資料夾, 然後把這些檔案複製到這裡. 資料夾裡的檔案有:
ex.m
example1.m example4.m lp_maker.m mxlpsolve.dll
example2.m example5.m lp_solve.m mxlpsolve.m
example3.m example6.m lpdemo.m mxlpsolve.mexw32
* 接著打開matlab, 設定環境變數. File -> Set Path, 然後把剛剛的 C:\Program Files\MATLAB\$your_version$\toolbox\lp_solve 放進去
* 在matlab終端機直接打 lp_maker 和 lp_solve 都可以看到正常訊息
* 可是我打 mxlpsolve 一直都跑出警告訊息, 囧~~~~ 後來看了一下mxlpsolve.m的檔案, 裡面都只有display的程式碼, 我也不知道我看到這些警告訊息是不是正常 orz
後來查到別人的心得: http://www.cnblogs.com/kane1990/p/3428129.html
就照他的程式碼跑了一下, 然後發現似乎可以求解!?
f = [4 2 1];
A = [2 1 0; 1 0 2; 1 1 1];
b = [1; 2; 1];
l = [ 0 0 0];
u = [ 1 1 2];
lp=mxlpsolve('make_lp', 1, 3);
mxlpsolve('set_verbose', lp, 3);
mxlpsolve('set_obj_fn', lp, f);
mxlpsolve('add_constraint', lp, A(1, :), 1, b(1));
mxlpsolve('add_constraint', lp, A(2, :), 1, b(2));
mxlpsolve('add_constraint', lp, A(3, :), 0, b(3));
mxlpsolve('set_lowbo', lp, l);
mxlpsolve('set_upbo', lp, u);
mxlpsolve('write_lp', lp, 'a.lp');
mxlpsolve('get_mat', lp, 1, 2)
mxlpsolve('solve', lp)
mxlpsolve('get_objective', lp)
mxlpsolve('get_variables', lp)
mxlpsolve('get_constraints', lp)
就姑且相信這樣的安裝流程是對的吧 XDDDD
------------------------------------------------------------------
補充:
後來在win7(64bit)的電腦上用同樣的步驟去複製檔案, 結果執行 mxlpsolve 完全沒有錯誤訊息 XD......
訂閱:
文章 (Atom)