日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

lingo入门教程之三 --- 文件数据处理

發(fā)布時(shí)間:2023/12/31 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 lingo入门教程之三 --- 文件数据处理 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

有時(shí)候我們想輸入的數(shù)據(jù)是在一個(gè)Excel表格或者其他什么形式中,或者說這里數(shù)據(jù)是實(shí)時(shí)變化的并不利于直接在程序中輸入,耳而應(yīng)該在程序之外將數(shù)據(jù)存儲(chǔ),實(shí)現(xiàn)數(shù)據(jù)與程序的分離存儲(chǔ),這個(gè)時(shí)候就涉及到程序與數(shù)據(jù)之間的傳遞

下面簡要介紹一個(gè)如何進(jìn)行數(shù)據(jù)與程序之間的傳遞

下面的講解都是基于如下的問題模型

有個(gè)城市都需要采購一定量的物品,但每個(gè)城市只允許在自身所在的城市采購,城市i的最低需求量為need(i),最大供應(yīng)量為supply(i),單件采購成本為cost(i),如何采購總成本最小?

模型:設(shè)order(i)為城市i的采購量,則問題的數(shù)學(xué)模型為

1.直接粘貼復(fù)制

開始的程序

model: sets: cities/!待輸入的數(shù)據(jù)個(gè)數(shù);/:cost,need,supply,order; endsets min=@sum(cities:cost*order); @for(cities:need<=order;order<=supply); data: cost,need,supply=!待輸入的數(shù)據(jù)值;; enddata end
直接利用把存儲(chǔ)在Excel或者其他什么地方的數(shù)據(jù)復(fù)制粘貼過來,這里需要注意lingo里面的復(fù)制是按列進(jìn)行的(這里在前面已經(jīng)講過),不注意的話可能會(huì)發(fā)生數(shù)據(jù)賦值的錯(cuò)亂

粘貼的選項(xiàng)

可以依次試一下上面的不同粘貼格式的效果

下面是我直接在Excel中Ctrl+C與Ctrl+V實(shí)現(xiàn)的

model: sets: cities/ Seattle Detroit Chicago Denver /:cost,need,supply,order; endsets min=@sum(cities:cost*order); @for(cities:need<=order;order<=supply); data: cost,need,supply= 12 1600 1700 28 1800 1900 15 1200 1300 20 1000 1100 ; enddata end
2.讀取ldt數(shù)據(jù)文件:@file(數(shù)據(jù)文件名); 這里默認(rèn)數(shù)據(jù)文件與程序文件在同一子目錄下面,否則找不到數(shù)據(jù)文件而報(bào)錯(cuò) model: sets: cities/@file(數(shù)據(jù)文件.ldt)/:@file(數(shù)據(jù)文件.ldt); endsets min=@sum(cities:cost*order); @for(cities:need<=order;order<=supply); data: cost=@file(數(shù)據(jù)文件.ldt); need=@file(數(shù)據(jù)文件.ldt); supply=@file(數(shù)據(jù)文件.ldt); enddata end

如果路徑不一致,也可以手動(dòng)添加,Edit --> insert new object...


應(yīng)當(dāng)注意此時(shí)的文件類型的ldt格式,

具體里面內(nèi)容:Seattle,Detroit,Chicago,Denver~cost,need,supply,order~12,28,15,20~1600,1800,1200,1000~1700,1900,1300,1100 注意中間的不同賦值用~間隔


3.存取Excel數(shù)據(jù)文件:@ole(文件名,元素名);

model: sets: cities/@ole('原始數(shù)據(jù)1.xls','cities')/:cost,need,supply,order; endsets min=@sum(cities:cost*order); @for(cities:need<=order;order<=supply); data: cost,need,supply=@ole('原始數(shù)據(jù)1.xls'); !讀取數(shù)據(jù)文件 @ole('原始數(shù)據(jù)1.xls','order')=order; !將計(jì)算結(jié)果存入表格中 enddata end

對(duì)于路徑不一致的情況解決方式與上述一樣



總結(jié)

以上是生活随笔為你收集整理的lingo入门教程之三 --- 文件数据处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。