我使用以下代码从MATLAB中的文件中读取。
A=textread('A.txt');
B=textread('B.txt');
F=textread('F.txt');
LB=textread('LB.txt');
options = optimset('LargeScale','off','Simplex','on');
disp('Main Solution')
[X,fval,exitflag,output,lambda] = linprog(-F,A,B,[],[],LB,[],[],options);
-fval
exitflag
output
文件中的实际数据如下图所示:
但MATLAB读取如下:
为什么?有什么问题吗 ?第一个数据是1674.25,但MATLAB读取的数据与0.1665相同。为什么?
答案 0 :(得分:2)
如果你仔细观察,你会发现F显示为
1.0e+004 *
...
...
表示列中的所有值实际上都乘以10000因子。因此0.1665 * 10000 = 1665,约为1674.25。
NB1: Mathworks建议textscan()
代替textread()
;
NB2:要立即从控制台反馈问题,请在命令窗口中尝试标准命令why
。